Main Page | Namespace List | Class Hierarchy | Compound List | File List | Compound Members | File Members | Related Pages

Formula Class Reference

#include <Formula.hpp>

List of all members.

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 FormulaListargs () const
const Formulaleft () const
const Formularight () const
const Formulaqarg () const
const VarListvars () const
const Formulauarg () const
const Atomatom () 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


Member Enumeration Documentation

enum Formula::Connective
 

Names for formula connectives. Warning: the order should not be changed. It is essentially used in several functions: normalize() and output functions.

Enumeration values:
ATOM 
AND 
OR 
IMP 
IFF 
XOR 
NOT 
FORALL 
EXISTS 


Constructor & Destructor Documentation

Formula::Formula  )  [inline]
 

Formula::Formula const Formula f  )  [inline]
 

Formula::~Formula  )  [inline]
 

Formula::Formula Connective  c,
const Formula l,
const Formula r
[inline]
 

Formula::Formula Connective  c,
const Formula a
[inline]
 

Formula::Formula Connective  c,
const FormulaList fs
[inline]
 

Formula::Formula Connective  c,
const VarList vs,
const Formula a
[inline]
 

Formula::Formula const Atom a  )  [inline, explicit]
 


Member Function Documentation

const FormulaList & Formula::args  )  const [inline]
 

const Atom & Formula::atom  )  const [inline]
 

Formula::Connective Formula::connective  )  const [inline]
 

void Formula::ennf bool  polarity  ) 
 

void Formula::flatten  ) 
 

bool Formula::hasFreeVars VarListList   )  const [private]
 

bool Formula::hasFreeVars  )  const
 

bool Formula::isEqualityAxiom  )  const
 

bool Formula::isFunctionDefinition Term lhs,
Term rhs
const
 

bool Formula::isFunctionReflexivityAxiom  )  const [private]
 

bool Formula::isNull  )  const [inline]
 

bool Formula::isPredicateDefinition Atom lhs,
Formula rhs
const
 

bool Formula::isPredicateReflexivityAxiom  )  const [private]
 

bool Formula::isReflexivityAxiom  )  const [private]
 

bool Formula::isSymmetryAxiom  )  const [private]
 

bool Formula::isTransitivityAxiom  )  const [private]
 

const Formula & Formula::left  )  const [inline]
 

void Formula::makeJunction Connective  c,
Formula lhs,
Formula rhs
 

void Formula::makeNull  ) 
 

void Formula::miniscope InferenceList ,
const Position
 

void Formula::miniscope InferenceList  ) 
 

void Formula::occurring bool *  occurrences,
Var  max
const [private]
 

void Formula::occurring const VarList input,
VarList output,
VarList removedVars
const
 

bool Formula::occurs const Signature::Pred p  )  const
 

void* Formula::operator new size_t   ) 
 

void Formula::operator= const Formula t  ) 
 

This software is an adaptation of the theorem prover Vampire for working with large knowledge bases in the KIF format, see http://www.prover.info for publications on Vampire.

Copyright (C) Andrei Voronkov and Alexandre Riazanov

Author:
Alexandre Riazanov <riazanov@cs.man.ac.uk>

Andrei Voronkov <voronkov@cs.man.ac.uk>, <andrei@voronkov.com>

Date:
06/06/2003
This software is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

bool Formula::operator== const Formula rhs  )  const [inline]
 

const Formula & Formula::qarg  )  const [inline]
 

void Formula::rectify Substitution ,
Var last,
VarList freeVars
 

void Formula::rectify VarList originalVars,
TermList answerAtom
 

void Formula::rectify  ) 
 

void Formula::removeIff  ) 
 

const Formula & Formula::right  )  const [inline]
 

void Formula::skolemizeNNF Substitution subst,
VarList 
 

void Formula::skolemizeNNF  ) 
 

void Formula::splitVarList const VarList in,
VarList out,
VarList removed,
bool *  occurrences
[static, private]
 

void Formula::topMiniscope Connective  ,
const VarList ,
InferenceList ,
const Position
 

const Formula & Formula::uarg  )  const [inline]
 

int Formula::universalPrefixLength  )  const
 

const VarList & Formula::vars  )  const [inline]
 


Member Data Documentation

Data* Formula::_data [private]
 


The documentation for this class was generated from the following files:
Generated on Sat Jun 28 15:08:58 2003 for Vampire by doxygen 1.3.2