|
Public Types |
| enum | Connective {
ATOM = 0,
AND = 1,
OR = 2,
IMP = 3,
IFF = 4,
XOR = 5,
NOT = 6,
FORALL = 7,
EXISTS = 8
} |
Public Member Functions |
| | Formula () |
| | Formula (const Formula &f) |
| | ~Formula () |
| void | operator= (const Formula &rhs) |
| | Formula (Connective c, const Formula &l, const Formula &r) |
| | Formula (Connective c, const Formula &a) |
| | Formula (Connective c, const FormulaList &fs) |
| | Formula (Connective c, const VarList &vs, const Formula &a) |
| | Formula (const Atom &a) |
| void | makeJunction (Connective c, Formula &lhs, Formula &rhs) |
| Connective | connective () const |
| const FormulaList & | args () const |
| const Formula & | left () const |
| const Formula & | right () const |
| const Formula & | qarg () const |
| const VarList & | vars () const |
| const Formula & | uarg () const |
| const Atom & | atom () const |
| bool | operator== (const Formula &rhs) const |
| bool | isNull () const |
| void | makeNull () |
| void * | operator new (size_t) |
| bool | isEqualityAxiom () const |
| bool | hasFreeVars () const |
| void | flatten () |
| void | ennf (bool polarity) |
| void | rectify () |
| void | rectify (VarList &originalVars, TermList &answerAtom) |
| void | rectify (Substitution &, Var &last, VarList &freeVars) |
| void | removeIff () |
| void | skolemizeNNF () |
| void | skolemizeNNF (Substitution &subst, VarList) |
| bool | isPredicateDefinition (Atom &lhs, Formula &rhs) const |
| bool | isFunctionDefinition (Term &lhs, Term &rhs) const |
| bool | occurs (const Signature::Pred *p) const |
| int | universalPrefixLength () const |
| void | miniscope (InferenceList &) |
| void | miniscope (InferenceList &, const Position &) |
| void | occurring (const VarList &input, VarList &output, VarList &removedVars) const |
| void | topMiniscope (Connective, const VarList &, InferenceList &, const Position &) |
Private Member Functions |
| bool | hasFreeVars (VarListList) const |
| bool | isReflexivityAxiom () const |
| bool | isFunctionReflexivityAxiom () const |
| bool | isPredicateReflexivityAxiom () const |
| bool | isSymmetryAxiom () const |
| bool | isTransitivityAxiom () const |
| void | occurring (bool *occurrences, Var max) const |
Static Private Member Functions |
| void | splitVarList (const VarList &in, VarList &out, VarList &removed, bool *occurrences) |
Private Attributes |
| Data * | _data |