src/HOL/HOLCF/Tools/Domain/domain_induction.ML
changeset 80634 a90ab1ea6458
parent 79336 032a31db4c6f
child 80636 4041e7c8059d
equal deleted inserted replaced
80633:276b07a1b5f5 80634:a90ab1ea6458
   210           EVERY (map finite_tac (take_induct_thms ~~ fin_inds))
   210           EVERY (map finite_tac (take_induct_thms ~~ fin_inds))
   211         end
   211         end
   212     in Goal.prove_global thy [] (adms @ assms) goal tacf end
   212     in Goal.prove_global thy [] (adms @ assms) goal tacf end
   213 
   213 
   214   (* case names for induction rules *)
   214   (* case names for induction rules *)
   215   val dnames = map (fst o dest_Type) newTs
   215   val dnames = map dest_Type_name newTs
   216   val case_ns =
   216   val case_ns =
   217     let
   217     let
   218       val adms =
   218       val adms =
   219           if is_finite then [] else
   219           if is_finite then [] else
   220           if length dnames = 1 then ["adm"] else
   220           if length dnames = 1 then ["adm"] else