added general lemmas for strong normalization of untyped lambda terms…#327
Draft
WegmannDavid wants to merge 1 commit intoleanprover:mainfrom
Draft
added general lemmas for strong normalization of untyped lambda terms…#327WegmannDavid wants to merge 1 commit intoleanprover:mainfrom
WegmannDavid wants to merge 1 commit intoleanprover:mainfrom
Conversation
… and a partially complete proof for strong norm of stlc
|
sn_app is relatively straight forward lemma sn_app (t s : Term Var) :
SN t →
SN s →
(∀ {t' s' : Term Var}, t ↠βᶠ t'.abs → s ↠βᶠ s' → SN (t' ^ s')) →
SN (t.app s) := by
intro h_sn_t h_sn_s hβ
induction h_sn_t generalizing s with | sn t ht ih_t =>
induction h_sn_s with | sn s hs ih_s =>
constructor
intro u hstep
cases hstep with
| beta _ _ => apply hβ <;> rfl
| appL _ h_s_red =>
apply ih_s _ h_s_red
intro t' s'' hstep1 hstep2
exact hβ hstep1 (Relation.ReflTransGen.head h_s_red hstep2)
| appR _ h_t_red =>
apply ih_t _ h_t_red _ (SN.sn s hs)
intro t' s' hstep1 hstep2
exact hβ (Relation.ReflTransGen.head h_t_red hstep1) hstep2
``` |
chenson2018
reviewed
Feb 9, 2026
| rw[ih_l H.1] | ||
| rw[ih_r H.2] | ||
|
|
||
| lemma swap_subst_fresh (M N P : Term Var) (x y : Var) : |
Collaborator
There was a problem hiding this comment.
Is this meant to have some extra hypothesis? It is not true in general as is.
Author
There was a problem hiding this comment.
Yes, this will require another hypothesis, but I was holding that off until later, I am not yet sure exactly how this hypothesis is best formulated. Maybe I should have put in some blank.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
… and a partially complete proof for strong norm of stlc