src/HOL/Tools/Function/context_tree.ML
changeset 33038 8f9594c31de4
parent 33037 b22e44496dc2
child 33049 c38f02fdf35d
equal deleted inserted replaced
33037:b22e44496dc2 33038:8f9594c31de4
    88       val num_branches = map_index (apsnd branch_vars) (prems_of crule)
    88       val num_branches = map_index (apsnd branch_vars) (prems_of crule)
    89     in
    89     in
    90       IntGraph.empty
    90       IntGraph.empty
    91         |> fold (fn (i,_)=> IntGraph.new_node (i,i)) num_branches
    91         |> fold (fn (i,_)=> IntGraph.new_node (i,i)) num_branches
    92         |> fold_product (fn (i, (c1, _)) => fn (j, (_, t2)) => 
    92         |> fold_product (fn (i, (c1, _)) => fn (j, (_, t2)) => 
    93                if i = j orelse null (gen_inter (op =) (c1, t2))
    93                if i = j orelse null (inter (op =) (c1, t2))
    94                then I else IntGraph.add_edge_acyclic (i,j))
    94                then I else IntGraph.add_edge_acyclic (i,j))
    95              num_branches num_branches
    95              num_branches num_branches
    96     end
    96     end
    97     
    97     
    98 val default_congs = map (fn c => c RS eq_reflection) [@{thm "cong"}, @{thm "ext"}] 
    98 val default_congs = map (fn c => c RS eq_reflection) [@{thm "cong"}, @{thm "ext"}]