X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Fsubstitution%2Flift.ma;h=fa63286846e697621e2ac313b739825204abc2a5;hb=13584a37bbcde10e03c8a488f5b93e1e042da0a6;hp=0dbb6043a4cb9dbe8f4571f40bff6194814547fa;hpb=2cc4eb5d0210be58286e028278852122dcb68052;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/substitution/lift.ma b/matita/matita/contribs/lambdadelta/delayed_updating/substitution/lift.ma index 0dbb6043a..fa6328684 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/substitution/lift.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/substitution/lift.ma @@ -29,14 +29,15 @@ match p with [ list_empty ⇒ k f (𝐞) | list_lcons l q ⇒ match l with - [ label_node_d n ⇒ + [ label_d n ⇒ match q with [ list_empty ⇒ lift_gen (A) (λg,p. k g (𝗱(f@❨n❩)◗p)) (f∘𝐮❨n❩) q | list_lcons _ _ ⇒ lift_gen (A) k (f∘𝐮❨n❩) q ] - | label_edge_L ⇒ lift_gen (A) (λg,p. k g (𝗟◗p)) (⫯f) q - | label_edge_A ⇒ lift_gen (A) (λg,p. k g (𝗔◗p)) f q - | label_edge_S ⇒ lift_gen (A) (λg,p. k g (𝗦◗p)) f q + | label_m ⇒ lift_gen (A) k f q + | label_L ⇒ lift_gen (A) (λg,p. k g (𝗟◗p)) (⫯f) q + | label_A ⇒ lift_gen (A) (λg,p. k g (𝗔◗p)) f q + | label_S ⇒ lift_gen (A) (λg,p. k g (𝗦◗p)) f q ] ]. @@ -72,6 +73,10 @@ lemma lift_d_lcons_sn (A) (k) (p) (l) (n) (f): ↑❨k, f∘𝐮❨ninj n❩, l◗p❩ = ↑{A}❨k, f, 𝗱n◗l◗p❩. // qed. +lemma lift_m_sn (A) (k) (p) (f): + ↑❨k, f, p❩ = ↑{A}❨k, f, 𝗺◗p❩. +// qed. + lemma lift_L_sn (A) (k) (p) (f): ↑❨(λg,p. k g (𝗟◗p)), ⫯f, p❩ = ↑{A}❨k, f, 𝗟◗p❩. // qed. @@ -98,12 +103,20 @@ lemma lift_path_d_lcons_sn (f) (p) (l) (n): ↑[f∘𝐮❨ninj n❩](l◗p) = ↑[f](𝗱n◗l◗p). // qed. +lemma lift_path_m_sn (f) (p): + ↑[f]p = ↑[f](𝗺◗p). +// qed. + (* Basic constructions with proj_rmap ***************************************) lemma lift_rmap_d_sn (f) (p) (n): ↑[p](f∘𝐮❨ninj n❩) = ↑[𝗱n◗p]f. #f * // qed. +lemma lift_rmap_m_sn (f) (p): + ↑[p]f = ↑[𝗺◗p]f. +// qed. + lemma lift_rmap_L_sn (f) (p): ↑[p](⫯f) = ↑[𝗟◗p]f. // qed. @@ -121,7 +134,8 @@ lemma lift_rmap_S_sn (f) (p): lemma lift_rmap_append (p2) (p1) (f): ↑[p2]↑[p1]f = ↑[p1●p2]f. #p2 #p1 elim p1 -p1 // * [ #n ] #p1 #IH #f // -[