X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Farith%2Fnat_iter.ma;h=7c883976c743d9fdd0295d19341b3242859ec056;hp=94875efc1c29013a7722751aea53338ede59c428;hb=21de0d35017656c5a55528390b54b0b2ae395b44;hpb=68e028d053806177e218ee1a5f8778d3011bef83 diff --git a/matita/matita/contribs/lambdadelta/ground/arith/nat_iter.ma b/matita/matita/contribs/lambdadelta/ground/arith/nat_iter.ma index 94875efc1..7c883976c 100644 --- a/matita/matita/contribs/lambdadelta/ground/arith/nat_iter.ma +++ b/matita/matita/contribs/lambdadelta/ground/arith/nat_iter.ma @@ -17,6 +17,7 @@ include "ground/arith/nat.ma". (* ITERATED FUNCTION FOR NON-NEGATIVE INTEGERS ******************************) +(*** iter *) definition niter (n:nat) (A:Type[0]) (f:A→A) (a:A) ≝ match n with [ nzero ⇒ a @@ -28,16 +29,18 @@ interpretation "iterated function (non-negative integers)" 'Exp A f n = (niter n A f). -(* Basic rewrites ***********************************************************) +(* Basic constructions ******************************************************) +(*** iter_O *) lemma niter_zero (A) (f) (a): a = (f^{A}𝟎) a. // qed. lemma niter_inj (A) (f) (p) (a): f^p a = f^{A}(ninj p) a. // qed. -(* Advanced rewrites ********************************************************) +(* Advanced constructions ***************************************************) +(*** iter_n_Sm *) lemma niter_appl (A) (f) (n) (a): f (f^n a) = f^{A}n (f a). #A #f * // #p #a