slightly changed args of infer_types;
replaced parents by enclose;
renamed 2nd add_types to attach_types and fixed the
typevar-sort-constraint BUG;
various minor internal changes;
(* Title: HOLCF/stream2.thy
ID: $Id$
Author: Franz Regensburger
Copyright 1993 Technische Universitaet Muenchen
Additional constants for stream
*)
Stream2 = Stream +
consts
smap :: "('a -> 'b) -> 'a stream -> 'b stream"
rules
smap_def
"smap = fix[LAM h f s. stream_when[LAM x l.scons[f[x]][h[f][l]]][s]]"
end
(*
smap[f][UU] = UU
x~=UU --> smap[f][scons[x][xs]] = scons[f[x]][smap[f][xs]]
*)