coinduction Eq_trans.
- transitivity (hd s2).
+ case H; intros; assumption.
+ case H0; intros; assumption.
- apply (Eq_trans (tl s1) (tl s2) (tl s3)).
+ case H; trivial with datatypes.
+ case H0; trivial with datatypes.
Qed.
(** The definition given is equivalent to require the elements at each position to be equal *)

Theorem eqst_ntheq :
forall (n:nat) (s1 s2:Stream), EqSt s1 s2 -> Str_nth n s1 = Str_nth n s2.