Add structural rule for ctx equivalence
This commit is contained in:
parent
db911cff36
commit
1258ac263c
1 changed files with 25 additions and 1 deletions
|
@ -814,6 +814,28 @@ Proof.
|
||||||
hauto l:on use: DJoin.substing.
|
hauto l:on use: DJoin.substing.
|
||||||
Qed.
|
Qed.
|
||||||
|
|
||||||
|
Lemma Γ_eq_refl n (Γ : fin n -> PTm n) :
|
||||||
|
Γ_eq Γ Γ.
|
||||||
|
Proof. sfirstorder use:DJoin.refl. Qed.
|
||||||
|
|
||||||
|
Lemma Γ_eq_cons n (Γ Δ : fin n -> PTm n) A B :
|
||||||
|
DJoin.R A B ->
|
||||||
|
Γ_eq Γ Δ ->
|
||||||
|
Γ_eq (funcomp (ren_PTm shift) (scons A Γ)) (funcomp (ren_PTm shift) (scons B Δ)).
|
||||||
|
Proof.
|
||||||
|
move => h h0.
|
||||||
|
move => i.
|
||||||
|
destruct i as [i|].
|
||||||
|
rewrite /funcomp. substify. apply DJoin.substing. by asimpl.
|
||||||
|
rewrite /funcomp.
|
||||||
|
asimpl. substify. apply DJoin.substing. by asimpl.
|
||||||
|
Qed.
|
||||||
|
|
||||||
|
Lemma Γ_eq_cons' n (Γ : fin n -> PTm n) A B :
|
||||||
|
DJoin.R A B ->
|
||||||
|
Γ_eq (funcomp (ren_PTm shift) (scons A Γ)) (funcomp (ren_PTm shift) (scons B Γ)).
|
||||||
|
Proof. eauto using Γ_eq_refl ,Γ_eq_cons. Qed.
|
||||||
|
|
||||||
Lemma SE_Bind n Γ i j p (A0 A1 : PTm n) B0 B1 :
|
Lemma SE_Bind n Γ i j p (A0 A1 : PTm n) B0 B1 :
|
||||||
⊨ Γ ->
|
⊨ Γ ->
|
||||||
Γ ⊨ A0 ≡ A1 ∈ PUniv i ->
|
Γ ⊨ A0 ≡ A1 ∈ PUniv i ->
|
||||||
|
@ -824,11 +846,13 @@ Proof.
|
||||||
apply SemEq_SemWt in hA, hB.
|
apply SemEq_SemWt in hA, hB.
|
||||||
apply SemWt_SemEq; last by hauto l:on use:DJoin.BindCong.
|
apply SemWt_SemEq; last by hauto l:on use:DJoin.BindCong.
|
||||||
hauto l:on use:ST_Bind.
|
hauto l:on use:ST_Bind.
|
||||||
|
|
||||||
apply ST_Bind; first by tauto.
|
apply ST_Bind; first by tauto.
|
||||||
have hΓ' : ⊨ funcomp (ren_PTm shift) (scons A1 Γ) by hauto l:on use:SemWff_cons.
|
have hΓ' : ⊨ funcomp (ren_PTm shift) (scons A1 Γ) by hauto l:on use:SemWff_cons.
|
||||||
move => ρ hρ.
|
move => ρ hρ.
|
||||||
suff : ρ_ok (funcomp (ren_PTm shift) (scons A0 Γ)) ρ by hauto l:on.
|
suff : ρ_ok (funcomp (ren_PTm shift) (scons A0 Γ)) ρ by hauto l:on.
|
||||||
|
move : Γ_eq_ρ_ok hΓ' hρ; repeat move/[apply]. apply.
|
||||||
|
|
||||||
|
|
||||||
best use:
|
best use:
|
||||||
move => j0 k PA.
|
move => j0 k PA.
|
||||||
destruct j0 as [j0|].
|
destruct j0 as [j0|].
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue