(* *)
(**************************************************************************)
-include "delayed_updating/syntax/path_head.ma".
-include "delayed_updating/syntax/path_structure.ma".
-include "delayed_updating/syntax/path_depth.ma".
+include "delayed_updating/syntax/path_head_depth.ma".
+include "delayed_updating/syntax/path_structure_labels.ma".
(* HEAD FOR PATH ************************************************************)
(* Constructions with structure *********************************************)
-axiom path_head_structure (p) (q):
- ⊗p = ↳[♭⊗p]((⊗p)●q).
-(*
-#p elim p -p
-[ #q <path_head_zero //
-| * [ #n ] #p #IH #q
- [ <structure_d_sn //
- | <structure_m_sn //
- | <structure_L_sn
- | <structure_A_sn <list_append_lcons_sn
- <path_head_A_sn //
- | <structure_S_sn //
- ]
+lemma path_head_structure_height (p) (n):
+ ⊗↳[n]p = ↳[n+♯↳[n]p]⊗p.
+#p elim p -p //
+#l #p #IH #n @(nat_ind_succ … n) -n //
+#n #_ cases l [ #k ]
+[ <height_d_dx <structure_d_dx //
+| <structure_m_dx //
+| <structure_L_dx //
+| <height_A_dx <structure_A_dx <nplus_succ_sn <path_head_A_dx //
+| <height_S_dx <structure_S_dx <nplus_succ_sn <path_head_S_dx //
]
-*)
\ No newline at end of file
+qed.
+
+lemma path_head_structure_depth (p) (n):
+ ⊗↳[n]p = ↳[♭↳[n]p]⊗p.
+#p #n
+<path_head_depth //
+qed.