]> matita.cs.unibo.it Git - helm.git/commitdiff
update in ground
authorFerruccio Guidi <ferruccio.guidi@unibo.it>
Sat, 22 Jan 2022 19:11:12 +0000 (20:11 +0100)
committerFerruccio Guidi <ferruccio.guidi@unibo.it>
Sat, 22 Jan 2022 19:11:12 +0000 (20:11 +0100)
+ additions on tr_id

matita/matita/contribs/lambdadelta/ground/relocation/tr_id_pap.ma [new file with mode: 0644]
matita/matita/contribs/lambdadelta/ground/relocation/tr_id_pushs.ma [new file with mode: 0644]
matita/matita/contribs/lambdadelta/ground/relocation/tr_pushs.ma [new file with mode: 0644]
matita/matita/contribs/lambdadelta/ground/web/ground_src.tbl

diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/tr_id_pap.ma b/matita/matita/contribs/lambdadelta/ground/relocation/tr_id_pap.ma
new file mode 100644 (file)
index 0000000..59256fb
--- /dev/null
@@ -0,0 +1,26 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||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/tr_pap.ma".
+include "ground/relocation/tr_id.ma".
+
+(* IDENTITY ELEMENT FOR TOTAL RELOCATION MAPS *******************************)
+
+(* Coonstructions with tr_pap ***********************************************)
+
+lemma tr_pap_id (p):
+      p = 𝐢@❨p❩.
+#p elim p -p //
+#p #IH <tr_id_unfold <tr_pap_succ //
+qed.
diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/tr_id_pushs.ma b/matita/matita/contribs/lambdadelta/ground/relocation/tr_id_pushs.ma
new file mode 100644 (file)
index 0000000..6f54e8b
--- /dev/null
@@ -0,0 +1,25 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||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/tr_pushs.ma".
+include "ground/relocation/tr_id.ma".
+
+(* IDENTITY ELEMENT FOR TOTAL RELOCATION MAPS *******************************)
+
+(* Constructions with tr_pushs **********************************************)
+
+lemma tr_pushs_id (n): 𝐢 = ⫯*[n]𝐢.
+#n @(nat_ind_succ … n) -n //
+#n #IH <tr_pushs_swap //
+qed.
diff --git a/matita/matita/contribs/lambdadelta/ground/relocation/tr_pushs.ma b/matita/matita/contribs/lambdadelta/ground/relocation/tr_pushs.ma
new file mode 100644 (file)
index 0000000..9698f74
--- /dev/null
@@ -0,0 +1,46 @@
+(**************************************************************************)
+(*       ___                                                              *)
+(*      ||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/notation/functions/upspoonstar_2.ma".
+include "ground/arith/nat_succ_iter.ma".
+include "ground/relocation/tr_pn.ma".
+
+(* ITERATED PUSH FOR TOTAL RELOCATION MAPS **********************************)
+
+definition tr_pushs (f:tr_map) (n:nat) ≝
+           (tr_push^n) f.
+
+interpretation
+  "iterated push (total relocation maps)"
+  'UpSpoonStar n f = (tr_pushs f n).
+
+(* Basic constructions ******************************************************)
+
+lemma tr_pushs_zero:
+      ∀f. f = ⫯*[𝟎] f.
+// qed.
+
+lemma tr_pushs_push (n):
+      ∀f. ⫯⫯*[n] f = ⫯*[n] ⫯f.
+#n #f @(niter_appl … tr_push)
+qed.
+
+lemma tr_pushs_succ (n):
+      ∀f. ⫯⫯*[n] f = ⫯*[↑n] f.
+#f #n @(niter_succ … tr_push)
+qed.
+
+lemma tr_pushs_swap (n):
+      ∀f. ⫯*[n] ⫯f = ⫯*[↑n] f.
+// qed.
index 528c13cf426e8fc9554ee31d7a18d48c4a705da5..71470225eb9e2cff8ea465af5b3931b6a3992b98 100644 (file)
@@ -31,9 +31,10 @@ table {
       ]
       [ { "total relocation" * } {
           [ "tr_uni ( 𝐮❨?❩ )" * ]
-          [ "tr_id ( 𝐢 ) " * ]
+          [ "tr_id ( 𝐢 ) " "tr_id_pushs" "tr_id_pap" * ]
           [ "tr_compose ( ?∘? )" "tr_compose_pn" * ]
           [ "tr_pap ( ?@❨?❩ )" "tr_pap_eq" "tr_pap_pat" "tr_pap_pn" "tr_pap_pap" * ]
+          [ "tr_pushs ( ⫯*[?]? )" * ]
           [ "tr_pn ( ⫯? ) ( ↑? )" "tr_pn_hdtl" "tr_pn_tls" * ]
           [ "tr_map ( 𝐭❨?❩ )" "tr_eq" "tr_nexts" "tr_pat" "tr_ist" * ]
         }