Skip to content

Commit

Permalink
Define tail-recursive, guard-less unify function; show it correct
Browse files Browse the repository at this point in the history
  • Loading branch information
mn200 committed Nov 28, 2023
1 parent 33c555b commit 1a1f92b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -768,4 +768,18 @@ Theorem tunifywl_thm =
sum_CASE_COND, sum_CASE_pair_CASE]
|> SRULE[GSYM tunifywl_def]

Theorem tunify_correct =
kunify_cleaned
|> SRULE [GSYM tunifywl_def, FORALL_PROD, kunifywl_def]
|> Q.SPECL [‘s’, ‘[(t1,t2)]’]
|> SRULE[GSYM abs_EQ_apply_unifkont, dfkunify_def, kunify_def,
cwc_def]
|> SRULE[apply_unifkont_thm, sunify_def]
|> Q.INST [‘s’ |-> ‘fm2sp σ’]
|> SRULE[swfs_def]
|> UNDISCH
|> Q.AP_TERM ‘OPTION_MAP sp2fm’
|> SRULE[OPTION_MAP_COMPOSE, combinTheory.o_DEF]
|> DISCH_ALL

val _ = export_theory();
2 changes: 1 addition & 1 deletion src/parallel_builds/core/Holmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ INCLUDES += ../../tfl/examples $(patsubst %,../../quotient/%,$(QUOTDIRS)) \
ifneq($(HOLSELFTESTLEVEL),1)
EX2DIRS = AKS algebra algorithms/boyer_moore \
algorithms/unification/triangular/nominal \
algorithms/unification/triangular/first-order \
algorithms/unification/triangular/first-order/compilation \
arm/arm6-verification/correctness \
arm/v4 arm/v7 \
balanced_bst \
Expand Down

0 comments on commit 1a1f92b

Please sign in to comment.