]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambda_delta/Basic_2/reducibility/cpr.ma
closure property S4 added to abstract candidates of reducibility ...
[helm.git] / matita / matita / contribs / lambda_delta / Basic_2 / reducibility / cpr.ma
index 3b05c3ea67fc63945a79c43fadb64a421065c9f6..bcc50fa6e8f6c68e464b831a7f39a5f51250e2c2 100644 (file)
@@ -20,7 +20,7 @@ include "Basic_2/reducibility/tpr.ma".
 
 (* Basic_1: includes: pr2_delta1 *)
 definition cpr: lenv → relation term ≝
-   Î»L,T1,T2. â\88\83â\88\83T. T1 â\87\92 T & L â\8a¢ T [0, |L|] â\89«* T2.
+   Î»L,T1,T2. â\88\83â\88\83T. T1 â\9e¡ T & L â\8a¢ T [0, |L|] â\96* T2.
 
 interpretation
    "context-sensitive parallel reduction (term)"
@@ -29,31 +29,31 @@ interpretation
 (* Basic properties *********************************************************)
 
 (* Basic_1: was by definition: pr2_free *)
-lemma cpr_pr: â\88\80T1,T2. T1 â\87\92 T2 â\86\92 â\88\80L. L â\8a¢ T1 â\87\92 T2.
+lemma cpr_pr: â\88\80T1,T2. T1 â\9e¡ T2 â\86\92 â\88\80L. L â\8a¢ T1 â\9e¡ T2.
 /2 width=3/ qed.
 
-lemma cpr_tpss: â\88\80L,T1,T2,d,e. L â\8a¢ T1 [d, e] â\89«* T2 â\86\92 L â\8a¢ T1 â\87\92 T2.
+lemma cpr_tpss: â\88\80L,T1,T2,d,e. L â\8a¢ T1 [d, e] â\96¶* T2 â\86\92 L â\8a¢ T1 â\9e¡ T2.
 /3 width=5/ qed.
 
-lemma cpr_refl: â\88\80L,T. L â\8a¢ T â\87\92 T.
+lemma cpr_refl: â\88\80L,T. L â\8a¢ T â\9e¡ T.
 /2 width=1/ qed.
 
 (* Note: new property *)
 (* Basic_1: was only: pr2_thin_dx *) 
 lemma cpr_flat: ∀I,L,V1,V2,T1,T2.
-                L â\8a¢ V1 â\87\92 V2 â\86\92 L â\8a¢ T1 â\87\92 T2 â\86\92 L â\8a¢ ð\9d\95\97{I} V1. T1 â\87\92 𝕗{I} V2. T2.
+                L â\8a¢ V1 â\9e¡ V2 â\86\92 L â\8a¢ T1 â\9e¡ T2 â\86\92 L â\8a¢ ð\9d\95\97{I} V1. T1 â\9e¡ 𝕗{I} V2. T2.
 #I #L #V1 #V2 #T1 #T2 * #V #HV1 #HV2 * /3 width=5/
 qed.
 
 lemma cpr_cast: ∀L,V,T1,T2.
-                L â\8a¢ T1 â\87\92 T2 â\86\92 L â\8a¢ ð\9d\95\94{Cast} V. T1 â\87\92 T2.
+                L â\8a¢ T1 â\9e¡ T2 â\86\92 L â\8a¢ ð\9d\95\94{Cast} V. T1 â\9e¡ T2.
 #L #V #T1 #T2 * /3 width=3/
 qed.
 
 (* Note: it does not hold replacing |L1| with |L2| *)
 (* Basic_1: was only: pr2_change *)
-lemma cpr_lsubs_conf: â\88\80L1,T1,T2. L1 â\8a¢ T1 â\87\92 T2 →
-                      â\88\80L2. L1 [0, |L1|] â\89¼ L2 â\86\92 L2 â\8a¢ T1 â\87\92 T2.
+lemma cpr_lsubs_conf: â\88\80L1,T1,T2. L1 â\8a¢ T1 â\9e¡ T2 →
+                      â\88\80L2. L1 [0, |L1|] â\89¼ L2 â\86\92 L2 â\8a¢ T1 â\9e¡ T2.
 #L1 #T1 #T2 * #T #HT1 #HT2 #L2 #HL12 
 lapply (tpss_lsubs_conf … HT2 … HL12) -HT2 -HL12 /3 width=4/
 qed.
@@ -61,23 +61,23 @@ qed.
 (* Basic inversion lemmas ***************************************************)
 
 (* Basic_1: was: pr2_gen_csort *)
-lemma cpr_inv_atom: â\88\80T1,T2. â\8b\86 â\8a¢ T1 â\87\92 T2 â\86\92 T1 â\87\92 T2.
+lemma cpr_inv_atom: â\88\80T1,T2. â\8b\86 â\8a¢ T1 â\9e¡ T2 â\86\92 T1 â\9e¡ T2.
 #T1 #T2 * #T #HT normalize #HT2
 <(tpss_inv_refl_O2 … HT2) -HT2 //
 qed-.
 
 (* Basic_1: was: pr2_gen_sort *)
-lemma cpr_inv_sort1: â\88\80L,T2,k. L â\8a¢ â\8b\86k â\87\92 T2 → T2 = ⋆k.
+lemma cpr_inv_sort1: â\88\80L,T2,k. L â\8a¢ â\8b\86k â\9e¡ T2 → T2 = ⋆k.
 #L #T2 #k * #X #H
 >(tpr_inv_atom1 … H) -H #H
 >(tpss_inv_sort1 … H) -H //
 qed-.
 
 (* Basic_1: was: pr2_gen_cast *)
-lemma cpr_inv_cast1: â\88\80L,V1,T1,U2. L â\8a¢ ð\9d\95\94{Cast} V1. T1 â\87\92 U2 → (
-                        â\88\83â\88\83V2,T2. L â\8a¢ V1 â\87\92 V2 & L â\8a¢ T1 â\87\92 T2 &
+lemma cpr_inv_cast1: â\88\80L,V1,T1,U2. L â\8a¢ ð\9d\95\94{Cast} V1. T1 â\9e¡ U2 → (
+                        â\88\83â\88\83V2,T2. L â\8a¢ V1 â\9e¡ V2 & L â\8a¢ T1 â\9e¡ T2 &
                                  U2 = 𝕔{Cast} V2. T2
-                     ) â\88¨ L â\8a¢ T1 â\87\92 U2.
+                     ) â\88¨ L â\8a¢ T1 â\9e¡ U2.
 #L #V1 #T1 #U2 * #X #H #HU2
 elim (tpr_inv_cast1 … H) -H /3 width=3/
 * #V #T #HV1 #HT1 #H destruct