]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/ground_2/relocation/rtmap_sdj.ma
notational update in ground_2 and basic_2
[helm.git] / matita / matita / contribs / lambdadelta / ground_2 / relocation / rtmap_sdj.ma
index 99c6915dbcd38b8485a7bb20eedd2cf69b8a82fb..bc0086a60534983b25d30005b146bb128785100c 100644 (file)
@@ -18,9 +18,9 @@ include "ground_2/relocation/rtmap_isid.ma".
 (* RELOCATION MAP ***********************************************************)
 
 coinductive sdj: relation rtmap ≝
-| sdj_pp: â\88\80f1,f2,g1,g2. sdj f1 f2 â\86\92 â\86\91f1 = g1 â\86\92 â\86\91f2 = g2 → sdj g1 g2
-| sdj_np: â\88\80f1,f2,g1,g2. sdj f1 f2 â\86\92 â«¯f1 = g1 â\86\92 â\86\91f2 = g2 → sdj g1 g2
-| sdj_pn: â\88\80f1,f2,g1,g2. sdj f1 f2 â\86\92 â\86\91f1 = g1 â\86\92 â«¯f2 = g2 → sdj g1 g2
+| sdj_pp: â\88\80f1,f2,g1,g2. sdj f1 f2 â\86\92 â«¯f1 = g1 â\86\92 â«¯f2 = g2 → sdj g1 g2
+| sdj_np: â\88\80f1,f2,g1,g2. sdj f1 f2 â\86\92 â\86\91f1 = g1 â\86\92 â«¯f2 = g2 → sdj g1 g2
+| sdj_pn: â\88\80f1,f2,g1,g2. sdj f1 f2 â\86\92 â«¯f1 = g1 â\86\92 â\86\91f2 = g2 → sdj g1 g2
 .
 
 interpretation "disjointness (rtmap)"
@@ -49,7 +49,7 @@ qed-.
 
 (* Basic inversion lemmas ***************************************************)
 
-lemma sdj_inv_pp: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f1,f2. â\86\91f1 = g1 â\86\92 â\86\91f2 = g2 → f1 ∥ f2.
+lemma sdj_inv_pp: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f1,f2. â«¯f1 = g1 â\86\92 â«¯f2 = g2 → f1 ∥ f2.
 #g1 #g2 * -g1 -g2
 #f1 #f2 #g1 #g2 #H #H1 #H2 #x1 #x2 #Hx1 #Hx2 destruct
 [ lapply (injective_push … Hx1) -Hx1
@@ -59,7 +59,7 @@ lemma sdj_inv_pp: ∀g1,g2. g1 ∥ g2 → ∀f1,f2. ↑f1 = g1 → ↑f2 = g2 
 ]
 qed-.
 
-lemma sdj_inv_np: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f1,f2. â«¯f1 = g1 â\86\92 â\86\91f2 = g2 → f1 ∥ f2.
+lemma sdj_inv_np: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f1,f2. â\86\91f1 = g1 â\86\92 â«¯f2 = g2 → f1 ∥ f2.
 #g1 #g2 * -g1 -g2
 #f1 #f2 #g1 #g2 #H #H1 #H2 #x1 #x2 #Hx1 #Hx2 destruct
 [ elim (discr_next_push … Hx1)
@@ -69,7 +69,7 @@ lemma sdj_inv_np: ∀g1,g2. g1 ∥ g2 → ∀f1,f2. ⫯f1 = g1 → ↑f2 = g2 
 ]
 qed-.
 
-lemma sdj_inv_pn: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f1,f2. â\86\91f1 = g1 â\86\92 â«¯f2 = g2 → f1 ∥ f2.
+lemma sdj_inv_pn: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f1,f2. â«¯f1 = g1 â\86\92 â\86\91f2 = g2 → f1 ∥ f2.
 #g1 #g2 * -g1 -g2
 #f1 #f2 #g1 #g2 #H #H1 #H2 #x1 #x2 #Hx1 #Hx2 destruct
 [ elim (discr_next_push … Hx2)
@@ -79,7 +79,7 @@ lemma sdj_inv_pn: ∀g1,g2. g1 ∥ g2 → ∀f1,f2. ↑f1 = g1 → ⫯f2 = g2 
 ]
 qed-.
 
-lemma sdj_inv_nn: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f1,f2. â«¯f1 = g1 â\86\92 â«¯f2 = g2 → ⊥.
+lemma sdj_inv_nn: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f1,f2. â\86\91f1 = g1 â\86\92 â\86\91f2 = g2 → ⊥.
 #g1 #g2 * -g1 -g2
 #f1 #f2 #g1 #g2 #H #H1 #H2 #x1 #x2 #Hx1 #Hx2 destruct
 [ elim (discr_next_push … Hx1)
@@ -90,33 +90,33 @@ qed-.
 
 (* Advanced inversion lemmas ************************************************)
 
-lemma sdj_inv_nx: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f1. â«¯f1 = g1 →
-                  â\88\83â\88\83f2. f1 â\88¥ f2 & â\86\91f2 = g2.
+lemma sdj_inv_nx: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f1. â\86\91f1 = g1 →
+                  â\88\83â\88\83f2. f1 â\88¥ f2 & â«¯f2 = g2.
 #g1 #g2 elim (pn_split g2) * #f2 #H2 #H #f1 #H1
 [ lapply (sdj_inv_np … H … H1 H2) -H /2 width=3 by ex2_intro/
 | elim (sdj_inv_nn … H … H1 H2)
 ]
 qed-.
 
-lemma sdj_inv_xn: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f2. â«¯f2 = g2 →
-                  â\88\83â\88\83f1. f1 â\88¥ f2 & â\86\91f1 = g1.
+lemma sdj_inv_xn: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f2. â\86\91f2 = g2 →
+                  â\88\83â\88\83f1. f1 â\88¥ f2 & â«¯f1 = g1.
 #g1 #g2 elim (pn_split g1) * #f1 #H1 #H #f2 #H2
 [ lapply (sdj_inv_pn … H … H1 H2) -H /2 width=3 by ex2_intro/
 | elim (sdj_inv_nn … H … H1 H2)
 ]
 qed-.
 
-lemma sdj_inv_xp: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f2. â\86\91f2 = g2 →
-                  â\88¨â\88¨ â\88\83â\88\83f1. f1 â\88¥ f2 & â\86\91f1 = g1
-                   | â\88\83â\88\83f1. f1 â\88¥ f2 & â«¯f1 = g1.
+lemma sdj_inv_xp: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f2. â«¯f2 = g2 →
+                  â\88¨â\88¨ â\88\83â\88\83f1. f1 â\88¥ f2 & â«¯f1 = g1
+                   | â\88\83â\88\83f1. f1 â\88¥ f2 & â\86\91f1 = g1.
 #g1 #g2 elim (pn_split g1) * #f1 #H1 #H #f2 #H2
 [ lapply (sdj_inv_pp … H … H1 H2) | lapply (sdj_inv_np … H … H1 H2) ] -H -H2
 /3 width=3 by ex2_intro, or_introl, or_intror/
 qed-.
 
-lemma sdj_inv_px: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f1. â\86\91f1 = g1 →
-                  â\88¨â\88¨ â\88\83â\88\83f2. f1 â\88¥ f2 & â\86\91f2 = g2
-                   | â\88\83â\88\83f2. f1 â\88¥ f2 & â«¯f2 = g2.
+lemma sdj_inv_px: â\88\80g1,g2. g1 â\88¥ g2 â\86\92 â\88\80f1. â«¯f1 = g1 →
+                  â\88¨â\88¨ â\88\83â\88\83f2. f1 â\88¥ f2 & â«¯f2 = g2
+                   | â\88\83â\88\83f2. f1 â\88¥ f2 & â\86\91f2 = g2.
 #g1 #g2 elim (pn_split g2) * #f2 #H2 #H #f1 #H1
 [ lapply (sdj_inv_pp … H … H1 H2) | lapply (sdj_inv_pn … H … H1 H2) ] -H -H1
 /3 width=3 by ex2_intro, or_introl, or_intror/