From 306205b6853874cf485152222593b57249c6e7fa Mon Sep 17 00:00:00 2001 From: Ferruccio Guidi Date: Wed, 6 Jul 2022 14:23:57 +0200 Subject: [PATCH] partial commit in delayed_updating + reversing paths in component "syntax" + some renaming --- .../delayed_updating/syntax/bdd_term.ma | 4 +- .../delayed_updating/syntax/label.ma | 2 +- .../delayed_updating/syntax/path.ma | 13 +-- .../delayed_updating/syntax/path_depth.ma | 55 ++++++------ .../syntax/path_depth_labels.ma | 2 +- .../delayed_updating/syntax/path_head.ma | 88 +++++++++---------- .../syntax/path_head_depth.ma | 12 +-- .../syntax/path_head_structure.ma | 24 ++--- .../delayed_updating/syntax/path_height.ma | 57 ++++++------ .../syntax/path_height_labels.ma | 2 +- .../delayed_updating/syntax/path_inner.ma | 38 ++++---- .../delayed_updating/syntax/path_labels.ma | 2 +- .../delayed_updating/syntax/path_proper.ma | 20 +++-- .../delayed_updating/syntax/path_structure.ma | 58 ++++++------ .../syntax/path_structure_depth.ma | 8 +- .../syntax/path_structure_inner.ma | 4 +- .../delayed_updating/syntax/preterm.ma | 10 +-- .../syntax/prototerm_constructors.ma | 17 ++-- .../syntax/prototerm_constructors_eq.ma | 4 +- .../syntax/prototerm_proper_constructors.ma | 6 +- 20 files changed, 220 insertions(+), 206 deletions(-) diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/bdd_term.ma b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/bdd_term.ma index 9f8238432..1eb11fc03 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/bdd_term.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/bdd_term.ma @@ -24,8 +24,8 @@ include "ground/xoa/ex_5_3.ma". (* BY-DEPTH DELAYED (BDD) TERM **********************************************) inductive bdd: 𝒫❨prototerm❩ ≝ -| bdd_oref: ∀n. bdd (⧣n) -| bdd_iref: ∀t,n. bdd t → bdd (𝛕n.t) +| bdd_oref: ∀k. bdd (⧣k) +| bdd_iref: ∀t,k. bdd t → bdd (𝛕k.t) | bdd_abst: ∀t. bdd t → bdd (𝛌.t) | bdd_appl: ∀u,t. bdd u → bdd t → bdd (@u.t) | bdd_conv: ∀t1,t2. t1 ⇔ t2 → bdd t1 → bdd t2 diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/label.ma b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/label.ma index 98e63f06b..6a607559c 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/label.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/label.ma @@ -35,7 +35,7 @@ inductive label: Type[0] ≝ interpretation "variable reference by depth (label)" - 'NodeLabelD p = (label_d p). + 'NodeLabelD k = (label_d k). interpretation "mark (label)" diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path.ma b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path.ma index 2d8abe304..39ac9c46c 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path.ma @@ -21,7 +21,8 @@ include "delayed_updating/syntax/label.ma". (* PATH *********************************************************************) -(* Note: a path is a list of labels *) +(* Note: a path is a list of labels *) +(* Note: constructed from the leaf (right end) to the root (left end) *) definition path ≝ list label. interpretation @@ -29,13 +30,13 @@ interpretation 'ElementE = (list_empty label). interpretation - "left cons (paths)" - 'BlackHalfCircleRight l p = (list_lcons label l p). + "right cons (paths)" + 'BlackHalfCircleLeft p l = (list_lcons label l p). interpretation "append (paths)" - 'BlackCircle l1 l2 = (list_append label l1 l2). + 'BlackCircle p q = (list_append label q p). interpretation - "right cons (paths)" - 'BlackHalfCircleLeft p l = (list_append label p (list_lcons label l (list_empty label))). + "left cons (paths)" + 'BlackHalfCircleRight l p = (list_append label p (list_lcons label l (list_empty label))). 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 474bbcbda..eff4eb16b 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_depth.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_depth.ma @@ -40,53 +40,58 @@ interpretation lemma depth_empty: 𝟎 = ♭𝐞. // qed. -lemma depth_d_sn (q) (n): ♭q = ♭(𝗱n◗q). +lemma depth_d_dx (p) (k): + ♭p = ♭(p◖𝗱k). // qed. -lemma depth_m_sn (q): ♭q = ♭(𝗺◗q). +lemma depth_m_dx (p): + ♭p = ♭(p◖𝗺). // qed. -lemma depth_L_sn (q): ↑♭q = ♭(𝗟◗q). +lemma depth_L_dx (p): + ↑♭p = ♭(p◖𝗟). // qed. -lemma depth_A_sn (q): ♭q = ♭(𝗔◗q). +lemma depth_A_dx (p): + ♭p = ♭(p◖𝗔). // qed. -lemma depth_S_sn (q): ♭q = ♭(𝗦◗q). +lemma depth_S_dx (p): + ♭p = ♭(p◖𝗦). // qed. (* Main constructions *******************************************************) -theorem depth_append (p1) (p2): - (♭p2)+(♭p1) = ♭(p1●p2). -#p1 elim p1 -p1 // -* [ #n ] #p1 #IH #p2