module FFTNF:sig
..end
Compact tentative specification of FFTNF(_<_):
Consider a graph whose nodes are literals of a formula and two nodes are connected by an edge iff the literals share a variable. Direct the edges so that there is no edge a->b for b_<_a. The formula is in FFTNF(_<_) iff it is in TNF and the number of quantifiers a literal is in scope of never decreases along an edge, for some such directing of edges.
FIXME: the above specification is not correct (too weak).
val parsimony_threshold_1 : int Pervasives.ref
val parsimony_threshold_2 : int Pervasives.ref
val p_pn_nnf : ?do_pnf:bool -> Formula.formula -> Formula.formula
val ff_tnf : ?force_parsimony:int ->
(Formula.formula -> Formula.formula -> bool) ->
Formula.formula -> Formula.formula
val promote_rels : Aux.Strings.t -> Formula.formula -> Formula.formula -> bool
val ffsep : Aux.Strings.t ->
Aux.Strings.t ->
Formula.formula ->
(Formula.fo_var list * Formula.formula list * Formula.formula) list