]> matita.cs.unibo.it Git - helm.git/commitdiff
update in ground
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Sat, 29 May 2021 08:40:29 +0000 (10:40 +0200)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Sat, 29 May 2021 08:40:29 +0000 (10:40 +0200)
+ some renaming

15 files changed:
matita/matita/contribs/lambdadelta/ground/arith/nat_minus.ma
matita/matita/contribs/lambdadelta/ground/arith/nat_plus.ma
matita/matita/contribs/lambdadelta/ground/arith/nat_pred.ma
matita/matita/contribs/lambdadelta/ground/arith/pnat_plus.ma
matita/matita/contribs/lambdadelta/ground/arith/ynat_lminus.ma
matita/matita/contribs/lambdadelta/ground/arith/ynat_plus.ma
matita/matita/contribs/lambdadelta/ground/counters/rtc_ism_plus.ma
matita/matita/contribs/lambdadelta/ground/counters/rtc_ist_plus.ma
matita/matita/contribs/lambdadelta/ground/relocation/gr_after_ist.ma
matita/matita/contribs/lambdadelta/ground/relocation/gr_after_ist_isi.ma
matita/matita/contribs/lambdadelta/ground/relocation/gr_after_nat_uni.ma [deleted file]
matita/matita/contribs/lambdadelta/ground/relocation/gr_after_nat_uni_tls.ma [new file with mode: 0644]
matita/matita/contribs/lambdadelta/ground/relocation/gr_after_pat_uni.ma [deleted file]
matita/matita/contribs/lambdadelta/ground/relocation/gr_after_pat_uni_tls.ma [new file with mode: 0644]
matita/matita/contribs/lambdadelta/ground/web/ground_src.tbl

index d5d1c13fedc4c2aac683245bcf3ac0858a7da1b3..e4ccf83f4f4b5265f3e11c4874523dbdda5f98c0 100644 (file)
@@ -32,7 +32,7 @@ lemma nminus_zero_dx (m): m = m - šŸŽ.
 // qed.
 
 (*** minus_SO_dx *)
-lemma nminus_one_dx (m): ā†“m = m - šŸ .
+lemma nminus_unit_dx (m): ā†“m = m - šŸ .
 // qed.
 
 (*** eq_minus_S_pred *)
index f1dffc51db7350cba1caaa9c66113607bd0ae695..a9894fc6285e7aaf7ec746ddfebacb208b91885e 100644 (file)
@@ -31,7 +31,7 @@ lemma nplus_zero_dx (m): m = m + šŸŽ.
 // qed.
 
 (*** plus_SO_dx *)
-lemma nplus_one_dx (n): ā†‘n = n + šŸ.
+lemma nplus_unit_dx (n): ā†‘n = n + šŸ.
 // qed.
 
 (*** plus_n_Sm *)
@@ -76,7 +76,7 @@ qed.
 (* Helper constructions *****************************************************)
 
 (*** plus_SO_sn *)
-lemma nplus_one_sn (n): ā†‘n = šŸ + n.
+lemma nplus_unit_sn (n): ā†‘n = šŸ + n.
 #n <nplus_comm // qed.
 
 lemma nplus_succ_shift (m) (n): ā†‘m + n = m + ā†‘n.
index d7f79d76b8084d89079406c281a86de8872545f8..3367fe66ad4b7c992a5f2798912216f6f3e53992 100644 (file)
@@ -44,7 +44,7 @@ lemma npred_zero: šŸŽ = ā†“šŸŽ.
 lemma npred_inj (p): ā†“p = ā†“(ninj p).
 // qed.
 
-lemma npred_one: šŸŽ = ā†“šŸ.
+lemma npred_unit: šŸŽ = ā†“šŸ.
 // qed.
 
 lemma npred_psucc (p): ninj p = ā†“ā†‘p.
@@ -54,7 +54,7 @@ lemma npred_psucc (p): ninj p = ā†“ā†‘p.
 
 lemma npred_pnat_inv_refl (p): ninj p = ā†“p ā†’ āŠ„.
 *
-[ <npred_one #H destruct
+[ <npred_unit #H destruct
 | #p /3 width=2 by psucc_inv_refl, eq_inv_ninj_bi/
 ]
 qed-.
index 8096e849ba554d7164c90362c3897d1b395591fd..af5bd09432c8b3460d1d5123d9c0f3ecd56bb819 100644 (file)
@@ -25,7 +25,7 @@ interpretation
 
 (* Basic constructions ******************************************************)
 
-lemma pplus_one_dx (p): ā†‘p = p + šŸ.
+lemma pplus_unit_dx (p): ā†‘p = p + šŸ.
 // qed.
 
 lemma pplus_succ_dx (p) (q): ā†‘(p+q) = p + ā†‘q.
@@ -37,7 +37,7 @@ lemma pplus_succ_sn (p) (q): ā†‘(p+q) = ā†‘p + q.
 #p #q @(piter_appl ā€¦ psucc)
 qed.
 
-lemma pplus_one_sn (p): ā†‘p = šŸ + p.
+lemma pplus_unit_sn (p): ā†‘p = šŸ + p.
 #p elim p -p //
 qed.
 
@@ -54,7 +54,7 @@ qed.
 
 lemma eq_inv_unit_pplus (p) (q): šŸ = p + q ā†’ āŠ„.
 #p #q elim q -q
-[ <pplus_one_dx #H destruct
+[ <pplus_unit_dx #H destruct
 | #q #_ <pplus_succ_dx #H destruct
 ]
 qed-.
index 6a2e4dbeeb091bdd3ad4ea1580f85d7cc9a46b86..b1dee6cef22a69780e78bbd0fdc10363812b4f6b 100644 (file)
@@ -42,7 +42,7 @@ lemma ylminus_succ_dx (x:ynat) (n): ā†“(x-n) = x - ā†‘n.
 qed.
 
 (*** yminus_SO2 *)
-lemma ylminus_one_dx (x): ā†“x = x - (šŸ).
+lemma ylminus_unit_dx (x): ā†“x = x - (šŸ).
 // qed.
 
 (*** yminus_Y_inj *)
index bc75d92d11d8d6e5a90bc45d6dd51345a11e1e21..f002081e4f1bc0cc2de4a6c9bb70b3a2c31db463 100644 (file)
@@ -47,7 +47,7 @@ lemma yplus_zero_dx (x): x = x + šŸŽ.
 (* Constructions with ysucc *************************************************)
 
 (*** yplus_SO2 *)
-lemma yplus_one_dx (x): ā†‘x = x + šŸ.
+lemma yplus_unit_dx (x): ā†‘x = x + šŸ.
 // qed.
 
 (*** yplus_S2 yplus_succ2 *)
index 5453b63fbeb436746c8b2ff5ac2cb2172ae5031b..4451820f9bf73a7a67758780eab3149994e6db6b 100644 (file)
@@ -33,7 +33,7 @@ lemma rtc_ism_plus_zero_dx (n) (c1) (c2): šŒāŖn,c1ā« ā†’ šŒāŖšŸŽ,c2ā« 
 /2 width=1 by rtc_ism_plus/ qed.
 
 lemma rtc_ism_succ (n) (c): šŒāŖn,cā« ā†’ šŒāŖā†‘n,c+šŸ˜šŸ™ā«.
-#n #c #H >nplus_one_dx
+#n #c #H >nplus_unit_dx
 /2 width=1 by rtc_ism_plus/
 qed.
 
index 08bb3b772aa39e94a75f6eb1db13033cc8995118..5156acb85e3c34bcc2a6d39b780fc3ba2e31cc17 100644 (file)
@@ -33,7 +33,7 @@ lemma rtc_ist_plus_zero_dx (n) (c1) (c2): š“āŖn,c1ā« ā†’ š“āŖšŸŽ,c2ā« 
 /2 width=1 by rtc_ist_plus/ qed.
 
 lemma rtc_ist_succ (n) (c): š“āŖn,cā« ā†’ š“āŖā†‘n,c+šŸ˜šŸ™ā«.
-#n #c #H >nplus_one_dx
+#n #c #H >nplus_unit_dx
 /2 width=1 by rtc_ist_plus/
 qed.
 
@@ -54,7 +54,7 @@ lemma rtc_ist_inv_plus_zero_dx (n) (c1) (c2): š“āŖn,c1 + c2ā« ā†’ š“āŖ
 elim (rtc_ist_inv_plus ā€¦ H) -H #n1 #n2 #Hn1 #Hn2 #H destruct //
 qed-.
 
-lemma rtc_ist_inv_plus_one_dx:
+lemma rtc_ist_inv_plus_unit_dx:
       āˆ€n,c1,c2. š“āŖn,c1 + c2ā« ā†’ š“āŖšŸ,c2ā« ā†’
       āˆƒāˆƒm. š“āŖm,c1ā« & n = ā†‘m.
 #n #c1 #c2 #H #H2 destruct
index e3f8acfcd52f8e338c22572b4287da0524c18bcb..97780f1c6c44681330ec02b25429cc673ec08aa7 100644 (file)
@@ -45,7 +45,7 @@ lemma gr_after_des_ist_sn:
 qed-.
 
 (*** after_at1_fwd *)
-lemma gr_after_pat_sn_des:
+lemma gr_after_des_ist_pat:
       āˆ€f1,i1,i2. @āŖi1, f1ā« ā‰˜ i2 ā†’ āˆ€f2. š“āŖf2ā« ā†’ āˆ€f. f2 āŠš f1 ā‰˜ f ā†’
       āˆƒāˆƒi. @āŖi2, f2ā« ā‰˜ i & @āŖi1, fā« ā‰˜ i.
 #f1 #i1 #i2 #Hf1 #f2 #Hf2 #f #Hf elim (Hf2 i2) -Hf2
index 93077d253e3544e23831141ced1c4ee7cd8ad411..fd325b4d73a6b5eab930c882316b5564231b9d32 100644 (file)
@@ -20,7 +20,7 @@ include "ground/relocation/gr_after_ist.ma".
 (* Forward lemmas on istot and isid **************************************************)
 
 (*** after_fwd_isid_sn *)
-lemma gr_after_des_isi_sn:
+lemma gr_after_des_ist_eq_sn:
       āˆ€f2,f1,f. š“āŖfā« ā†’ f2 āŠš f1 ā‰˜ f ā†’ f1 ā‰” f ā†’ šˆāŖf2ā«.
 #f2 #f1 #f #H #Hf elim (gr_after_inv_ist ā€¦ Hf H) -H
 #Hf2 #Hf1 #H @gr_isi_pat_total // -Hf2
@@ -31,10 +31,10 @@ lemma gr_after_des_isi_sn:
 qed-.
 
 (*** after_fwd_isid_dx *)
-lemma gr_after_des_isi_dx:
+lemma gr_after_des_ist_eq_dx:
       āˆ€f2,f1,f.  š“āŖfā« ā†’ f2 āŠš f1 ā‰˜ f ā†’ f2 ā‰” f ā†’ šˆāŖf1ā«.
 #f2 #f1 #f #H #Hf elim (gr_after_inv_ist ā€¦ Hf H) -H
 #Hf2 #Hf1 #H2 @gr_isi_pat_total // -Hf1
-#i1 #i2 #Hi12 elim (gr_after_pat_sn_des ā€¦ Hi12 ā€¦ Hf) -f1
+#i1 #i2 #Hi12 elim (gr_after_des_ist_pat ā€¦ Hi12 ā€¦ Hf) -f1
 /3 width=8 by gr_pat_inj, gr_pat_eq_repl_back/
 qed-.
diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/gr_after_nat_uni.ma b/matita/matita/contribs/lambdadelta/ground/relocation/gr_after_nat_uni.ma
deleted file mode 100644 (file)
index 489e820..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-(**************************************************************************)
-(*       ___                                                              *)
-(*      ||M||                                                             *)
-(*      ||A||       A project by Andrea Asperti                           *)
-(*      ||T||                                                             *)
-(*      ||I||       Developers:                                           *)
-(*      ||T||         The HELM team.                                      *)
-(*      ||A||         http://helm.cs.unibo.it                             *)
-(*      \   /                                                             *)
-(*       \ /        This file is distributed under the terms of the       *)
-(*        v         GNU General Public License Version 2                  *)
-(*                                                                        *)
-(**************************************************************************)
-
-include "ground/relocation/gr_tls.ma".
-include "ground/relocation/gr_nat.ma".
-include "ground/relocation/gr_isi_uni.ma".
-include "ground/relocation/gr_after_isi.ma".
-
-(* RELATIONAL COMPOSITION FOR GENERIC RELOCATION MAPS ***********************************************************)
-
-(* Properties with gr_nat and uni *)
-
-(*** after_uni_dx *)
-lemma gr_after_uni_dx (l2) (l1):
-      āˆ€f2. @ā†‘āŖl1, f2ā« ā‰˜ l2 ā†’
-      āˆ€f. f2 āŠš š®āØl1ā© ā‰˜ f ā†’ š®āØl2ā© āŠš ā«±*[l2] f2 ā‰˜ f.
-#l2 @(nat_ind_succ ā€¦ l2) -l2
-[ #l1 #f2 #Hf2 #f #Hf
-  elim (gr_nat_inv_zero_dx ā€¦ Hf2) -Hf2 // #g2 #H1 #H2 destruct
-  lapply (gr_after_isi_inv_dx ā€¦ Hf ?) -Hf
-  /3 width=3 by gr_after_isi_sn, gr_after_eq_repl_back/
-| #l2 #IH #l1 #f2 #Hf2 #f #Hf
-  elim (gr_nat_inv_succ_dx ā€¦ Hf2) -Hf2 [1,3: * |*: // ]
-  [ #g2 #k1 #Hg2 #H1 #H2 destruct
-    elim (gr_after_inv_push_next ā€¦ Hf) -Hf [ |*: // ] #g #Hg #H destruct
-    <gr_tls_swap /3 width=5 by gr_after_next/
-  | #g2 #Hg2 #H2 destruct
-    elim (gr_after_inv_next_sn ā€¦ Hf) -Hf [ |*: // ] #g #Hg #H destruct
-    <gr_tls_swap /3 width=5 by gr_after_next/
-  ]
-]
-qed.
-
-(*** after_uni_sn *)
-lemma gr_after_uni_sn (l2) (l1):
-      āˆ€f2. @ā†‘āŖl1, f2ā« ā‰˜ l2 ā†’
-      āˆ€f. š®āØl2ā© āŠš ā«±*[l2] f2 ā‰˜ f ā†’ f2 āŠš š®āØl1ā© ā‰˜ f.
-#l2 @(nat_ind_succ ā€¦ l2) -l2
-[ #l1 #f2 #Hf2 #f #Hf
-  elim (gr_nat_inv_zero_dx ā€¦ Hf2) -Hf2 // #g2 #H1 #H2 destruct
-  lapply (gr_after_isi_inv_sn ā€¦ Hf ?) -Hf
-  /3 width=3 by gr_after_isi_dx, gr_after_eq_repl_back/
-| #l2 #IH #l1 #f2 #Hf2 #f #Hf
-  elim (gr_after_inv_next_sn ā€¦ Hf) -Hf [2,3: // ] #g #Hg #H destruct
-  elim (gr_nat_inv_succ_dx ā€¦ Hf2) -Hf2 [1,3: * |*: // ]
-  [ #g2 #k1 #Hg2 #H1 #H2 destruct /3 width=7 by gr_after_push/
-  | #g2 #Hg2 #H2 destruct /3 width=5 by gr_after_next/
-  ]
-]
-qed-.
diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/gr_after_nat_uni_tls.ma b/matita/matita/contribs/lambdadelta/ground/relocation/gr_after_nat_uni_tls.ma
new file mode 100644 (file)
index 0000000..04be091
--- /dev/null
@@ -0,0 +1,61 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+include "ground/relocation/gr_tls.ma".
+include "ground/relocation/gr_nat.ma".
+include "ground/relocation/gr_isi_uni.ma".
+include "ground/relocation/gr_after_isi.ma".
+
+(* RELATIONAL COMPOSITION FOR GENERIC RELOCATION MAPS ***********************************************************)
+
+(* Properties with gr_nat and uni *)
+
+(*** after_uni_dx *)
+lemma gr_after_nat_uni (l2) (l1):
+      āˆ€f2. @ā†‘āŖl1, f2ā« ā‰˜ l2 ā†’
+      āˆ€f. f2 āŠš š®āØl1ā© ā‰˜ f ā†’ š®āØl2ā© āŠš ā«±*[l2] f2 ā‰˜ f.
+#l2 @(nat_ind_succ ā€¦ l2) -l2
+[ #l1 #f2 #Hf2 #f #Hf
+  elim (gr_nat_inv_zero_dx ā€¦ Hf2) -Hf2 // #g2 #H1 #H2 destruct
+  lapply (gr_after_isi_inv_dx ā€¦ Hf ?) -Hf
+  /3 width=3 by gr_after_isi_sn, gr_after_eq_repl_back/
+| #l2 #IH #l1 #f2 #Hf2 #f #Hf
+  elim (gr_nat_inv_succ_dx ā€¦ Hf2) -Hf2 [1,3: * |*: // ]
+  [ #g2 #k1 #Hg2 #H1 #H2 destruct
+    elim (gr_after_inv_push_next ā€¦ Hf) -Hf [ |*: // ] #g #Hg #H destruct
+    <gr_tls_swap /3 width=5 by gr_after_next/
+  | #g2 #Hg2 #H2 destruct
+    elim (gr_after_inv_next_sn ā€¦ Hf) -Hf [ |*: // ] #g #Hg #H destruct
+    <gr_tls_swap /3 width=5 by gr_after_next/
+  ]
+]
+qed.
+
+(*** after_uni_sn *)
+lemma gr_nat_after_uni_tls (l2) (l1):
+      āˆ€f2. @ā†‘āŖl1, f2ā« ā‰˜ l2 ā†’
+      āˆ€f. š®āØl2ā© āŠš ā«±*[l2] f2 ā‰˜ f ā†’ f2 āŠš š®āØl1ā© ā‰˜ f.
+#l2 @(nat_ind_succ ā€¦ l2) -l2
+[ #l1 #f2 #Hf2 #f #Hf
+  elim (gr_nat_inv_zero_dx ā€¦ Hf2) -Hf2 // #g2 #H1 #H2 destruct
+  lapply (gr_after_isi_inv_sn ā€¦ Hf ?) -Hf
+  /3 width=3 by gr_after_isi_dx, gr_after_eq_repl_back/
+| #l2 #IH #l1 #f2 #Hf2 #f #Hf
+  elim (gr_after_inv_next_sn ā€¦ Hf) -Hf [2,3: // ] #g #Hg #H destruct
+  elim (gr_nat_inv_succ_dx ā€¦ Hf2) -Hf2 [1,3: * |*: // ]
+  [ #g2 #k1 #Hg2 #H1 #H2 destruct /3 width=7 by gr_after_push/
+  | #g2 #Hg2 #H2 destruct /3 width=5 by gr_after_next/
+  ]
+]
+qed-.
diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/gr_after_pat_uni.ma b/matita/matita/contribs/lambdadelta/ground/relocation/gr_after_pat_uni.ma
deleted file mode 100644 (file)
index 52765a6..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-(**************************************************************************)
-(*       ___                                                              *)
-(*      ||M||                                                             *)
-(*      ||A||       A project by Andrea Asperti                           *)
-(*      ||T||                                                             *)
-(*      ||I||       Developers:                                           *)
-(*      ||T||         The HELM team.                                      *)
-(*      ||A||         http://helm.cs.unibo.it                             *)
-(*      \   /                                                             *)
-(*       \ /        This file is distributed under the terms of the       *)
-(*        v         GNU General Public License Version 2                  *)
-(*                                                                        *)
-(**************************************************************************)
-
-include "ground/relocation/gr_tls.ma".
-include "ground/relocation/gr_pat.ma".
-(**) (* it should not depend on gr_isi *)
-include "ground/relocation/gr_isi_uni.ma".
-include "ground/relocation/gr_after_isi.ma".
-
-(* RELATIONAL COMPOSITION FOR GENERIC RELOCATION MAPS ***********************************************************)
-
-(* Properties with pat and uni *******************************************************)
-
-(*** after_uni_succ_dx *)
-lemma gr_after_uni_dx (i2) (i1):
-      āˆ€f2. @āŖi1, f2ā« ā‰˜ i2 ā†’
-      āˆ€f. f2 āŠš š®āØi1ā© ā‰˜ f ā†’ š®āØi2ā© āŠš ā«±*[i2] f2 ā‰˜ f.
-#i2 elim i2 -i2
-[ #i1 #f2 #Hf2 #f #Hf
-  elim (gr_pat_inv_unit_dx ā€¦ Hf2) -Hf2 // #g2 #H1 #H2 destruct
-  elim (gr_after_inv_push_next ā€¦ Hf) -Hf [ |*: // ] #g #Hg #H
-  lapply (gr_after_isi_inv_dx ā€¦ Hg ?) -Hg
-  /4 width=5 by gr_after_isi_sn, gr_after_eq_repl_back, gr_after_next/
-| #i2 #IH #i1 #f2 #Hf2 #f #Hf >nsucc_inj
-  elim (gr_pat_inv_succ_dx ā€¦ Hf2) -Hf2 [1,3: * |*: // ]
-  [ #g2 #j1 #Hg2 #H1 #H2 destruct >nsucc_inj in Hf; #Hf
-    elim (gr_after_inv_push_next ā€¦ Hf) -Hf [ |*: // ] #g #Hg #H destruct
-    <gr_tls_swap /3 width=5 by gr_after_next/
-  | #g2 #Hg2 #H2 destruct
-    elim (gr_after_inv_next_sn ā€¦ Hf) -Hf [2,3: // ] #g #Hg #H destruct
-    <gr_tls_swap /3 width=5 by gr_after_next/
-  ]
-]
-qed.
-
-(*** after_uni_succ_sn *)
-lemma gr_after_uni_sn (i2) (i1):
-      āˆ€f2. @āŖi1, f2ā« ā‰˜ i2 ā†’
-      āˆ€f. š®āØi2ā© āŠš ā«±*[i2] f2 ā‰˜ f ā†’ f2 āŠš š®āØi1ā© ā‰˜ f.
-#i2 elim i2 -i2
-[ #i1 #f2 #Hf2 #f #Hf
-  elim (gr_pat_inv_unit_dx ā€¦ Hf2) -Hf2 // #g2 #H1 #H2 destruct
-  elim (gr_after_inv_next_sn ā€¦ Hf) -Hf [ |*: // ] #g #Hg #H destruct
-  lapply (gr_after_isi_inv_sn ā€¦ Hg ?) -Hg
-  /4 width=7 by gr_after_isi_dx, gr_after_eq_repl_back, gr_after_push/
-| #i2 #IH #i1 #f2 #Hf2 #f >nsucc_inj #Hf
-  elim (gr_after_inv_next_sn ā€¦ Hf) -Hf [2,3: // ] #g #Hg #H destruct
-  elim (gr_pat_inv_succ_dx ā€¦ Hf2) -Hf2 [1,3: * |*: // ]
-  [ #g2 #j1 #Hg2 #H1 #H2 destruct <gr_tls_swap in Hg; /3 width=7 by gr_after_push/
-  | #g2 #Hg2 #H2 destruct <gr_tls_swap in Hg; /3 width=5 by gr_after_next/
-  ]
-]
-qed-.
-
-(* Advanced properties with uni *)
-
-(*** after_uni_one_dx *)
-lemma gr_after_uni_one_dx:
-      āˆ€f2,f. ā«Æf2 āŠš š®āØšŸā© ā‰˜ f ā†’ š®āØšŸā© āŠš f2 ā‰˜ f.
-#f2 #f #H
-@(gr_after_uni_dx ā€¦ (ā«Æf2))
-/2 width=3 by gr_pat_refl/
-qed.
-
-(*** after_uni_one_sn *)
-lemma gr_after_uni_one_sn:
-      āˆ€f1,f. š®āØšŸā© āŠš f1 ā‰˜ f ā†’ ā«Æf1 āŠš š®āØšŸā© ā‰˜ f.
-/3 width=3 by gr_after_uni_sn, gr_pat_refl/ qed-.
diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/gr_after_pat_uni_tls.ma b/matita/matita/contribs/lambdadelta/ground/relocation/gr_after_pat_uni_tls.ma
new file mode 100644 (file)
index 0000000..e8104fd
--- /dev/null
@@ -0,0 +1,79 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||M||                                                             *)
+(*      ||A||       A project by Andrea Asperti                           *)
+(*      ||T||                                                             *)
+(*      ||I||       Developers:                                           *)
+(*      ||T||         The HELM team.                                      *)
+(*      ||A||         http://helm.cs.unibo.it                             *)
+(*      \   /                                                             *)
+(*       \ /        This file is distributed under the terms of the       *)
+(*        v         GNU General Public License Version 2                  *)
+(*                                                                        *)
+(**************************************************************************)
+
+include "ground/relocation/gr_tls.ma".
+include "ground/relocation/gr_pat.ma".
+(**) (* it should not depend on gr_isi *)
+include "ground/relocation/gr_isi_uni.ma".
+include "ground/relocation/gr_after_isi.ma".
+
+(* RELATIONAL COMPOSITION FOR GENERIC RELOCATION MAPS ***********************************************************)
+
+(* Properties with pat and uni and tls *******************************************************)
+
+(*** after_uni_succ_dx *)
+lemma gr_after_pat_uni (i2) (i1):
+      āˆ€f2. @āŖi1, f2ā« ā‰˜ i2 ā†’
+      āˆ€f. f2 āŠš š®āØi1ā© ā‰˜ f ā†’ š®āØi2ā© āŠš ā«±*[i2] f2 ā‰˜ f.
+#i2 elim i2 -i2
+[ #i1 #f2 #Hf2 #f #Hf
+  elim (gr_pat_inv_unit_dx ā€¦ Hf2) -Hf2 // #g2 #H1 #H2 destruct
+  elim (gr_after_inv_push_next ā€¦ Hf) -Hf [ |*: // ] #g #Hg #H
+  lapply (gr_after_isi_inv_dx ā€¦ Hg ?) -Hg
+  /4 width=5 by gr_after_isi_sn, gr_after_eq_repl_back, gr_after_next/
+| #i2 #IH #i1 #f2 #Hf2 #f #Hf >nsucc_inj
+  elim (gr_pat_inv_succ_dx ā€¦ Hf2) -Hf2 [1,3: * |*: // ]
+  [ #g2 #j1 #Hg2 #H1 #H2 destruct >nsucc_inj in Hf; #Hf
+    elim (gr_after_inv_push_next ā€¦ Hf) -Hf [ |*: // ] #g #Hg #H destruct
+    <gr_tls_swap /3 width=5 by gr_after_next/
+  | #g2 #Hg2 #H2 destruct
+    elim (gr_after_inv_next_sn ā€¦ Hf) -Hf [2,3: // ] #g #Hg #H destruct
+    <gr_tls_swap /3 width=5 by gr_after_next/
+  ]
+]
+qed.
+
+(*** after_uni_succ_sn *)
+lemma gr_pat_after_uni_tls (i2) (i1):
+      āˆ€f2. @āŖi1, f2ā« ā‰˜ i2 ā†’
+      āˆ€f. š®āØi2ā© āŠš ā«±*[i2] f2 ā‰˜ f ā†’ f2 āŠš š®āØi1ā© ā‰˜ f.
+#i2 elim i2 -i2
+[ #i1 #f2 #Hf2 #f #Hf
+  elim (gr_pat_inv_unit_dx ā€¦ Hf2) -Hf2 // #g2 #H1 #H2 destruct
+  elim (gr_after_inv_next_sn ā€¦ Hf) -Hf [ |*: // ] #g #Hg #H destruct
+  lapply (gr_after_isi_inv_sn ā€¦ Hg ?) -Hg
+  /4 width=7 by gr_after_isi_dx, gr_after_eq_repl_back, gr_after_push/
+| #i2 #IH #i1 #f2 #Hf2 #f >nsucc_inj #Hf
+  elim (gr_after_inv_next_sn ā€¦ Hf) -Hf [2,3: // ] #g #Hg #H destruct
+  elim (gr_pat_inv_succ_dx ā€¦ Hf2) -Hf2 [1,3: * |*: // ]
+  [ #g2 #j1 #Hg2 #H1 #H2 destruct <gr_tls_swap in Hg; /3 width=7 by gr_after_push/
+  | #g2 #Hg2 #H2 destruct <gr_tls_swap in Hg; /3 width=5 by gr_after_next/
+  ]
+]
+qed-.
+
+(* Advanced properties with uni *)
+
+(*** after_uni_one_dx *)
+lemma gr_after_push_unit:
+      āˆ€f2,f. ā«Æf2 āŠš š®āØšŸā© ā‰˜ f ā†’ š®āØšŸā© āŠš f2 ā‰˜ f.
+#f2 #f #H
+@(gr_after_pat_uni ā€¦ (ā«Æf2))
+/2 width=3 by gr_pat_refl/
+qed.
+
+(*** after_uni_one_sn *)
+lemma gr_after_unit_sn:
+      āˆ€f1,f. š®āØšŸā© āŠš f1 ā‰˜ f ā†’ ā«Æf1 āŠš š®āØšŸā© ā‰˜ f.
+/3 width=3 by gr_pat_after_uni_tls, gr_pat_refl/ qed-.
index 7078e2afc3404c435d96b7bb34ad005a456d9a09..6c57ebf6716db4f5438f8c6e01549da9c5f7d040 100644 (file)
@@ -34,7 +34,7 @@ table {
           [ "gr_sdj ( ? āˆ„ ? )" "gr_sdj_eq" "gr_sdj_isi" * ]
           [ "gr_sle ( ? āŠ† ? )" "gr_sle_eq" "gr_sle_pushs" "gr_sle_tls" "gr_sle_isi" "gr_sle_isd" "gr_sle_sle" * ]
           [ "gr_coafter ( ? ~āŠš ? ā‰˜ ? )" "gr_coafter_eq" "gr_coafter_uni_pushs" "gr_coafter_pat_tls" "gr_coafter_nat_tls" "gr_coafter_nat_tls_pushs" "gr_coafter_isi" "gr_coafter_isu" "gr_coafter_ist_isi" "gr_coafter_ist_isf" "gr_coafter_coafter" "gr_coafter_coafter_ist" * ]
-          [ "gr_after ( ? āŠš ? ā‰˜ ? )" "gr_after_eq" "gr_after_uni" "gr_after_basic" "gr_after_pat" "gr_after_pat_tls" "gr_after_pat_uni" "gr_after_nat_uni" "gr_after_isi" "gr_after_isu" "gr_after_ist" "gr_after_ist_isi" "gr_after_after" "gr_after_after_ist" * ]
+          [ "gr_after ( ? āŠš ? ā‰˜ ? )" "gr_after_eq" "gr_after_uni" "gr_after_basic" "gr_after_pat" "gr_after_pat_tls" "gr_after_pat_uni_tls" "gr_after_nat_uni_tls" "gr_after_isi" "gr_after_isu" "gr_after_ist" "gr_after_ist_isi" "gr_after_after" "gr_after_after_ist" * ]
           [ "gr_isd ( š›€āŖ?ā« )" "gr_isd_eq" "gr_isd_tl" "gr_isd_nexts" "gr_isd_tls" * ]
           [ "gr_ist ( š“āŖ?ā« )" "gr_ist_tls" "gr_ist_isi" "gr_ist_ist" * ]
           [ "gr_isf ( š…āŖ?ā« )" "gr_isf_eq" "gr_isf_tl" "gr_isf_pushs" "fr_isf_tls" "gr_ifs_uni" "gr_isf_isu" * ]