X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Fsyntax%2Fpath_head.ma;fp=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fdelayed_updating%2Fsyntax%2Fpath_head.ma;h=0000000000000000000000000000000000000000;hb=b1c5b3370653db6e495bbf6b3799cba592746cdd;hp=4610e4f69954158d247c451c92832a7819ff2455;hpb=e4328f6887dc0235d49d965a5ba44787b1754b80;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_head.ma b/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_head.ma deleted file mode 100644 index 4610e4f69..000000000 --- a/matita/matita/contribs/lambdadelta/delayed_updating/syntax/path_head.ma +++ /dev/null @@ -1,134 +0,0 @@ -(**************************************************************************) -(* ___ *) -(* ||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 *) -(* *) -(**************************************************************************) - -include "delayed_updating/syntax/path_labels.ma". -include "delayed_updating/notation/functions/downarrowright_2.ma". -include "ground/arith/nat_plus.ma". -include "ground/arith/nat_pred_succ.ma". - -(* HEAD FOR PATH ************************************************************) - -rec definition path_head (n) (p) on p: path ≝ -match n with -[ nzero ⇒ 𝐞 -| ninj m ⇒ - match p with - [ list_empty ⇒ 𝗟∗∗n - | list_lcons l q ⇒ - match l with - [ label_d k ⇒ (path_head (n+k) q)◖l - | label_m ⇒ (path_head n q)◖l - | label_L ⇒ (path_head (↓m) q)◖l - | label_A ⇒ (path_head n q)◖l - | label_S ⇒ (path_head n q)◖l - ] - ] -]. - -interpretation - "head (path)" - 'DownArrowRight n p = (path_head n p). - -(* basic constructions ****************************************************) - -lemma path_head_zero (p): - (𝐞) = ↳[𝟎]p. -* // qed. - -lemma path_head_empty (n): - (𝗟∗∗n) = ↳[n]𝐞. -* // qed. - -lemma path_head_d_dx (p) (n) (k:pnat): - (↳[↑n+k]p)◖𝗱k = ↳[↑n](p◖𝗱k). -// qed. - -lemma path_head_m_dx (p) (n): - (↳[↑n]p)◖𝗺 = ↳[↑n](p◖𝗺). -// qed. - -lemma path_head_L_dx (p) (n): - (↳[n]p)◖𝗟 = ↳[↑n](p◖𝗟). -#p #n -whd in ⊢ (???%); // -qed. - -lemma path_head_A_dx (p) (n): - (↳[↑n]p)◖𝗔 = ↳[↑n](p◖𝗔). -// qed. - -lemma path_head_S_dx (p) (n): - (↳[↑n]p)◖𝗦 = ↳[↑n](p◖𝗦). -// qed. - -(* Basic inversions *********************************************************) - -lemma eq_inv_path_head_zero_dx (q) (p): - q = ↳[𝟎]p → 𝐞 = q. -#q * // -qed-. - -lemma eq_inv_path_empty_head (p) (n): - (𝐞) = ↳[n]p → 𝟎 = n. -* -[ #n