src/Pure/Isar/class_target.ML
changeset 31012 751f5aa3e315
parent 30764 3e3e7aa0cc7a
child 31210 d6681ddc046c
equal deleted inserted replaced
31011:506e57123cd1 31012:751f5aa3e315
   276         (fst o rules thy) sub];
   276         (fst o rules thy) sub];
   277     val tac = EVERY (map (TRYALL o Tactic.rtac) intros);
   277     val tac = EVERY (map (TRYALL o Tactic.rtac) intros);
   278     val classrel = Goal.prove_global thy [] [] (Logic.mk_classrel (sub, sup))
   278     val classrel = Goal.prove_global thy [] [] (Logic.mk_classrel (sub, sup))
   279       (K tac);
   279       (K tac);
   280     val diff_sort = Sign.complete_sort thy [sup]
   280     val diff_sort = Sign.complete_sort thy [sup]
   281       |> subtract (op =) (Sign.complete_sort thy [sub]);
   281       |> subtract (op =) (Sign.complete_sort thy [sub])
       
   282       |> filter (is_class thy);
   282   in
   283   in
   283     thy
   284     thy
   284     |> AxClass.add_classrel classrel
   285     |> AxClass.add_classrel classrel
   285     |> ClassData.map (Graph.add_edge (sub, sup))
   286     |> ClassData.map (Graph.add_edge (sub, sup))
   286     |> activate_defs sub (these_defs thy diff_sort)
   287     |> activate_defs sub (these_defs thy diff_sort)