]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/ground_2/lib/streams_hdtl.ma
notational update in lambdadelta completed
[helm.git] / matita / matita / contribs / lambdadelta / ground_2 / lib / streams_hdtl.ma
index 90af6fd87354cdcbf11061f7ae0aab13c07a52ab..f128e5f73f8d4754566c0b1b6837c2b9b5835ffe 100644 (file)
@@ -12,7 +12,8 @@
 (*                                                                        *)
 (**************************************************************************)
 
-include "ground_2/lib/streams.ma".
+include "ground_2/notation/functions/downspoon_2.ma".
+include "ground_2/lib/streams_eq.ma".
 include "ground_2/lib/arith.ma".
 
 (* STREAMS ******************************************************************)
@@ -23,12 +24,16 @@ definition hd (A:Type[0]): stream A → A ≝
 definition tl (A:Type[0]): stream A → stream A ≝
               λt. match t with [ seq _ t ⇒ t ].
 
-let rec tln (A:Type[0]) (i:nat) on i: stream A → stream A ≝ ?.
-cases i -i [ #t @t | #i * #_ #t @(tln … i t) ]
-qed.
+interpretation "tail (streams)" 'DownSpoon A t = (tl A t).
 
 (* basic properties *********************************************************)
 
-lemma eq_stream_split (A) (t): (hd … t) @ (tl … t) ≐⦋A⦌ t.
+lemma hd_rew (A) (a) (t): a = hd A (a⨮t).
+// qed.
+
+lemma tl_rew (A) (a) (t): t = tl A (a⨮t).
+// qed.
+
+lemma eq_stream_split (A) (t): (hd … t) ⨮ ⫰t ≗{A} t.
 #A * //
 qed.