Variable needA_all : forall a, needA a = true.

(* Specifications: *)
Lemma xcnf_true_mk_arrow_l : forall b o t (f:TFormula TX AF b),
xcnf true (mk_arrow o (X b t) f) = xcnf true f.
Lemma or_cnf_opt_cnf_ff_r : forall f,
or_cnf_opt f  cnf_ff = f.
Lemma xcnf_true_mk_arrow_r : forall b o t (f:TFormula TX AF b),
xcnf true (mk_arrow o  f (X b t)) = xcnf false f.
Lemma and_cnf_opt_cnf_ff_r : forall f,
and_cnf_opt f cnf_ff = cnf_ff.
Lemma and_cnf_opt_cnf_ff : forall f,
and_cnf_opt cnf_ff f  = cnf_ff.
Lemma and_cnf_opt_cnf_tt : forall f,
and_cnf_opt f cnf_tt   = f.
Lemma is_bool_abst_simpl : forall b (f:TFormula TX AF b),
is_bool (abst_simpl f) = is_bool f.
Lemma abst_simpl_correct : forall b (f:TFormula TX AF b) pol,
xcnf pol f = xcnf pol (abst_simpl f).