equal
deleted
inserted
replaced
281 val arity = prep_arity thy raw_arity; |
281 val arity = prep_arity thy raw_arity; |
282 val txt = quote (Sign.string_of_arity thy arity); |
282 val txt = quote (Sign.string_of_arity thy arity); |
283 val _ = message ("Proving type arity " ^ txt ^ " ..."); |
283 val _ = message ("Proving type arity " ^ txt ^ " ..."); |
284 val props = (mk_arities arity); |
284 val props = (mk_arities arity); |
285 val ths = Goal.prove_multi thy [] [] props |
285 val ths = Goal.prove_multi thy [] [] props |
286 (fn _ => Tactic.smart_conjunction_tac (length props) THEN tac) handle ERROR_MESSAGE msg => |
286 (fn _ => Tactic.precise_conjunction_tac (length props) 1 THEN tac) |
287 error (msg ^ "\nThe error(s) above occurred while trying to prove " ^ txt); |
287 handle ERROR_MESSAGE msg => |
|
288 error (msg ^ "\nThe error(s) above occurred while trying to prove " ^ txt); |
288 in add_arity_thms ths thy end; |
289 in add_arity_thms ths thy end; |
289 |
290 |
290 in |
291 in |
291 |
292 |
292 val add_inst_subclass = ext_inst_subclass read_classrel; |
293 val add_inst_subclass = ext_inst_subclass read_classrel; |