X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Fsubstitution%2Ffsubst_lift.ma;h=ad0de7230e87c803d0aade06d7b13f53738f9ab3;hb=7008128d354c6e998a87bc2febe9f86ea714869c;hp=e1be5ded0f1eaaac979fcb422bf9fc9b75ecef40;hpb=3bf7a0b4185dbffe5b822c907956acdbe2d1c559;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/substitution/fsubst_lift.ma b/matita/matita/contribs/lambdadelta/delayed_updating/substitution/fsubst_lift.ma index e1be5ded0..ad0de7230 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/substitution/fsubst_lift.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/substitution/fsubst_lift.ma @@ -14,16 +14,13 @@ include "delayed_updating/substitution/fsubst.ma". include "delayed_updating/substitution/lift_prototerm_eq.ma". -(* -include "delayed_updating/syntax/preterm.ma". -include "delayed_updating/syntax/prototerm_proper.ma". -*) + (* FOCALIZED SUBSTITUTION ***************************************************) (* Constructions with lift for preterm **************************************) lemma lift_term_fsubst_sn (f) (t) (u) (p): - (↑[f]t)[⋔(↑[f]p)←↑[↑[p]f]u] ⊆ ↑[f](t[⋔p←u]). + (🠡[f]t)[⋔(🠡[f]p)←🠡[🠢[f]p]u] ⊆ 🠡[f](t[⋔p←u]). #f #t #u #p #ql * * [ #rl * #r #Hr #H1 #H2 destruct >lift_path_append @@ -35,7 +32,7 @@ lemma lift_term_fsubst_sn (f) (t) (u) (p): qed-. lemma lift_term_fsubst_dx (f) (t) (u) (p): - ↑[f](t[⋔p←u]) ⊆ (↑[f]t)[⋔(↑[f]p)←↑[↑[p]f]u]. + 🠡[f](t[⋔p←u]) ⊆ (🠡[f]t)[⋔(🠡[f]p)←🠡[🠢[f]p]u]. #f #t #u #p #ql * #q * * [ #r #Hu #H1 #H2 destruct @or_introl @ex2_intro @@ -43,12 +40,12 @@ lemma lift_term_fsubst_dx (f) (t) (u) (p): /2 width=3 by ex2_intro/ | #Hq #H0 #H1 destruct @or_intror @conj [ /2 width=1 by in_comp_lift_path_term/ ] -Hq #r #Hr - elim (lift_path_inv_append_dx … Hr) -Hr #s1 #s2 #Hs1 #_ #H1 destruct + elim (lift_path_inv_append_sn … Hr) -Hr #s1 #s2 #Hs1 #_ #H1 destruct lapply (lift_path_inj … Hs1) -Hs1 #H1 destruct /2 width=2 by/ ] qed-. lemma lift_term_fsubst (f) (t) (u) (p): - (↑[f]t)[⋔(↑[f]p)←↑[↑[p]f]u] ⇔ ↑[f](t[⋔p←u]). + (🠡[f]t)[⋔(🠡[f]p)←🠡[🠢[f]p]u] ⇔ 🠡[f](t[⋔p←u]). /3 width=1 by lift_term_fsubst_sn, conj, lift_term_fsubst_dx/ qed.