CVCL::UFTheoremProducer Class Reference

#include <uf_theorem_producer.h>

Inheritance diagram for CVCL::UFTheoremProducer:

Inheritance graph
[legend]
Collaboration diagram for CVCL::UFTheoremProducer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

Private Attributes


Detailed Description

Definition at line 41 of file uf_theorem_producer.h.


Constructor & Destructor Documentation

CVCL::UFTheoremProducer::UFTheoremProducer (  TheoremManager *  tm,
TheoryUF *  theoryUF
)  [inline]
 

Constructor.

Definition at line 46 of file uf_theorem_producer.h.


Member Function Documentation

Theorem UFTheoremProducer::relToClosure (  const Theorem &  rel  )  [virtual]
 

Implements CVCL::UFProofRules.

Definition at line 62 of file uf_theorem_producer.cpp.

References CVCL::Expr::arity(), CVCL::Assumptions::copy(), d_theoryUF, CVCL::Theorem::getAssumptions(), CVCL::Op::getExpr(), CVCL::Theorem::getExpr(), CVCL::Expr::getName(), CVCL::Expr::getOp(), CVCL::Theorem::getProof(), CVCL::Expr::isApply(), CVCL::TheoremProducer::newPf(), CVCL::TheoremProducer::newTheorem(), CVCL::Expr::toString(), CVCL::TheoryUF::transClosureExpr(), CVCL::TheoremProducer::withAssumptions(), and CVCL::TheoremProducer::withProof().

Theorem UFTheoremProducer::relTrans (  const Theorem &  t1,
const Theorem &  t2
)  [virtual]
 

Implements CVCL::UFProofRules.

Definition at line 87 of file uf_theorem_producer.cpp.

References CVCL::Expr::arity(), CVCL::Theorem::getExpr(), CVCL::Expr::getName(), CVCL::Expr::getOp(), CVCL::Expr::getOpExpr(), CVCL::Expr::getOpKind(), CVCL::Theorem::getProof(), CVCL::merge(), CVCL::TheoremProducer::newPf(), CVCL::TheoremProducer::newTheorem(), CVCL::Expr::toString(), CVCL::TRANS_CLOSURE, CVCL::TheoremProducer::withAssumptions(), and CVCL::TheoremProducer::withProof().

Theorem UFTheoremProducer::applyLambda (  const Expr &  e  )  [virtual]
 

Beta reduction: |- (lambda x. f(x))(arg) = f(arg).

Implements CVCL::UFProofRules.

Definition at line 128 of file uf_theorem_producer.cpp.

References CVCL::Expr::arity(), CVCL::Expr::getBody(), CVCL::Expr::getKids(), CVCL::Expr::getOpExpr(), CVCL::Expr::getOpKind(), CVCL::Expr::getVars(), CVCL::Expr::isApply(), CVCL::Expr::isLambda(), CVCL::LAMBDA, CVCL::TheoremProducer::newPf(), CVCL::TheoremProducer::newRWTheorem(), CVCL::Expr::substExpr(), CVCL::Expr::toString(), and CVCL::TheoremProducer::withProof().

Theorem UFTheoremProducer::rewriteOpDef (  const Expr &  e  )  [virtual]
 

Replace CONSTDEF and LETDECL in the operator with the definition.

Implements CVCL::UFProofRules.

Definition at line 167 of file uf_theorem_producer.cpp.

References CVCL::Expr::arity(), CVCL::CONSTDEF, CVCL::Expr::getKids(), CVCL::Expr::getKind(), CVCL::Expr::getOpExpr(), CVCL::Expr::isApply(), CVCL::LETDECL, CVCL::Expr::mkOp(), CVCL::TheoremProducer::newPf(), CVCL::TheoremProducer::newRWTheorem(), CVCL::Expr::toString(), and CVCL::TheoremProducer::withProof().


Member Data Documentation

TheoryUF* CVCL::UFTheoremProducer::d_theoryUF [private]
 

Definition at line 42 of file uf_theorem_producer.h.

Referenced by relToClosure().


The documentation for this class was generated from the following files:
Generated on Thu Apr 13 16:57:46 2006 for CVC Lite by  doxygen 1.4.4