From: Ferruccio Guidi Date: Wed, 16 Mar 2022 21:32:37 +0000 (+0100) Subject: update in ground X-Git-Tag: make_still_working~83 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=7cb9cdbd64e1abbedf3c6af5638c42e3da3f5cea;p=helm.git update in ground + some additions --- 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 // +