fact: Fixpoint split_polarity (p: HFormula) (l: cnf) : cnf * cnf * cnf:= match l with | nil => (nil,nil,nil) | cl::l => let '(lp,ln,lo) := split_polarity p l in match normalise cl with | None => split_polarity p l | Some cl' => match get_polarity_rec p cl' with | None => (lp,ln,cl'::lo) | Some(b,cl') => (if b then cl'::lp else lp ,if b then ln else cl'::ln,lo) end end end.
imports: ZArith List Bool Lia Morphisms Cdcl.Syntax Cdcl.Lib Cdcl.Lit Cdcl.Clause