src/HOL/Quickcheck_Narrowing.thy
changeset 66148 5e60c2d0a1f1
parent 65482 721feefce9c6
child 66758 9312ce5a938d
equal deleted inserted replaced
66147:9225370db5f0 66148:5e60c2d0a1f1
   258 
   258 
   259 instance ..
   259 instance ..
   260 
   260 
   261 end
   261 end
   262 
   262 
   263 lemma [code, code del]: "partial_term_of (ty :: int itself) t \<equiv> undefined"
   263 declare [[code drop: "partial_term_of :: int itself \<Rightarrow> _"]]
   264   by (rule partial_term_of_anything)+
       
   265 
   264 
   266 lemma [code]:
   265 lemma [code]:
   267   "partial_term_of (ty :: int itself) (Narrowing_variable p t) \<equiv>
   266   "partial_term_of (ty :: int itself) (Narrowing_variable p t) \<equiv>
   268     Code_Evaluation.Free (STR ''_'') (Typerep.Typerep (STR ''Int.int'') [])"
   267     Code_Evaluation.Free (STR ''_'') (Typerep.Typerep (STR ''Int.int'') [])"
   269   "partial_term_of (ty :: int itself) (Narrowing_constructor i []) \<equiv>
   268   "partial_term_of (ty :: int itself) (Narrowing_constructor i []) \<equiv>
   281 
   280 
   282 instance ..
   281 instance ..
   283 
   282 
   284 end
   283 end
   285 
   284 
   286 lemma [code, code del]: "partial_term_of (ty :: integer itself) t \<equiv> undefined"
   285 declare [[code drop: "partial_term_of :: integer itself \<Rightarrow> _"]]  
   287   by (rule partial_term_of_anything)+
       
   288 
   286 
   289 lemma [code]:
   287 lemma [code]:
   290   "partial_term_of (ty :: integer itself) (Narrowing_variable p t) \<equiv>
   288   "partial_term_of (ty :: integer itself) (Narrowing_variable p t) \<equiv>
   291     Code_Evaluation.Free (STR ''_'') (Typerep.Typerep (STR ''Code_Numeral.integer'') [])"
   289     Code_Evaluation.Free (STR ''_'') (Typerep.Typerep (STR ''Code_Numeral.integer'') [])"
   292   "partial_term_of (ty :: integer itself) (Narrowing_constructor i []) \<equiv>
   290   "partial_term_of (ty :: integer itself) (Narrowing_constructor i []) \<equiv>