+ let bag = Terms.empty_bag in
+ let maxvar = 0 in
+ let build_clause (bag,maxvar,l) (t,(nlit,plit)) =
+ let c,maxvar = Clauses.mk_clause maxvar nlit plit t in
+ let bag,c = Terms.add_to_bag c bag in
+ (bag,maxvar,c::l)
+ in
+ let bag,maxvar,goals = build_clause (bag,maxvar,[]) goal in
+ let bag,maxvar,hypotheses = List.fold_left build_clause (bag,maxvar,[]) hypotheses in
+ let goal = match goals with | [g] -> g | _ -> assert false in