inductive ltpr: relation lenv ≝
| ltpr_stom: ltpr (⋆) (⋆)
| ltpr_pair: ∀K1,K2,I,V1,V2.
- ltpr K1 K2 â\86\92 V1 â\87\92 V2 → ltpr (K1. 𝕓{I} V1) (K2. 𝕓{I} V2) (*𝕓*)
+ ltpr K1 K2 â\86\92 V1 â\9e¡ V2 → ltpr (K1. 𝕓{I} V1) (K2. 𝕓{I} V2) (*𝕓*)
.
interpretation
(* Basic properties *********************************************************)
-lemma ltpr_refl: â\88\80L:lenv. L â\87\92 L.
+lemma ltpr_refl: â\88\80L:lenv. L â\9e¡ L.
#L elim L -L // /2 width=1/
qed.
(* Basic inversion lemmas ***************************************************)
-fact ltpr_inv_atom1_aux: â\88\80L1,L2. L1 â\87\92 L2 → L1 = ⋆ → L2 = ⋆.
+fact ltpr_inv_atom1_aux: â\88\80L1,L2. L1 â\9e¡ L2 → L1 = ⋆ → L2 = ⋆.
#L1 #L2 * -L1 -L2
[ //
| #K1 #K2 #I #V1 #V2 #_ #_ #H destruct
qed.
(* Basic_1: was: wcpr0_gen_sort *)
-lemma ltpr_inv_atom1: â\88\80L2. â\8b\86 â\87\92 L2 → L2 = ⋆.
+lemma ltpr_inv_atom1: â\88\80L2. â\8b\86 â\9e¡ L2 → L2 = ⋆.
/2 width=3/ qed-.
-fact ltpr_inv_pair1_aux: â\88\80L1,L2. L1 â\87\92 L2 → ∀K1,I,V1. L1 = K1. 𝕓{I} V1 →
- â\88\83â\88\83K2,V2. K1 â\87\92 K2 & V1 â\87\92 V2 & L2 = K2. 𝕓{I} V2.
+fact ltpr_inv_pair1_aux: â\88\80L1,L2. L1 â\9e¡ L2 → ∀K1,I,V1. L1 = K1. 𝕓{I} V1 →
+ â\88\83â\88\83K2,V2. K1 â\9e¡ K2 & V1 â\9e¡ V2 & L2 = K2. 𝕓{I} V2.
#L1 #L2 * -L1 -L2
[ #K1 #I #V1 #H destruct
| #K1 #K2 #I #V1 #V2 #HK12 #HV12 #L #J #W #H destruct /2 width=5/
qed.
(* Basic_1: was: wcpr0_gen_head *)
-lemma ltpr_inv_pair1: â\88\80K1,I,V1,L2. K1. ð\9d\95\93{I} V1 â\87\92 L2 →
- â\88\83â\88\83K2,V2. K1 â\87\92 K2 & V1 â\87\92 V2 & L2 = K2. 𝕓{I} V2.
+lemma ltpr_inv_pair1: â\88\80K1,I,V1,L2. K1. ð\9d\95\93{I} V1 â\9e¡ L2 →
+ â\88\83â\88\83K2,V2. K1 â\9e¡ K2 & V1 â\9e¡ V2 & L2 = K2. 𝕓{I} V2.
/2 width=3/ qed-.
-fact ltpr_inv_atom2_aux: â\88\80L1,L2. L1 â\87\92 L2 → L2 = ⋆ → L1 = ⋆.
+fact ltpr_inv_atom2_aux: â\88\80L1,L2. L1 â\9e¡ L2 → L2 = ⋆ → L1 = ⋆.
#L1 #L2 * -L1 -L2
[ //
| #K1 #K2 #I #V1 #V2 #_ #_ #H destruct
]
qed.
-lemma ltpr_inv_atom2: â\88\80L1. L1 â\87\92 ⋆ → L1 = ⋆.
+lemma ltpr_inv_atom2: â\88\80L1. L1 â\9e¡ ⋆ → L1 = ⋆.
/2 width=3/ qed-.
-fact ltpr_inv_pair2_aux: â\88\80L1,L2. L1 â\87\92 L2 → ∀K2,I,V2. L2 = K2. 𝕓{I} V2 →
- â\88\83â\88\83K1,V1. K1 â\87\92 K2 & V1 â\87\92 V2 & L1 = K1. 𝕓{I} V1.
+fact ltpr_inv_pair2_aux: â\88\80L1,L2. L1 â\9e¡ L2 → ∀K2,I,V2. L2 = K2. 𝕓{I} V2 →
+ â\88\83â\88\83K1,V1. K1 â\9e¡ K2 & V1 â\9e¡ V2 & L1 = K1. 𝕓{I} V1.
#L1 #L2 * -L1 -L2
[ #K2 #I #V2 #H destruct
| #K1 #K2 #I #V1 #V2 #HK12 #HV12 #K #J #W #H destruct /2 width=5/
]
qed.
-lemma ltpr_inv_pair2: â\88\80L1,K2,I,V2. L1 â\87\92 K2. 𝕓{I} V2 →
- â\88\83â\88\83K1,V1. K1 â\87\92 K2 & V1 â\87\92 V2 & L1 = K1. 𝕓{I} V1.
+lemma ltpr_inv_pair2: â\88\80L1,K2,I,V2. L1 â\9e¡ K2. 𝕓{I} V2 →
+ â\88\83â\88\83K1,V1. K1 â\9e¡ K2 & V1 â\9e¡ V2 & L1 = K1. 𝕓{I} V1.
/2 width=3/ qed-.
(* Basic forward lemmas *****************************************************)
-lemma ltpr_fwd_length: â\88\80L1,L2. L1 â\87\92 L2 → |L1| = |L2|.
+lemma ltpr_fwd_length: â\88\80L1,L2. L1 â\9e¡ L2 → |L1| = |L2|.
#L1 #L2 #H elim H -L1 -L2 normalize //
qed-.