Merge branch 'master' of github.com:Gbury/mSAT

This commit is contained in:
Guillaume Bury 2015-02-09 14:01:59 +01:00
commit 4ff01d2a7e
3 changed files with 18 additions and 18 deletions

View file

@ -40,7 +40,7 @@ clean:
TO_INSTALL=META $(addprefix _build/,$(LIB) $(NAME).a $(NAME).cmi)
install: all
install: lib
ocamlfind install msat $(TO_INSTALL)
uninstall:

View file

@ -273,14 +273,14 @@ module Make(St : Solver_types.S) = struct
aux (to_list c, to_list d)
let unsat_core proof =
let rec aux proof =
let rec aux acc proof =
let p = proof () in
match p.step with
| Hypothesis | Lemma _ -> [p.conclusion]
| Hypothesis | Lemma _ -> p.conclusion :: acc
| Resolution (proof1, proof2, _) ->
List.rev_append (aux proof1) (aux proof2)
aux (aux acc proof1) proof2
in
List.sort_uniq compare_cl (aux proof)
List.sort_uniq compare_cl (aux [] proof)
(* Print proof graph *)
let _i = ref 0

View file

@ -359,19 +359,19 @@ module Make (L : Log_intf.S)(F : Formula_intf.S)
exception Trivial
let simplify_zero atoms init0 =
(* TODO: could be more efficient than [@] everywhere? *)
assert (decision_level () = 0);
let aux (atoms, init) a =
if a.is_true then raise Trivial;
if a.neg.is_true then
match a.var.vpremise with
| History v -> atoms, [init0]
| Lemma p -> assert false
else
a::atoms, init
in
let atoms, init = List.fold_left aux ([], []) atoms in
List.fast_sort (fun a b -> a.var.vid - b.var.vid) atoms, init
(* TODO: could be more efficient than [@] everywhere? *)
assert (decision_level () = 0);
let aux (atoms, init) a =
if a.is_true then raise Trivial;
if a.neg.is_true then
match a.var.vpremise with
| History v -> atoms, [init0]
| Lemma p -> assert false
else
a::atoms, init
in
let atoms, init = List.fold_left aux ([], []) atoms in
List.fast_sort (fun a b -> a.var.vid - b.var.vid) atoms, init
let partition atoms init0 =
let rec partition_aux trues unassigned falses init = function