equal
deleted
inserted
replaced
43 |
43 |
44 definition lift_random :: "(Random.seed \<Rightarrow> ('a \<times> (unit \<Rightarrow> term)) \<times> Random.seed) \<Rightarrow> 'a rpred" |
44 definition lift_random :: "(Random.seed \<Rightarrow> ('a \<times> (unit \<Rightarrow> term)) \<times> Random.seed) \<Rightarrow> 'a rpred" |
45 where "lift_random g = scomp g (Pair o (Predicate.single o fst))" |
45 where "lift_random g = scomp g (Pair o (Predicate.single o fst))" |
46 |
46 |
47 definition map :: "('a \<Rightarrow> 'b) \<Rightarrow> ('a rpred \<Rightarrow> 'b rpred)" |
47 definition map :: "('a \<Rightarrow> 'b) \<Rightarrow> ('a rpred \<Rightarrow> 'b rpred)" |
48 where "map f P = bind P (return o f)" |
48 where "map f P = bind P (return o f)" |
49 |
49 |
50 hide (open) const return bind supp map |
50 hide (open) const return bind supp map |
51 |
51 |
52 end |
52 end |