prove typing preservation of morphism translation
This commit is contained in:
parent
236d6d9c09
commit
f0d9a550b6
4 changed files with 286 additions and 1 deletions
coq/lemmas
29
coq/lemmas/typing_weakening.v
Normal file
29
coq/lemmas/typing_weakening.v
Normal file
|
@ -0,0 +1,29 @@
|
|||
From Coq Require Import Lists.List.
|
||||
Require Import Atom.
|
||||
Require Import Environment.
|
||||
Require Import Metatheory.
|
||||
Require Import debruijn.
|
||||
Require Import subtype.
|
||||
Require Import env.
|
||||
Require Import morph.
|
||||
Require Import typing.
|
||||
|
||||
Lemma typing_weakening_strengthened : forall Γ1 Γ2 Γ3 e τ,
|
||||
((Γ1 ++ Γ3) |- e \is τ) ->
|
||||
(env_wf (Γ1 ++ Γ2 ++ Γ3)) ->
|
||||
((Γ1 ++ Γ2 ++ Γ3) |- e \is τ).
|
||||
Proof.
|
||||
intros.
|
||||
Admitted.
|
||||
|
||||
Lemma typing_weakening : forall Γ Γ' e τ,
|
||||
(Γ |- e \is τ) ->
|
||||
(env_wf (Γ' ++ Γ)) ->
|
||||
((Γ' ++ Γ) |- e \is τ).
|
||||
Proof.
|
||||
intros Γ Γ' e τ H.
|
||||
rewrite <- (nil_concat _ (Γ' ++ Γ)).
|
||||
apply typing_weakening_strengthened.
|
||||
assumption.
|
||||
Qed.
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue