completed soundness
This commit is contained in:
parent
32307b9e4b
commit
728e54cc83
1 changed files with 1 additions and 14 deletions
|
@ -620,7 +620,7 @@ Soundness′ : ∀ {M N A} → ∅ ⊢ M ∶ A → M ⟹* N → ¬ (Stuck N)
|
||||||
Soundness′ ⊢M (M ∎) (¬M⟹N , ¬ValueM) with progress ⊢M
|
Soundness′ ⊢M (M ∎) (¬M⟹N , ¬ValueM) with progress ⊢M
|
||||||
... | steps M⟹N = ¬M⟹N M⟹N
|
... | steps M⟹N = ¬M⟹N M⟹N
|
||||||
... | done ValueM = ¬ValueM ValueM
|
... | done ValueM = ¬ValueM ValueM
|
||||||
Soundness′ {L} {N} {A} ⊢L (_⟹⟨_⟩_ .L {M} {.N} L⟹M M⟹*N) = {!Soundness′!}
|
Soundness′ {L} {N} {A} ⊢L (_⟹⟨_⟩_ .L {M} {.N} L⟹M M⟹*N) = Soundness′ ⊢M M⟹*N
|
||||||
where
|
where
|
||||||
⊢M : ∅ ⊢ M ∶ A
|
⊢M : ∅ ⊢ M ∶ A
|
||||||
⊢M = preservation ⊢L L⟹M
|
⊢M = preservation ⊢L L⟹M
|
||||||
|
@ -628,19 +628,6 @@ Soundness′ {L} {N} {A} ⊢L (_⟹⟨_⟩_ .L {M} {.N} L⟹M M⟹*N) = {!Soundn
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
Definition stuck (t:tm) : Prop :=
|
|
||||||
(normal_form step) t /\ ~ Value t.
|
|
||||||
|
|
||||||
Corollary soundness : forall t t' T,
|
|
||||||
empty \vdash t : T →
|
|
||||||
t ==>* t' →
|
|
||||||
~(stuck t').
|
|
||||||
Proof.
|
|
||||||
intros t t' T Hhas_type Hmulti. unfold stuck.
|
|
||||||
intros `Hnf Hnot_val`. unfold normal_form in Hnf.
|
|
||||||
induction Hmulti.
|
|
||||||
|
|
||||||
|
|
||||||
## Uniqueness of Types
|
## Uniqueness of Types
|
||||||
|
|
||||||
#### Exercise: 3 stars (types_unique)
|
#### Exercise: 3 stars (types_unique)
|
||||||
|
|
Loading…
Reference in a new issue