data specification
using nat, list-del
data types
Stream('a) = ⌜ . ⌝(. .l : List('a)) with finp
| ⌜ . ⌝(. .f : Nat → 'a)
;
variables
σ : Stream('a);
nf : Nat → 'a;
x : List('a);
m : Nat;
l : List('a);
f : Nat → 'a;
end data specification