X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Fsyntax%2Fpath_depth.ma;h=a769327f65b218f655530102b435ca614b60eb22;hb=9e31ac1f3f868349154b0ce2e550e2476aaf6a30;hp=e76c4943b704ce2729085a27fe150c8decb87448;hpb=cc178d85bc4fec05b6a9dd176f338b3275beb3d9;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_depth.ma b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_depth.ma index e76c4943b..a769327f6 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_depth.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_depth.ma @@ -13,8 +13,8 @@ (**************************************************************************) include "delayed_updating/syntax/path.ma". -include "ground/arith/nat_succ.ma". -include "ground/notation/functions/verticalbars_1.ma". +include "delayed_updating/notation/functions/flat_1.ma". +include "ground/arith/nat_plus.ma". (* DEPTH FOR PATH ***********************************************************) @@ -23,30 +23,75 @@ match p with [ list_empty ⇒ 𝟎 | list_lcons l q ⇒ match l with - [ label_node_d _ ⇒ depth q - | label_edge_L ⇒ ↑(depth q) - | label_edge_A ⇒ depth q - | label_edge_S ⇒ depth q + [ label_d k ⇒ depth q + | label_m ⇒ depth q + | label_L ⇒ ↑(depth q) + | label_A ⇒ depth q + | label_S ⇒ depth q ] ]. interpretation "depth (path)" - 'VerticalBars p = (depth p). + 'Flat p = (depth p). (* Basic constructions ******************************************************) -lemma depth_empty: 𝟎 = ❘𝐞❘. +lemma depth_empty: 𝟎 = ♭𝐞. // qed. -lemma depth_d (q) (n): ❘q❘ = ❘𝗱❨n❩◗q❘. +lemma depth_d_dx (p) (k): + ♭p = ♭(p◖𝗱k). // qed. -lemma depth_L (q): ↑❘q❘ = ❘𝗟◗q❘. +lemma depth_m_dx (p): + ♭p = ♭(p◖𝗺). // qed. -lemma depth_A (q): ❘q❘ = ❘𝗔◗q❘. +lemma depth_L_dx (p): + ↑♭p = ♭(p◖𝗟). // qed. -lemma depth_S (q): ❘q❘ = ❘𝗦◗q❘. +lemma depth_A_dx (p): + ♭p = ♭(p◖𝗔). +// qed. + +lemma depth_S_dx (p): + ♭p = ♭(p◖𝗦). +// qed. + +(* Main constructions *******************************************************) + +theorem depth_append (p) (q): + (♭p)+(♭q) = ♭(p●q). +#p #q elim q -q // +* [ #k ] #q #IH