src/HOL/Quickcheck_Random.thy
changeset 67399 eab6ce8368fa
parent 62979 1e527c40ae40
child 68587 1148f63304f4
equal deleted inserted replaced
67398:5eb932e604a2 67399:eab6ce8368fa
   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