X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground_2%2Flib%2Fstreams_tls.ma;h=f2a910aa0c0295c6f2b7e34eadd586a8119cc07f;hb=bf816f05ddbe0ded4948dd33490619724dc4f7cf;hp=96b9abe98521280fbb067685fb0fdf4e5e70d528;hpb=a4ba77d9df157e443e6fb39dc7376996faea9973;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/ground_2/lib/streams_tls.ma b/matita/matita/contribs/lambdadelta/ground_2/lib/streams_tls.ma index 96b9abe98..f2a910aa0 100644 --- a/matita/matita/contribs/lambdadelta/ground_2/lib/streams_tls.ma +++ b/matita/matita/contribs/lambdadelta/ground_2/lib/streams_tls.ma @@ -12,30 +12,30 @@ (* *) (**************************************************************************) -include "ground_2/notation/functions/drops_2.ma". +include "ground_2/notation/functions/downspoonstar_3.ma". include "ground_2/lib/streams_hdtl.ma". (* STREAMS ******************************************************************) -let rec tls (A:Type[0]) (n:nat) on n: stream A → stream A ≝ ?. +rec definition tls (A:Type[0]) (n:nat) on n: stream A → stream A ≝ ?. cases n -n [ #t @t | #n #t @tl @(tls … n t) ] -qed. +defined. -interpretation "recursive tail (strams)" 'Drops n f = (tls ? n f). +interpretation "iterated tail (strams)" 'DownSpoonStar A n f = (tls A n f). (* basic properties *********************************************************) lemma tls_rew_O (A) (t): t = tls A 0 t. // qed. -lemma tls_rew_S (A) (n) (t): ↓↓*[n]t = tls A (⫯n) t. +lemma tls_rew_S (A) (n) (t): ⫰⫰*[n]t = tls A (↑n) t. // qed. -lemma tls_S1 (A) (n) (t): ↓*[n]↓t = tls A (⫯n) t. +lemma tls_S1 (A) (n) (t): ⫰*[n]⫰t = tls A (↑n) t. #A #n elim n -n // qed. -lemma tls_eq_repl (A) (n): eq_stream_repl A (λt1,t2. ↓*[n] t1 ≐ ↓*[n] t2). +lemma tls_eq_repl (A) (n): eq_stream_repl A (λt1,t2. ⫰*[n] t1 ≗ ⫰*[n] t2). #A #n elim n -n // #n #IH * #n1 #t1 * #n2 #t2 #H elim (eq_stream_inv_seq … H) /2 width=7 by/ qed.