(* Forward lemmas with sort-irrelevant outer equivalence for terms **********)
lemma cpxs_fwd_sort (G) (L):
- â\88\80X2,s1. â\9dªG,Lâ\9d« ⊢ ⋆s1 ⬈* X2 → ⋆s1 ~ X2.
+ â\88\80X2,s1. â\9d¨G,Lâ\9d© ⊢ ⋆s1 ⬈* X2 → ⋆s1 ~ X2.
#G #L #X2 #s1 #H
elim (cpxs_inv_sort1 … H) -H #s2 #H destruct //
qed-.
lemma cpxs_fwd_delta_drops (I) (G) (L) (K):
∀V1,i. ⇩[i] L ≘ K.ⓑ[I]V1 →
∀V2. ⇧[↑i] V1 ≘ V2 →
- â\88\80X2. â\9dªG,Lâ\9d« ⊢ #i ⬈* X2 →
- â\88¨â\88¨ #i ~ X2 | â\9dªG,Lâ\9d« ⊢ V2 ⬈* X2.
+ â\88\80X2. â\9d¨G,Lâ\9d© ⊢ #i ⬈* X2 →
+ â\88¨â\88¨ #i ~ X2 | â\9d¨G,Lâ\9d© ⊢ V2 ⬈* X2.
#I #G #L #K #V1 #i #HLK #V2 #HV12 #X2 #H
elim (cpxs_inv_lref1_drops … H) -H /2 width=1 by or_introl/
* #I0 #K0 #V0 #U0 #HLK0 #HVU0 #HU0
(* Basic_1: was just: pr3_iso_beta *)
lemma cpxs_fwd_beta (p) (G) (L):
- â\88\80V,W,T,X2. â\9dªG,Lâ\9d« ⊢ ⓐV.ⓛ[p]W.T ⬈* X2 →
- â\88¨â\88¨ â\93\90V.â\93\9b[p]W.T ~ X2 | â\9dªG,Lâ\9d« ⊢ ⓓ[p]ⓝW.V.T ⬈* X2.
+ â\88\80V,W,T,X2. â\9d¨G,Lâ\9d© ⊢ ⓐV.ⓛ[p]W.T ⬈* X2 →
+ â\88¨â\88¨ â\93\90V.â\93\9b[p]W.T ~ X2 | â\9d¨G,Lâ\9d© ⊢ ⓓ[p]ⓝW.V.T ⬈* X2.
#p #G #L #V #W #T #X2 #H elim (cpxs_inv_appl1 … H) -H *
[ #V0 #T0 #_ #_ #H destruct /2 width=1 by teqo_pair, or_introl/
| #b #W0 #T0 #HT0 #HU
qed-.
lemma cpxs_fwd_theta (p) (G) (L):
- â\88\80V1,V,T,X2. â\9dªG,Lâ\9d« ⊢ ⓐV1.ⓓ[p]V.T ⬈* X2 →
+ â\88\80V1,V,T,X2. â\9d¨G,Lâ\9d© ⊢ ⓐV1.ⓓ[p]V.T ⬈* X2 →
∀V2. ⇧[1] V1 ≘ V2 →
- â\88¨â\88¨ â\93\90V1.â\93\93[p]V.T ~ X2 | â\9dªG,Lâ\9d« ⊢ ⓓ[p]V.ⓐV2.T ⬈* X2.
+ â\88¨â\88¨ â\93\90V1.â\93\93[p]V.T ~ X2 | â\9d¨G,Lâ\9d© ⊢ ⓓ[p]V.ⓐV2.T ⬈* X2.
#p #G #L #V1 #V #T #X2 #H #V2 #HV12
elim (cpxs_inv_appl1 … H) -H *
[ -HV12 #V0 #T0 #_ #_ #H destruct /2 width=1 by teqo_pair, or_introl/
qed-.
lemma cpxs_fwd_cast (G) (L):
- â\88\80W,T,X2. â\9dªG,Lâ\9d« ⊢ ⓝW.T ⬈* X2 →
- â\88¨â\88¨ â\93\9dW. T ~ X2 | â\9dªG,Lâ\9d« â\8a¢ T â¬\88* X2 | â\9dªG,Lâ\9d« ⊢ W ⬈* X2.
+ â\88\80W,T,X2. â\9d¨G,Lâ\9d© ⊢ ⓝW.T ⬈* X2 →
+ â\88¨â\88¨ â\93\9dW. T ~ X2 | â\9d¨G,Lâ\9d© â\8a¢ T â¬\88* X2 | â\9d¨G,Lâ\9d© ⊢ W ⬈* X2.
#G #L #W #T #X2 #H
elim (cpxs_inv_cast1 … H) -H /2 width=1 by or3_intro1, or3_intro2/ *
#W0 #T0 #_ #_ #H destruct /2 width=1 by teqo_pair, or3_intro0/
qed-.
lemma cpxs_fwd_cnx (G) (L):
- â\88\80T1. â\9dªG,Lâ\9d« ⊢ ⬈𝐍 T1 →
- â\88\80X2. â\9dªG,Lâ\9d« ⊢ T1 ⬈* X2 → T1 ~ X2.
+ â\88\80T1. â\9d¨G,Lâ\9d© ⊢ ⬈𝐍 T1 →
+ â\88\80X2. â\9d¨G,Lâ\9d© ⊢ T1 ⬈* X2 → T1 ~ X2.
/3 width=5 by cpxs_inv_cnx1, teqg_teqo/ qed-.