]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_depth.ma
partial update in delayed_updating
[helm.git] / matita / matita / contribs / lambdadelta / delayed_updating / syntax / path_depth.ma
index eff4eb16bfc12a40b3cb8fd2c96de00d9ecdd851..2e638b8ac43bfba05ccc9783d2045d130d302a9d 100644 (file)
@@ -23,11 +23,12 @@ match p with
 [ list_empty     ⇒ 𝟎
 | list_lcons l q ⇒
   match l with
-  [ label_d _ ⇒ depth q
-  | label_m   ⇒ depth q
-  | label_L   ⇒ ↑(depth q)
-  | label_A   ⇒ depth q
-  | label_S   ⇒ depth q
+  [ label_d k    ⇒ depth q
+  | label_d2 k d ⇒ depth q
+  | label_m      ⇒ depth q
+  | label_L      ⇒ ↑(depth q)
+  | label_A      ⇒ depth q
+  | label_S      ⇒ depth q
   ]
 ].
 
@@ -44,6 +45,10 @@ lemma depth_d_dx (p) (k):
       ♭p = ♭(p◖𝗱k).
 // qed.
 
+lemma depth_d2_dx (p) (k) (d):
+      ♭p = ♭(p◖𝗱❨k,d❩).
+// qed.
+
 lemma depth_m_dx (p):
       ♭p = ♭(p◖𝗺).
 // qed.
@@ -65,8 +70,9 @@ lemma depth_S_dx (p):
 theorem depth_append (p) (q):
         (♭p)+(♭q) = ♭(p●q).
 #p #q elim q -q //
-* [ #k ] #q #IH <list_append_lcons_sn
+* [ #k | #k #d ] #q #IH <list_append_lcons_sn
 [ <depth_d_dx <depth_d_dx //
+| <depth_d2_dx <depth_d2_dx //
 | <depth_m_dx <depth_m_dx //
 | <depth_L_dx <depth_L_dx //
 | <depth_A_dx <depth_A_dx //
@@ -80,6 +86,10 @@ lemma depth_d_sn (p) (k):
       ♭p = ♭(𝗱k◗p).
 // qed.
 
+lemma depth_d2_sn (p) (k) (d):
+      ♭p = ♭(𝗱❨k,d❩◗p).
+// qed.
+
 lemma depth_m_sn (p):
       ♭p = ♭(𝗺◗p).
 // qed.