29 lines
680 B
Coq
29 lines
680 B
Coq
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.
|
|
|