[sledge] Detect unsat subtrahend when subtracting pure terms

Summary: Enables failing doomed proof searches earlier.

Reviewed By: ngorogiannis

Differential Revision: D20120272

fbshipit-source-id: e06a7ed5a
master
Josh Berdine 5 years ago committed by Facebook Github Bot
parent b81fb893ea
commit 80afaaee1b

@ -94,7 +94,8 @@ let drop_tautology xs sub e =
let excise_term ({min; xs; sub} as goal) pure term = let excise_term ({min; xs; sub} as goal) pure term =
let term' = Equality.normalize min.cong term in let term' = Equality.normalize min.cong term in
let term' = drop_tautology xs sub term' in let term' = drop_tautology xs sub term' in
if Term.is_true term' then ( if Term.is_false term' then None
else if Term.is_true term' then (
excise (fun {pf} -> pf "excise_pure %a" Term.pp term) ; excise (fun {pf} -> pf "excise_pure %a" Term.pp term) ;
Some ({goal with pgs= true}, pure) ) Some ({goal with pgs= true}, pure) )
else Some (goal, term' :: pure) else Some (goal, term' :: pure)

Loading…
Cancel
Save