equal
deleted
inserted
replaced
700 trace_msg ("Splitting of inequalities yields " ^ |
700 trace_msg ("Splitting of inequalities yields " ^ |
701 string_of_int (length result) ^ " subgoal(s) total."); |
701 string_of_int (length result) ^ " subgoal(s) total."); |
702 result |
702 result |
703 end; |
703 end; |
704 |
704 |
705 fun add_datoms (dats : (bool * term) list, ((lhs,_,_,rhs,_,d) : LA_Data.decomp, _)) : |
705 fun add_datoms ((lhs,_,_,rhs,_,d) : LA_Data.decomp, _) (dats : (bool * term) list) = |
706 (bool * term) list = |
|
707 union_bterm (map (pair d o fst) lhs) (union_bterm (map (pair d o fst) rhs) dats); |
706 union_bterm (map (pair d o fst) lhs) (union_bterm (map (pair d o fst) rhs) dats); |
708 |
707 |
709 fun discr (initems : (LA_Data.decomp * int) list) : bool list = |
708 fun discr (initems : (LA_Data.decomp * int) list) : bool list = |
710 map fst (Library.foldl add_datoms ([],initems)); |
709 map fst (fold add_datoms initems []); |
711 |
710 |
712 fun refutes ctxt params show_ex : |
711 fun refutes ctxt params show_ex : |
713 (typ list * (LA_Data.decomp * int) list) list -> injust list -> injust list option = |
712 (typ list * (LA_Data.decomp * int) list) list -> injust list -> injust list option = |
714 let |
713 let |
715 fun refute ((Ts, initems : (LA_Data.decomp * int) list) :: initemss) (js: injust list) = |
714 fun refute ((Ts, initems : (LA_Data.decomp * int) list) :: initemss) (js: injust list) = |