prove typing preservation of morphism translation

This commit is contained in:
Michael Sippel 2024-09-22 15:57:15 +02:00
parent 236d6d9c09
commit f0d9a550b6
4 changed files with 286 additions and 1 deletions

View 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.