fact: Definition rxcnf_impl (polarity:bool) (k: kind) (e1 e2 : TFormula TX AF k) := let '(e1 , t1) := (RXCNF (negb polarity) e1) in if polarity then if is_cnf_tt e1 then (e1,t1) else if is_cnf_ff e1 then RXCNF polarity e2 else let '(e2 , t2) := (RXCNF polarity e2) in let (f',t') := ror_cnf_opt e1 e2 in (f', merge t1 (merge t2 t')) else let '(e2 , t2) := (RXCNF polarity e2) in (and_cnf_opt e1 e2, merge t1 t2).
imports: List Refl Bool Relation_Definitions Setoid