equal
deleted
inserted
replaced
313 fun mk_dgraph D cs = |
313 fun mk_dgraph D cs = |
314 Term_Graph.empty |
314 Term_Graph.empty |
315 |> fold (fn c => Term_Graph.new_node (c, ())) cs |
315 |> fold (fn c => Term_Graph.new_node (c, ())) cs |
316 |> fold_product (fn c1 => fn c2 => |
316 |> fold_product (fn c1 => fn c2 => |
317 if is_none (get_chain D c1 c2 |> the_default NONE) |
317 if is_none (get_chain D c1 c2 |> the_default NONE) |
318 then Term_Graph.add_edge (c1, c2) else I) |
318 then Term_Graph.add_edge (c2, c1) else I) |
319 cs cs |
319 cs cs |
320 |
320 |
321 fun ucomp_empty_tac T = |
321 fun ucomp_empty_tac T = |
322 REPEAT_ALL_NEW (rtac @{thm union_comp_emptyR} |
322 REPEAT_ALL_NEW (rtac @{thm union_comp_emptyR} |
323 ORELSE' rtac @{thm union_comp_emptyL} |
323 ORELSE' rtac @{thm union_comp_emptyL} |