equal
deleted
inserted
replaced
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 |