Continued developments up to Separability Lemma [Barendregt 1984, p.254] #1167
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 continues the formal developments under
examples/lambda
, up to the concept of Böhm transformations and then the following (two) Separability Lemmas (to be used by the target completeness theorem):The main work is added as a new theory file under
examples/lambda/barendregt
which does not depend onpure_dBTheory
(in.../other-models
), as now it seems possible that the entire work can be done without using de Brujin encoding of lambda terms.The present stage work shows that the rather long definition of the above "equivalence" (its dB version is slightly shorter) can be handled in practice:
The concept "equivalent" has a big definition body:
This is mainly due to the following new variant of
hnf_cases
sharing the binding variable list among different hnfs:where
LAMl_size
returns the levels of toplevel abstracts for any term:There are many other small additions here and there, hard to describe them all. In particular, the following
FRESH_list
has been promoted fromstandarisationTheory
totermTheory
as a function. Now it plays an important role in setting up a shared binding variable list for all hnfs involved in the same proof: (NOTE: it can be further moved tobasic_swapTheory
but I thinktermTheory
is already early enough).Besides, in
relationTheory
now we haveRINSERT R x y
for inserting one more pair of elements (x,y) into an existing relation R.--Chun