let demodulate_once ~jump_to_right bag (id, nlit, plit, vl, pr) table =
match nlit,plit with
+ |[literal,_], []
|[],[literal,_] ->
(match literal with
| Terms.Predicate t -> assert false
| _, [], [Terms.Equation (l,r,_,_),_], vl, proof when unify ->
(try ignore(Unif.unification (* vl *) [] l r); true
with FoUnif.UnificationFailure _ -> false)
- | _, [], [Terms.Equation (_,_,_,_),_], _, _ -> false
- | _ -> assert false
+ | _ -> false
;;
let build_new_clause bag maxvar filter rule t subst id id2 pos dir =