Simplified type-soundness proof, based on an idea by Maya Sankar last year

This commit is contained in:
Adam Chlipala 2021-03-27 17:15:22 -04:00
parent 5cdd4d1322
commit 008c45351a

View file

@ -186,17 +186,18 @@ Module Stlc.
Local Hint Resolve preservation0 : core.
Lemma generalize_plug : forall e1 C e1',
plug C e1 e1'
-> forall e2 e2', plug C e2 e2'
-> (forall t, hasty $0 e1 t -> hasty $0 e2 t)
-> (forall t, hasty $0 e1' t -> hasty $0 e2' t).
Lemma preservation' : forall C e1 e1',
plug C e1 e1'
-> forall e2 e2' t, plug C e2 e2'
-> step0 e1 e2
-> hasty $0 e1' t
-> hasty $0 e2' t.
Proof.
induct 1; t.
Qed.
Local Hint Resolve generalize_plug : core.
Local Hint Resolve preservation' : core.
Lemma preservation : forall e1 e2,
step e1 e2
-> forall t, hasty $0 e1 t