Notation "[ x ; .. ; y ]" := (cons x .. (cons y nil) ..).Notation "{ x ; .. ; y }" := (cons x .. (cons y nil) ..).CoInductive stream A := { hd : A; tl : stream A }.CoInductive stream A := { hd : A; tl : stream A }.CoInductive stream A := { hd : A; tl : stream A }.Definition expand {A} (s : stream A) := (Build_stream s.(hd) s.(tl)).

(* Specifications: *)
Theorem test : [1; 2] = {1; 2}.