From 797a607af83f82102033270087722a7e59ddcd17 Mon Sep 17 00:00:00 2001 From: Ferruccio Guidi Date: Thu, 8 Sep 2022 13:02:59 +0200 Subject: [PATCH] partial update in delayed_updating + we add reference by depth with offset + component "syntax" updated + some improvements + height parked for now --- .../height/path_closed_height.etc} | 0 .../height/path_height.etc} | 0 .../sharp_1.ma => etc/height/sharp_1.etc} | 0 .../lambdadelta/delayed_updating/names.txt | 1 + .../notation/functions/nodelabel_d_1.ma | 4 +- .../notation/functions/nodelabel_d_2.ma | 19 +++++ .../notation/functions/tau_3.ma | 19 +++++ .../delayed_updating/syntax/label.ma | 18 +++-- .../syntax/path_closed_structure.ma | 16 ++-- .../delayed_updating/syntax/path_depth.ma | 22 ++++-- .../delayed_updating/syntax/path_inner.ma | 65 +++++----------- .../delayed_updating/syntax/path_structure.ma | 75 +++++++++++++++---- .../syntax/path_structure_inner.ma | 3 +- .../syntax/prototerm_constructors.ma | 16 ++++ .../syntax/prototerm_proper_constructors.ma | 5 ++ 15 files changed, 176 insertions(+), 87 deletions(-) rename matita/matita/contribs/lambdadelta/delayed_updating/{syntax/path_closed_height.ma => etc/height/path_closed_height.etc} (100%) rename matita/matita/contribs/lambdadelta/delayed_updating/{syntax/path_height.ma => etc/height/path_height.etc} (100%) rename matita/matita/contribs/lambdadelta/delayed_updating/{notation/functions/sharp_1.ma => etc/height/sharp_1.etc} (100%) create mode 100644 matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/nodelabel_d_2.ma create mode 100644 matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/tau_3.ma diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_closed_height.ma b/matita/matita/contribs/lambdadelta/delayed_updating/etc/height/path_closed_height.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_closed_height.ma rename to matita/matita/contribs/lambdadelta/delayed_updating/etc/height/path_closed_height.etc diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_height.ma b/matita/matita/contribs/lambdadelta/delayed_updating/etc/height/path_height.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_height.ma rename to matita/matita/contribs/lambdadelta/delayed_updating/etc/height/path_height.etc diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/sharp_1.ma b/matita/matita/contribs/lambdadelta/delayed_updating/etc/height/sharp_1.etc similarity index 100% rename from matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/sharp_1.ma rename to matita/matita/contribs/lambdadelta/delayed_updating/etc/height/sharp_1.etc diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/names.txt b/matita/matita/contribs/lambdadelta/delayed_updating/names.txt index aee943494..cd980b568 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/names.txt +++ b/matita/matita/contribs/lambdadelta/delayed_updating/names.txt @@ -1,6 +1,7 @@ METAVARIABLES b : balanced path + d : depth f, g : update function h, k : reference index by depth l : label diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/nodelabel_d_1.ma b/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/nodelabel_d_1.ma index 15767cf59..5a6343c5a 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/nodelabel_d_1.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/nodelabel_d_1.ma @@ -14,6 +14,6 @@ (* NOTATION FOR DELAYED UPDATING ********************************************) -notation "hvbox( 𝗱 break term 70 a )" +notation "hvbox( 𝗱 break term 70 k )" non associative with precedence 70 - for @{ 'NodeLabelD $a }. + for @{ 'NodeLabelD $k }. diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/nodelabel_d_2.ma b/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/nodelabel_d_2.ma new file mode 100644 index 000000000..823902606 --- /dev/null +++ b/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/nodelabel_d_2.ma @@ -0,0 +1,19 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +(* NOTATION FOR DELAYED UPDATING ********************************************) + +notation "hvbox( 𝗱 ❨ break term 46 k, break term 46 d ❩ )" + non associative with precedence 70 + for @{ 'NodeLabelD $k $d }. diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/tau_3.ma b/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/tau_3.ma new file mode 100644 index 000000000..204dd898e --- /dev/null +++ b/matita/matita/contribs/lambdadelta/delayed_updating/notation/functions/tau_3.ma @@ -0,0 +1,19 @@ +(**************************************************************************) +(* ___ *) +(* ||M|| *) +(* ||A|| A project by Andrea Asperti *) +(* ||T|| *) +(* ||I|| Developers: *) +(* ||T|| The HELM team. *) +(* ||A|| http://helm.cs.unibo.it *) +(* \ / *) +(* \ / This file is distributed under the terms of the *) +(* v GNU General Public License Version 2 *) +(* *) +(**************************************************************************) + +(* NOTATION FOR DELAYED UPDATING ********************************************) + +notation "hvbox( 𝛕 ❨ break term 46 k, break term 46 d ❩. break term 70 t )" + non associative with precedence 70 + for @{ 'Tau $k $d $t }. diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/label.ma b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/label.ma index 6a607559c..7106e0b0b 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/label.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/label.ma @@ -16,8 +16,9 @@ * Initial invocation: - Patience on me to gain peace and perfection! - *) -include "ground/arith/pnat.ma". +include "ground/arith/nat.ma". include "delayed_updating/notation/functions/nodelabel_d_1.ma". +include "delayed_updating/notation/functions/nodelabel_d_2.ma". include "delayed_updating/notation/functions/nodelabel_m_0.ma". include "delayed_updating/notation/functions/edgelabel_l_0.ma". include "delayed_updating/notation/functions/edgelabel_a_0.ma". @@ -26,17 +27,22 @@ include "delayed_updating/notation/functions/edgelabel_s_0.ma". (* LABEL ********************************************************************) inductive label: Type[0] ≝ -| label_d: pnat → label -| label_m: label -| label_L: label -| label_A: label -| label_S: label +| label_d : pnat → label +| label_d2: pnat → nat → label +| label_m : label +| label_L : label +| label_A : label +| label_S : label . interpretation "variable reference by depth (label)" 'NodeLabelD k = (label_d k). +interpretation + "variable reference by depth with offset (label)" + 'NodeLabelD k d = (label_d2 k d). + interpretation "mark (label)" 'NodeLabelM = (label_m). diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_closed_structure.ma b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_closed_structure.ma index 90522f905..99b0a9235 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_closed_structure.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_closed_structure.ma @@ -12,22 +12,16 @@ (* *) (**************************************************************************) -include "delayed_updating/syntax/path_closed_height.ma". +include "delayed_updating/syntax/path_closed.ma". include "delayed_updating/syntax/path_structure.ma". +include "delayed_updating/syntax/path_depth.ma". (* CLOSED CONDITION FOR PATH ************************************************) (* Constructions with structure *********************************************) -lemma path_closed_structure_height (p) (n): - p ϵ 𝐂❨n❩ → ⊗p ϵ 𝐂❨♯p+n❩. -#p #n #Hn elim Hn -Hn // -#p #n #_ #IH [ list_cons_comm #H0 +elim (eq_inv_append_structure … H0) -H0 #r1 #r2 +list_cons_comm #H0 diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_structure_inner.ma b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_structure_inner.ma index 99ed6a323..4de1097bb 100644 --- a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_structure_inner.ma +++ b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_structure_inner.ma @@ -23,8 +23,9 @@ lemma structure_pic (p): ⊗p ϵ 𝐈. #p elim p -p [