equal
deleted
inserted
replaced
134 |
134 |
135 definition random_fun_lift :: "(Random.seed \<Rightarrow> ('b \<times> (unit \<Rightarrow> term)) \<times> Random.seed) |
135 definition random_fun_lift :: "(Random.seed \<Rightarrow> ('b \<times> (unit \<Rightarrow> term)) \<times> Random.seed) |
136 \<Rightarrow> Random.seed \<Rightarrow> (('a::term_of \<Rightarrow> 'b::typerep) \<times> (unit \<Rightarrow> term)) \<times> Random.seed" |
136 \<Rightarrow> Random.seed \<Rightarrow> (('a::term_of \<Rightarrow> 'b::typerep) \<times> (unit \<Rightarrow> term)) \<times> Random.seed" |
137 where |
137 where |
138 "random_fun_lift f = |
138 "random_fun_lift f = |
139 random_fun_aux TYPEREP('a) TYPEREP('b) (op =) Code_Evaluation.term_of f Random.split_seed" |
139 random_fun_aux TYPEREP('a) TYPEREP('b) (=) Code_Evaluation.term_of f Random.split_seed" |
140 |
140 |
141 instantiation "fun" :: ("{equal, term_of}", random) random |
141 instantiation "fun" :: ("{equal, term_of}", random) random |
142 begin |
142 begin |
143 |
143 |
144 definition |
144 definition |