]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/delayed_updating/substitution/lift.ma
update in delayed_updating
[helm.git] / matita / matita / contribs / lambdadelta / delayed_updating / substitution / lift.ma
index a396beb46df884ea68ea7e59845d8356500f1af1..5db8fa945bed188af60940375e5d8a43e4573831 100644 (file)
@@ -81,3 +81,50 @@ lemma lift_A_sn (A) (k) (p) (f):
 lemma lift_S_sn (A) (k) (p) (f):
       โ†‘โจ(ฮปp. k (๐—ฆโ——p)), p, fโฉ = โ†‘{A}โจk, ๐—ฆโ——p, fโฉ.
 // qed.
+
+(* Basic constructions with proj_path ***************************************)
+
+lemma lift_path_d_empty_sn (f) (n):
+      ๐—ฑโจf@โจnโฉโฉโ——๐ž = โ†‘[f](๐—ฑโจnโฉโ——๐ž).
+// qed.
+
+lemma lift_path_d_lcons_sn (f) (p) (l) (n):
+      โ†‘[fโˆ˜๐ฎโจninj nโฉ](lโ——p) = โ†‘[f](๐—ฑโจnโฉโ——lโ——p).
+// qed.
+
+(* Basic constructions with proj_rmap ***************************************)
+
+lemma lift_rmap_d_empty_sn (f) (n):
+      f = โ†‘[๐—ฑโจnโฉโ——๐ž]f.
+// qed.
+
+lemma lift_rmap_d_lcons_sn (f) (p) (l) (n):
+      โ†‘[lโ——p](fโˆ˜๐ฎโจninj nโฉ) = โ†‘[๐—ฑโจnโฉโ——lโ——p]f.
+// qed.
+
+lemma lift_rmap_L_sn (f) (p):
+      โ†‘[p](โซฏf) = โ†‘[๐—Ÿโ——p]f.
+// qed.
+
+lemma lift_rmap_A_sn (f) (p):
+      โ†‘[p]f = โ†‘[๐—”โ——p]f.
+// qed.
+
+lemma lift_rmap_S_sn (f) (p):
+      โ†‘[p]f = โ†‘[๐—ฆโ——p]f.
+// qed.
+
+(* Advanced eliminations with path ******************************************)
+
+lemma path_ind_lift (Q:predicate โ€ฆ):
+      Q ๐ž โ†’
+      (โˆ€n. Q ๐ž โ†’ Q (๐—ฑโจnโฉโ——๐ž)) โ†’
+      (โˆ€n,l,p. Q (lโ——p) โ†’ Q (๐—ฑโจnโฉโ——lโ——p)) โ†’
+      (โˆ€p. Q p โ†’ Q (๐—Ÿโ——p)) โ†’
+      (โˆ€p. Q p โ†’ Q (๐—”โ——p)) โ†’
+      (โˆ€p. Q p โ†’ Q (๐—ฆโ——p)) โ†’
+      โˆ€p. Q p.
+#Q #IH1 #IH2 #IH3 #IH4 #IH5 #IH6 #p
+elim p -p [| * [ #n * ] ]
+/2 width=1 by/
+qed-.