src/Pure/axclass.ML
changeset 79336 032a31db4c6f
parent 79324 b03e22697999
child 79411 700d4f16b5f2
equal deleted inserted replaced
79335:6d167422bcb0 79336:032a31db4c6f
   392 
   392 
   393     val conjs = Logic.mk_of_sort (Term.aT [], super) @ flat axiomss;
   393     val conjs = Logic.mk_of_sort (Term.aT [], super) @ flat axiomss;
   394     val class_eq =
   394     val class_eq =
   395       Logic.mk_equals (Logic.mk_of_class (Term.aT [], class), Logic.mk_conjunction_balanced conjs);
   395       Logic.mk_equals (Logic.mk_of_class (Term.aT [], class), Logic.mk_conjunction_balanced conjs);
   396 
   396 
   397     val ([def], def_thy) =
   397     val (def, def_thy) =
   398       thy
   398       thy
   399       |> Sign.primitive_class (bclass, super)
   399       |> Sign.primitive_class (bclass, super)
   400       |> Global_Theory.add_defs false [((Thm.def_binding bconst, class_eq), [])];
   400       |> Global_Theory.add_def (Thm.def_binding bconst, class_eq);
   401     val (raw_intro, (raw_classrel, raw_axioms)) =
   401     val (raw_intro, (raw_classrel, raw_axioms)) =
   402       split_defined (length conjs) def ||> chop (length super);
   402       split_defined (length conjs) def ||> chop (length super);
   403 
   403 
   404 
   404 
   405     (* facts *)
   405     (* facts *)