src/Pure/axclass.ML
changeset 21687 f689f729afab
parent 21463 42dd50268c8b
child 21893 29438dfa8a16
equal deleted inserted replaced
21686:4f5f6c685ab4 21687:f689f729afab
   255   let
   255   let
   256     val arity = Sign.cert_arity thy raw_arity;
   256     val arity = Sign.cert_arity thy raw_arity;
   257     val names = map (prefix arity_prefix) (Logic.name_arities arity);
   257     val names = map (prefix arity_prefix) (Logic.name_arities arity);
   258     val props = Logic.mk_arities arity;
   258     val props = Logic.mk_arities arity;
   259     val ths = Goal.prove_multi (ProofContext.init thy) [] [] props
   259     val ths = Goal.prove_multi (ProofContext.init thy) [] [] props
   260       (fn _ => Tactic.precise_conjunction_tac (length props) 1 THEN tac) handle ERROR msg =>
   260       (fn _ => Goal.precise_conjunction_tac (length props) 1 THEN tac) handle ERROR msg =>
   261         cat_error msg ("The error(s) above occurred while trying to prove type arity " ^
   261         cat_error msg ("The error(s) above occurred while trying to prove type arity " ^
   262           quote (Sign.string_of_arity thy arity));
   262           quote (Sign.string_of_arity thy arity));
   263   in
   263   in
   264     thy
   264     thy
   265     |> PureThy.add_thms (map (rpair []) (names ~~ ths))
   265     |> PureThy.add_thms (map (rpair []) (names ~~ ths))