[lambda] full version of subtree_equiv_lemma (agree_upto_lemma) #1367
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
This PR follows #1354 and finally formalized the full proof of the "agree upto lemma" (Lemma 10.3.11 of [1. p.251]). But now I have modified the theorem statements into a more primitive form without directly using
agree_upto
, thus the theorem has been renamed tosubtree_equiv_lemma
(this single proof now has 3650+ lines):As the size of
boehmScript.sml
has reached more than 9k lines and the theory building took about two minutes in my laptop. To prevent repeatedly building existing long proofs, now I have started a new filecompleteScript.sml
(perhaps a better name should be used) and moved all previous code after the big proof to the new file, where you find the previousagree_upto_lemma
:Note that there's
subtree_equiv'
vssubtree_equiv'
in the statements. The key difference is at the underlyinghead_equivalent
vshead_equivalent'
:The variant
head_equivalent'
(and thus alsosubtree_equiv'
) does not considery1 = y2
. I found this modification is necessary to obtain the full proof of the big lemma, otherwise I can show that it's unprovable. So far I don't know if the final completeness theorem will be affected by this finding.--Chun
[1] Barendregt, H.P.: The lambda calculus, its syntax and semantics.
College Publications, London (1984).