src/Pure/axclass.ML
changeset 18467 bb7b309ac395
parent 18418 bf448d999b7e
child 18574 46ed84a64cf6
equal deleted inserted replaced
18466:389a6f9c31f4 18467:bb7b309ac395
   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;