X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fgrammar%2Flenv_length.ma;h=a7a99ba015b8ed5fcaec9c8fa7a1d41af3ca0510;hb=7fff13721f6e7040e76faad31583b1cb86693d2c;hp=7c31b59e75152f196c6730615846affee229983b;hpb=c60524dec7ace912c416a90d6b926bee8553250b;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/grammar/lenv_length.ma b/matita/matita/contribs/lambdadelta/basic_2/grammar/lenv_length.ma index 7c31b59e7..a7a99ba01 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/grammar/lenv_length.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/grammar/lenv_length.ma @@ -16,37 +16,43 @@ include "basic_2/grammar/lenv.ma". (* LENGTH OF A LOCAL ENVIRONMENT ********************************************) -let rec length L ≝ match L with +rec definition length L ≝ match L with [ LAtom ⇒ 0 -| LPair L _ _ ⇒ length L + 1 +| LPair L _ _ ⇒ ⫯(length L) ]. interpretation "length (local environment)" 'card L = (length L). +(* Basic properties *********************************************************) + +lemma length_atom: |⋆| = 0. +// qed. + +lemma length_pair: ∀I,L,V. |L.ⓑ{I}V| = ⫯|L|. +// qed. + (* Basic inversion lemmas ***************************************************) lemma length_inv_zero_dx: ∀L. |L| = 0 → L = ⋆. -* // #L #I #V normalize length_pair +#H destruct qed-. lemma length_inv_zero_sn: ∀L. 0 = |L| → L = ⋆. -* // #L #I #V normalize length_atom #H destruct qed-. -lemma length_inv_pos_sn: ∀l,L. l + 1 = |L| → - ∃∃I,K,V. l = |K| & L = K. ⓑ{I}V. -#l * -[ normalize