aboutsummaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorThomas Bauereiss <tb592@cl.cam.ac.uk>2019-11-25 17:58:26 +0000
committerThomas Bauereiss <tb592@cl.cam.ac.uk>2019-11-25 17:58:26 +0000
commit09acf70118de41e04dab37977daae56c6349dfec (patch)
tree8a6236f39fef06314676693d845176b279595943 /Makefile
parent1a653fc6207b8cb20204af6b2ccabab48a020945 (diff)
downloadsail-riscv-09acf70118de41e04dab37977daae56c6349dfec.zip
sail-riscv-09acf70118de41e04dab37977daae56c6349dfec.tar.gz
sail-riscv-09acf70118de41e04dab37977daae56c6349dfec.tar.bz2
Work around Isabelle problem in PTW functions
The standard pattern completeness proof for recursive functions generated by Lem for Isabelle seems to get confused in some situations when there are variables with unit type (in particular the ext_ptw argument of the page table walk functions). Solving this properly requires some more digging into the Isabelle simplifier, but the ad-hoc workaround in this commit fixes the problem for now.
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile1
1 files changed, 1 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index ff78906..04fc9fe 100644
--- a/Makefile
+++ b/Makefile
@@ -255,6 +255,7 @@ generated_definitions/isabelle/$(ARCH)/Riscv.thy: generated_definitions/isabelle
generated_definitions/lem/$(ARCH)/riscv.lem
sed -i 's/datatype ast/datatype (plugins only: size) ast/' generated_definitions/isabelle/$(ARCH)/Riscv_types.thy
sed -i "s/record( 'asidlen, 'valen, 'palen, 'ptelen) TLB_Entry/record (overloaded) ( 'asidlen, 'valen, 'palen, 'ptelen) TLB_Entry/" generated_definitions/isabelle/$(ARCH)/Riscv_types.thy
+ sed -i "s/by pat_completeness auto/by pat_completeness (auto intro!: let_cong bind_cong MemoryOpResult.case_cong)/" generated_definitions/isabelle/$(ARCH)/Riscv.thy
generated_definitions/hol4/$(ARCH)/Holmakefile: handwritten_support/Holmakefile
mkdir -p generated_definitions/hol4/$(ARCH)