equal
deleted
inserted
replaced
201 where "Random g = scomp g (Pair o (Predicate.single o fst))" |
201 where "Random g = scomp g (Pair o (Predicate.single o fst))" |
202 |
202 |
203 definition map :: "('a \<Rightarrow> 'b) \<Rightarrow> ('a randompred \<Rightarrow> 'b randompred)" |
203 definition map :: "('a \<Rightarrow> 'b) \<Rightarrow> ('a randompred \<Rightarrow> 'b randompred)" |
204 where "map f P = bind P (single o f)" |
204 where "map f P = bind P (single o f)" |
205 |
205 |
206 hide (open) fact iter'.simps iter_def empty_def single_def bind_def union_def if_randompred_def iterate_upto_def not_randompred_def Random_def map_def |
206 hide_fact (open) iter'.simps iter_def empty_def single_def bind_def union_def if_randompred_def iterate_upto_def not_randompred_def Random_def map_def |
207 hide (open) type randompred |
207 hide_type (open) randompred |
208 hide (open) const random collapse beyond random_fun_aux random_fun_lift |
208 hide_const (open) random collapse beyond random_fun_aux random_fun_lift |
209 iter' iter empty single bind union if_randompred iterate_upto not_randompred Random map |
209 iter' iter empty single bind union if_randompred iterate_upto not_randompred Random map |
210 |
210 |
211 end |
211 end |