From 7cb9cdbd64e1abbedf3c6af5638c42e3da3f5cea Mon Sep 17 00:00:00 2001 From: Ferruccio Guidi Date: Wed, 16 Mar 2022 22:32:37 +0100 Subject: [PATCH] update in ground + some additions --- .../delayed_updating/etc/lift/fsubst_lift.etc | 59 ++++ .../delayed_updating/etc/lift/lift_depth.etc | 48 ++++ .../etc/lift/lift_preterm_eq.etc | 81 ++++++ .../etc/lift/lift_structure.etc | 269 ++++++++++++++++++ .../etc/lift/lift_structure_depth.etc | 31 ++ .../delayed_updating/etc/lift/lift_update.etc | 83 ++++++ .../ground/relocation/tr_uni_compose.ma | 4 +- .../ground/relocation/tr_uni_eq.ma | 24 ++ .../lambdadelta/ground/web/ground_src.tbl | 2 +- 9 files changed, 598 insertions(+), 3 deletions(-) create mode 100644 matita/matita/contribs/lambdadelta/delayed_updating/etc/lift/fsubst_lift.etc create mode 100644 matita/matita/contribs/lambdadelta/delayed_updating/etc/lift/lift_depth.etc create mode 100644 matita/matita/contribs/lambdadelta/delayed_updating/etc/lift/lift_preterm_eq.etc create mode 100644 matita/matita/contribs/lambdadelta/delayed_updating/etc/lift/lift_structure.etc create mode 100644 matita/matita/contribs/lambdadelta/delayed_updating/etc/lift/lift_structure_depth.etc create mode 100644 matita/matita/contribs/lambdadelta/delayed_updating/etc/lift/lift_update.etc create mode 100644 matita/matita/contribs/lambdadelta/ground/relocation/tr_uni_eq.ma diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/etc/lift/fsubst_lift.etc b/matita/matita/contribs/lambdadelta/delayed_updating/etc/lift/fsubst_lift.etc new file mode 100644 index 000000000..bf5c9b6f6 --- /dev/null +++ b/matita/matita/contribs/lambdadelta/delayed_updating/etc/lift/fsubst_lift.etc @@ -0,0 +1,59 @@ +(**************************************************************************) +(* ___ *) +(* ||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 "delayed_updating/substitution/fsubst.ma". +include "delayed_updating/substitution/lift_prototerm_eq.ma". +include "delayed_updating/substitution/lift_structure.ma". +include "delayed_updating/syntax/preterm.ma". +include "delayed_updating/syntax/prototerm_proper.ma". + +(* FOCALIZED SUBSTITUTION ***************************************************) + +lemma lift_fsubst_sn (f) (t) (u) (p): u ϵ 𝐏 → + (↑[f]t)[⋔(⊗p)←↑[↑[p]f]u] ⊆ ↑[f](t[⋔p←u]). +#f #t #u #p #Hu #ql * * +[ #rl * #r #Hr #H1 #H2 destruct + >lift_append_proper_dx + /4 width=5 by in_comp_lift_bi, in_ppc_comp_trans, or_introl, ex2_intro/ +| * #q #Hq #H1 #H0 + @(ex2_intro … H1) @or_intror @conj // * + [ (tr_pap_eq_repl … (↑[p]f) … (lift_rmap_decompose …)) +lift_rmap_S_dx >structure_S_dx + @lift_grafted_sn // +| /2 width=1 by lift_grafted_S_dx/ +] +qed. diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/etc/lift/lift_structure.etc b/matita/matita/contribs/lambdadelta/delayed_updating/etc/lift/lift_structure.etc new file mode 100644 index 000000000..2a219e0ff --- /dev/null +++ b/matita/matita/contribs/lambdadelta/delayed_updating/etc/lift/lift_structure.etc @@ -0,0 +1,269 @@ +(**************************************************************************) +(* ___ *) +(* ||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 "delayed_updating/substitution/lift_eq.ma". +include "delayed_updating/syntax/path_structure.ma". +include "delayed_updating/syntax/path_inner.ma". +include "delayed_updating/syntax/path_proper.ma". +include "ground/xoa/ex_4_2.ma". + +(* LIFT FOR PATH ***********************************************************) + +(* Basic constructions with structure **************************************) + +lemma structure_lift (p) (f): + ⊗p = ⊗↑[f]p. +#p @(path_ind_lift … p) -p // #p #IH #f +nsucc_inj #H0 + IH -IH // +| // +| nsucc_inj // +| // +| // +] +qed. + +lemma lift_rmap_tls_eq (f) (p): + ⇂*[⧣p]f ≗ ⇂*[↑❘p❘]↑[p]⫯f. +(* +#f #p @(list_ind_rcons … p) -p // +#p * [ #n ] #IH // +