(* $Id: orderings.ml 9869 2009-06-11 22:52:38Z denes $ *)
-(* let debug s = prerr_endline (Lazy.force s) ;; *)
+(* let debug s = prerr_endline (Lazy.force s) ;; *)
let debug _ = ();;
let monster = 100;;
type t
type input
type szsontology =
- | Unsatisfiable of (t Terms.bag * int * int list) list
+ | Unsatisfiable of
+ (t Terms.bag * int * t Terms.substitution * int list) list
| GaveUp
| Error of string
| Timeout of int * t Terms.bag
type input = B.input
type bag = B.t Terms.bag * int
type szsontology =
- | Unsatisfiable of (B.t Terms.bag * int * int list) list
+ | Unsatisfiable of
+ (B.t Terms.bag * int * B.t Terms.substitution * int list) list
| GaveUp
| Error of string
| Timeout of int * B.t Terms.bag
in
goal_narrowing iterno max_steps timeout newstatus
- let compute_result bag i =
+ let compute_result bag i subst =
let l =
let rec traverse ongoal (accg,acce) i =
match Terms.get_from_bag i bag with
(fun x ->
let cl,_,_ = Terms.get_from_bag x bag in
Pp.pp_unit_clause cl) l))));
- Unsatisfiable [ bag, i, l ]
+ Unsatisfiable [ bag, i, subst, l ]
let paramod ~useage ~max_steps ?timeout (bag,maxvar) ~g_passives ~passives =
let _initial_timestamp = Unix.gettimeofday () in
given_clause ~useage ~noinfer:false
bag maxvar 0 0 max_steps timeout actives passives g_actives g_passives
with
- | Sup.Success (bag, _, (i,_,_,_)) ->
- compute_result bag i
+ | Sup.Success (bag, _, (i,_,_,_),subst) ->
+ compute_result bag i subst
| Stop (Unsatisfiable _) -> Error "solution found!"
| Stop o -> o
;;
try
goal_narrowing 0 2 None s
with
- | Sup.Success (bag, _, (i,_,_,_)) ->
- compute_result bag i
+ | Sup.Success (bag, _, (i,_,_,_),subst) ->
+ compute_result bag i subst
| Stop (Unsatisfiable _) -> Error "solution found!"
| Stop o -> o
;;