src/HOL/Library/Countable.thy
changeset 56243 2e10a36b8d46
parent 55413 a8e96847523c
child 57437 0baf08c075b9
equal deleted inserted replaced
56242:d0a9100a5a38 56243:2e10a36b8d46
   273   fun countable_tac ctxt =
   273   fun countable_tac ctxt =
   274     SUBGOAL (fn (goal, i) =>
   274     SUBGOAL (fn (goal, i) =>
   275       let
   275       let
   276         val ty_name =
   276         val ty_name =
   277           (case goal of
   277           (case goal of
   278             (_ $ Const (@{const_name TYPE}, Type (@{type_name itself}, [Type (n, _)]))) => n
   278             (_ $ Const (@{const_name Pure.type}, Type (@{type_name itself}, [Type (n, _)]))) => n
   279           | _ => raise Match)
   279           | _ => raise Match)
   280         val typedef_info = hd (Typedef.get_info ctxt ty_name)
   280         val typedef_info = hd (Typedef.get_info ctxt ty_name)
   281         val typedef_thm = #type_definition (snd typedef_info)
   281         val typedef_thm = #type_definition (snd typedef_info)
   282         val pred_name =
   282         val pred_name =
   283           (case HOLogic.dest_Trueprop (concl_of typedef_thm) of
   283           (case HOLogic.dest_Trueprop (concl_of typedef_thm) of