equal
deleted
inserted
replaced
240 val classrel = SkipProof.prove_global thy [] [] (Logic.mk_classrel (sub, sup)) |
240 val classrel = SkipProof.prove_global thy [] [] (Logic.mk_classrel (sub, sup)) |
241 (K tac); |
241 (K tac); |
242 val diff_sort = Sign.complete_sort thy [sup] |
242 val diff_sort = Sign.complete_sort thy [sup] |
243 |> subtract (op =) (Sign.complete_sort thy [sub]) |
243 |> subtract (op =) (Sign.complete_sort thy [sub]) |
244 |> filter (is_class thy); |
244 |> filter (is_class thy); |
245 val deps_witss = case some_dep_morph |
245 val add_dependency = case some_dep_morph |
246 of SOME dep_morph => [((sup, dep_morph), the_list some_wit)] |
246 of SOME dep_morph => Locale.add_dependency sub |
247 | NONE => [] |
247 (sup, dep_morph $> Element.satisfy_morphism (the_list some_wit)) export |
|
248 | NONE => I |
248 in |
249 in |
249 thy |
250 thy |
250 |> AxClass.add_classrel classrel |
251 |> AxClass.add_classrel classrel |
251 |> ClassData.map (Graph.add_edge (sub, sup)) |
252 |> ClassData.map (Graph.add_edge (sub, sup)) |
252 |> activate_defs sub (these_defs thy diff_sort) |
253 |> activate_defs sub (these_defs thy diff_sort) |
253 |> Locale.add_dependencies sub deps_witss export |
254 |> add_dependency |
254 end; |
255 end; |
255 |
256 |
256 |
257 |
257 (** classes and class target **) |
258 (** classes and class target **) |
258 |
259 |