|
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 |