mirror of
https://github.com/c-cube/sidekick.git
synced 2025-12-09 12:45:48 -05:00
test: add regression tests and icnf parser for assumptions
This commit is contained in:
parent
df9538a91e
commit
f3488d68db
16 changed files with 16841 additions and 4 deletions
4
Makefile
4
Makefile
|
|
@ -21,8 +21,10 @@ build-dev:
|
||||||
@dune build $(OPTS) @install
|
@dune build $(OPTS) @install
|
||||||
|
|
||||||
test:
|
test:
|
||||||
@echo "run API tests…"
|
@echo "run tests…"
|
||||||
@dune runtest
|
@dune runtest
|
||||||
|
|
||||||
|
test-full: test
|
||||||
@echo "run benchmarks…"
|
@echo "run benchmarks…"
|
||||||
@/usr/bin/time -f "%e" ./tests/run sat
|
@/usr/bin/time -f "%e" ./tests/run sat
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -331,10 +331,9 @@ module Make(Plugin : PLUGIN)
|
||||||
module Clause = struct
|
module Clause = struct
|
||||||
type t = clause
|
type t = clause
|
||||||
|
|
||||||
let make =
|
let make_a =
|
||||||
let n = ref 0 in
|
let n = ref 0 in
|
||||||
fun ?tag ali premise ->
|
fun ?tag atoms premise ->
|
||||||
let atoms = Array.of_list ali in
|
|
||||||
let name = !n in
|
let name = !n in
|
||||||
incr n;
|
incr n;
|
||||||
{ name;
|
{ name;
|
||||||
|
|
@ -345,6 +344,8 @@ module Make(Plugin : PLUGIN)
|
||||||
activity = 0.;
|
activity = 0.;
|
||||||
cpremise = premise}
|
cpremise = premise}
|
||||||
|
|
||||||
|
let make ?tag l premise = make_a ?tag (Array.of_list l) premise
|
||||||
|
|
||||||
let empty = make [] (History [])
|
let empty = make [] (History [])
|
||||||
let name = name_of_clause
|
let name = name_of_clause
|
||||||
let[@inline] equal c1 c2 = c1==c2
|
let[@inline] equal c1 c2 = c1==c2
|
||||||
|
|
@ -2009,6 +2010,10 @@ module Make(Plugin : PLUGIN)
|
||||||
cleanup_ st;
|
cleanup_ st;
|
||||||
assume st ?tag cls
|
assume st ?tag cls
|
||||||
|
|
||||||
|
let[@inline] add_clause_a st c : unit =
|
||||||
|
let c = Clause.make_a c Hyp in
|
||||||
|
add_clause st c
|
||||||
|
|
||||||
let[@inline] add_clause st ?tag c : unit =
|
let[@inline] add_clause st ?tag c : unit =
|
||||||
cleanup_ st;
|
cleanup_ st;
|
||||||
let c = Clause.make ?tag c Hyp in
|
let c = Clause.make ?tag c Hyp in
|
||||||
|
|
|
||||||
|
|
@ -411,6 +411,9 @@ module type S = sig
|
||||||
val add_clause : t -> ?tag:int -> atom list -> unit
|
val add_clause : t -> ?tag:int -> atom list -> unit
|
||||||
(** Lower level addition of clauses *)
|
(** Lower level addition of clauses *)
|
||||||
|
|
||||||
|
val add_clause_a : t -> atom array -> unit
|
||||||
|
(** Lower level addition of clauses *)
|
||||||
|
|
||||||
val solve : t -> ?assumptions:atom list -> unit -> res
|
val solve : t -> ?assumptions:atom list -> unit -> res
|
||||||
(** Try and solves the current set of clauses.
|
(** Try and solves the current set of clauses.
|
||||||
@param assumptions additional atomic assumptions to be temporarily added.
|
@param assumptions additional atomic assumptions to be temporarily added.
|
||||||
|
|
|
||||||
|
|
@ -94,6 +94,7 @@ let exists p t = Sequence.exists p @@ to_seq t
|
||||||
let for_all p t = Sequence.for_all p @@ to_seq t
|
let for_all p t = Sequence.for_all p @@ to_seq t
|
||||||
let fold f acc a = Sequence.fold f acc @@ to_seq a
|
let fold f acc a = Sequence.fold f acc @@ to_seq a
|
||||||
let to_list a = Sequence.to_list @@ to_seq a
|
let to_list a = Sequence.to_list @@ to_seq a
|
||||||
|
let to_array a = Array.sub a.data 0 a.sz
|
||||||
|
|
||||||
let of_list l : _ t =
|
let of_list l : _ t =
|
||||||
match l with
|
match l with
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,8 @@ val create : unit -> 'a t
|
||||||
val to_list : 'a t -> 'a list
|
val to_list : 'a t -> 'a list
|
||||||
(** Returns the list of elements of the vector *)
|
(** Returns the list of elements of the vector *)
|
||||||
|
|
||||||
|
val to_array : 'a t -> 'a array
|
||||||
|
|
||||||
val of_list : 'a list -> 'a t
|
val of_list : 'a list -> 'a t
|
||||||
|
|
||||||
val to_seq : 'a t -> 'a Sequence.t
|
val to_seq : 'a t -> 'a Sequence.t
|
||||||
|
|
|
||||||
|
|
@ -23,6 +23,8 @@ let _make i =
|
||||||
end else
|
end else
|
||||||
raise Bad_atom
|
raise Bad_atom
|
||||||
|
|
||||||
|
let to_int i = i
|
||||||
|
|
||||||
(** *)
|
(** *)
|
||||||
let neg a = - a
|
let neg a = - a
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,6 +14,8 @@ include Solver_intf.FORMULA
|
||||||
val make : int -> t
|
val make : int -> t
|
||||||
(** Make a proposition from an integer. *)
|
(** Make a proposition from an integer. *)
|
||||||
|
|
||||||
|
val to_int : t -> int
|
||||||
|
|
||||||
val fresh : unit -> t
|
val fresh : unit -> t
|
||||||
(** Make a fresh atom *)
|
(** Make a fresh atom *)
|
||||||
|
|
||||||
|
|
|
||||||
8
tests/Makefile
Normal file
8
tests/Makefile
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
|
||||||
|
test-icnf:
|
||||||
|
@for i in regression/*.icnf ; do \
|
||||||
|
echo "test problem $$i"; \
|
||||||
|
./icnf-solve/icnf_solve.exe $$i > regression/.`basename $$i`.out 2>/dev/null ; \
|
||||||
|
diff regression/.`basename $$i`.out regression/.`basename $$i`.ref \
|
||||||
|
|| ( echo "mismatch for $$i" ; exit 1) ; \
|
||||||
|
done
|
||||||
|
|
@ -12,4 +12,8 @@
|
||||||
(deps test_api.exe)
|
(deps test_api.exe)
|
||||||
(action (run %{deps})))
|
(action (run %{deps})))
|
||||||
|
|
||||||
|
(alias
|
||||||
|
(name runtest)
|
||||||
|
(deps ./icnf-solve/icnf_solve.exe Makefile (source_tree regression))
|
||||||
|
(action (run make test-icnf)))
|
||||||
|
|
||||||
|
|
|
||||||
131
tests/icnf-solve/Icnf_solve.ml
Normal file
131
tests/icnf-solve/Icnf_solve.ml
Normal file
|
|
@ -0,0 +1,131 @@
|
||||||
|
|
||||||
|
module Vec = Msat.Vec
|
||||||
|
|
||||||
|
module Parse : sig
|
||||||
|
type 'a event =
|
||||||
|
| Add_clause of 'a array
|
||||||
|
| Solve of 'a array
|
||||||
|
|
||||||
|
type 'a t
|
||||||
|
|
||||||
|
val make : file:string -> (int -> 'a) -> 'a t
|
||||||
|
|
||||||
|
val next : 'a t -> 'a event (** @raise End_of_file when done *)
|
||||||
|
end = struct
|
||||||
|
module L = Lexer
|
||||||
|
|
||||||
|
type 'a event =
|
||||||
|
| Add_clause of 'a array
|
||||||
|
| Solve of 'a array
|
||||||
|
|
||||||
|
type 'a t = {
|
||||||
|
mk: int -> 'a;
|
||||||
|
vec: 'a Vec.t;
|
||||||
|
lex: Lexing.lexbuf;
|
||||||
|
}
|
||||||
|
|
||||||
|
let make ~file mk : _ t =
|
||||||
|
let ic = open_in file in
|
||||||
|
let lex = Lexing.from_channel ic in
|
||||||
|
at_exit (fun () -> close_in_noerr ic);
|
||||||
|
{lex; vec=Vec.create(); mk; }
|
||||||
|
|
||||||
|
let rec next (self:_ t) : _ event =
|
||||||
|
match L.token self.lex with
|
||||||
|
| L.EOF -> raise End_of_file
|
||||||
|
| L.A ->
|
||||||
|
let c = read_ints self in
|
||||||
|
Solve c
|
||||||
|
| L.I 0 ->
|
||||||
|
Add_clause [| |]
|
||||||
|
| L.I x ->
|
||||||
|
let c = read_ints ~first:(self.mk x) self in
|
||||||
|
Add_clause c
|
||||||
|
and read_ints ?first self : _ array =
|
||||||
|
Vec.clear self.vec; (* reuse local vec *)
|
||||||
|
CCOpt.iter (Vec.push self.vec) first;
|
||||||
|
let rec aux() =
|
||||||
|
match L.token self.lex with
|
||||||
|
| L.I 0 -> Vec.to_array self.vec (* done *)
|
||||||
|
| L.I n ->
|
||||||
|
let x = self.mk n in
|
||||||
|
Vec.push self.vec x;
|
||||||
|
aux()
|
||||||
|
| L.A -> failwith "unexpected \"a\""
|
||||||
|
| L.EOF -> failwith "unexpected end of file"
|
||||||
|
in
|
||||||
|
aux()
|
||||||
|
end
|
||||||
|
|
||||||
|
module Solver = struct
|
||||||
|
module F = Msat_sat.Expr
|
||||||
|
module S = Msat_sat
|
||||||
|
type t = S.t
|
||||||
|
|
||||||
|
let make () = S.create()
|
||||||
|
let mklit s i = S.make_atom s (let v = F.make (abs i) in if i>0 then v else F.neg v)
|
||||||
|
let add_clause s c = S.add_clause_a s c; true
|
||||||
|
let to_int a : int = F.to_int @@ S.Atom.formula a
|
||||||
|
let solve s ass =
|
||||||
|
let ass = Array.to_list ass in
|
||||||
|
match S.solve ~assumptions:ass s () with
|
||||||
|
| S.Sat _ -> true
|
||||||
|
| S.Unsat _ -> false
|
||||||
|
end
|
||||||
|
|
||||||
|
let solve_with_solver ~debug file : unit =
|
||||||
|
Printf.eprintf "c process %S\n%!" file;
|
||||||
|
let s = Solver.make () in
|
||||||
|
let pp_arr out a =
|
||||||
|
Array.iter (fun lit -> Printf.fprintf out "%d " (Solver.to_int lit)) a;
|
||||||
|
in
|
||||||
|
let p = Parse.make ~file (Solver.mklit s) in
|
||||||
|
let rec process_problem () =
|
||||||
|
match Parse.next p with
|
||||||
|
| Parse.Add_clause c ->
|
||||||
|
if debug then (
|
||||||
|
Printf.printf "add_clause %a\n%!" pp_arr c;
|
||||||
|
);
|
||||||
|
let r = Solver.add_clause s c in
|
||||||
|
if r then process_problem()
|
||||||
|
else (
|
||||||
|
Printf.printf "UNSAT\n%!";
|
||||||
|
skip_problem ()
|
||||||
|
)
|
||||||
|
| Parse.Solve assumptions ->
|
||||||
|
if debug then (
|
||||||
|
Printf.printf "c solve %a\n%!" pp_arr assumptions;
|
||||||
|
);
|
||||||
|
let r = Solver.solve s assumptions in
|
||||||
|
Printf.printf "%s\n%!" (if r then "SAT" else "UNSAT");
|
||||||
|
(* next problem! *)
|
||||||
|
process_problem()
|
||||||
|
| exception End_of_file ->
|
||||||
|
done_ ()
|
||||||
|
and skip_problem() =
|
||||||
|
match Parse.next p with
|
||||||
|
| Parse.Add_clause _ -> skip_problem()
|
||||||
|
| Parse.Solve _ -> process_problem ()
|
||||||
|
| exception End_of_file -> done_ ()
|
||||||
|
and done_ () =
|
||||||
|
Printf.eprintf "c done for %S\n%!" file;
|
||||||
|
()
|
||||||
|
in
|
||||||
|
process_problem ()
|
||||||
|
|
||||||
|
let solve_with_file ~debug file : unit =
|
||||||
|
try solve_with_solver ~debug file
|
||||||
|
with e ->
|
||||||
|
Printf.printf "error while solving %S:\n%s"
|
||||||
|
file (Printexc.to_string e);
|
||||||
|
exit 1
|
||||||
|
|
||||||
|
let () =
|
||||||
|
let files = ref [] in
|
||||||
|
let debug = ref false in
|
||||||
|
let opts = [
|
||||||
|
"-d", Arg.Set debug, " debug";
|
||||||
|
] |> Arg.align in
|
||||||
|
Arg.parse opts (fun f -> files := f :: !files) "icnf_solve [options] <file>";
|
||||||
|
List.iter (fun f -> solve_with_file ~debug:!debug f) !files;
|
||||||
|
()
|
||||||
6
tests/icnf-solve/dune
Normal file
6
tests/icnf-solve/dune
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
(executable
|
||||||
|
(name icnf_solve)
|
||||||
|
(modes native)
|
||||||
|
(libraries containers msat msat_sat))
|
||||||
|
|
||||||
|
(ocamllex (modules lexer))
|
||||||
28
tests/icnf-solve/lexer.mll
Normal file
28
tests/icnf-solve/lexer.mll
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
|
||||||
|
{
|
||||||
|
type token = A | I of int | EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
let space = [' ' '\t']
|
||||||
|
let nat = (['0'-'9'])+
|
||||||
|
let int = ('-' nat) | nat
|
||||||
|
|
||||||
|
rule token = parse
|
||||||
|
| '\n' { Lexing.new_line lexbuf; token lexbuf }
|
||||||
|
| space { token lexbuf }
|
||||||
|
| 'c' { skip_line lexbuf }
|
||||||
|
| 'p' { skip_line lexbuf }
|
||||||
|
| int { let i = int_of_string (Lexing.lexeme lexbuf) in I i }
|
||||||
|
| 'a' { A }
|
||||||
|
| eof { EOF }
|
||||||
|
| _ as c
|
||||||
|
{
|
||||||
|
let msg = Printf.sprintf "lexer fails on char %c\n" c in
|
||||||
|
failwith msg
|
||||||
|
}
|
||||||
|
|
||||||
|
and skip_line = parse
|
||||||
|
| '\n' { Lexing.new_line lexbuf; token lexbuf }
|
||||||
|
| eof { EOF }
|
||||||
|
| _ { skip_line lexbuf }
|
||||||
|
|
||||||
473
tests/regression/.regression1.icnf.ref
Normal file
473
tests/regression/.regression1.icnf.ref
Normal file
|
|
@ -0,0 +1,473 @@
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
249
tests/regression/.regression2.icnf.ref
Normal file
249
tests/regression/.regression2.icnf.ref
Normal file
|
|
@ -0,0 +1,249 @@
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
UNSAT
|
||||||
|
SAT
|
||||||
|
SAT
|
||||||
11437
tests/regression/regression1.icnf
Normal file
11437
tests/regression/regression1.icnf
Normal file
File diff suppressed because it is too large
Load diff
4484
tests/regression/regression2.icnf
Normal file
4484
tests/regression/regression2.icnf
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue