CVC3  2.4.1
Public Member Functions | List of all members
CVC3::RecordsProofRules Class Referenceabstract

#include <records_proof_rules.h>

Inheritance diagram for CVC3::RecordsProofRules:
CVC3::RecordsTheoremProducer

Public Member Functions

virtual ~RecordsProofRules ()
 < Destructor More...
 
virtual Theorem rewriteLitSelect (const Expr &e)=0
 ==> (REC_LITERAL (f1 v1) ... (fi vi) ...).fi = vi More...
 
virtual Theorem rewriteUpdateSelect (const Expr &e)=0
 ==> (REC_SELECT (REC_UPDATE e fi vi) fi) = vi More...
 
virtual Theorem rewriteLitUpdate (const Expr &e)=0
 ==> (REC_UPDATE (REC_LITERAL (f1 v1) ... (fi vi) ...) fi v') =(REC_LITERAL (f1 v1) ... (fi v') ...) More...
 
virtual Theorem expandEq (const Theorem &eqThrm)=0
 From T|- e = e' return T|- AND (e.i = e'.i) for all i. More...
 
virtual Theorem expandNeq (const Theorem &neqThrm)=0
 From T|- NOT e=e' return T|- NOT AND (e.i = e'.i) for all i. More...
 
virtual Theorem expandRecord (const Expr &e)=0
 Expand a record into a literal: |- e = (# f1:=e.f1, ..., fn:=e.fn #) More...
 
virtual Theorem expandTuple (const Expr &e)=0
 Expand a tuple into a literal: |- e = (e.0, ..., e.n-1) More...
 

Detailed Description

Definition at line 28 of file records_proof_rules.h.

Constructor & Destructor Documentation

virtual CVC3::RecordsProofRules::~RecordsProofRules ( )
inlinevirtual

< Destructor

Definition at line 31 of file records_proof_rules.h.

Member Function Documentation

virtual Theorem CVC3::RecordsProofRules::rewriteLitSelect ( const Expr e)
pure virtual

==> (REC_LITERAL (f1 v1) ... (fi vi) ...).fi = vi

Implemented in CVC3::RecordsTheoremProducer.

Referenced by CVC3::TheoryRecords::rewrite().

virtual Theorem CVC3::RecordsProofRules::rewriteUpdateSelect ( const Expr e)
pure virtual

==> (REC_SELECT (REC_UPDATE e fi vi) fi) = vi

Implemented in CVC3::RecordsTheoremProducer.

Referenced by CVC3::TheoryRecords::rewrite().

virtual Theorem CVC3::RecordsProofRules::rewriteLitUpdate ( const Expr e)
pure virtual

==> (REC_UPDATE (REC_LITERAL (f1 v1) ... (fi vi) ...) fi v') =(REC_LITERAL (f1 v1) ... (fi v') ...)

Implemented in CVC3::RecordsTheoremProducer.

Referenced by CVC3::TheoryRecords::rewrite().

virtual Theorem CVC3::RecordsProofRules::expandEq ( const Theorem eqThrm)
pure virtual

From T|- e = e' return T|- AND (e.i = e'.i) for all i.

Implemented in CVC3::RecordsTheoremProducer.

Referenced by CVC3::TheoryRecords::assertFact().

virtual Theorem CVC3::RecordsProofRules::expandNeq ( const Theorem neqThrm)
pure virtual

From T|- NOT e=e' return T|- NOT AND (e.i = e'.i) for all i.

Implemented in CVC3::RecordsTheoremProducer.

virtual Theorem CVC3::RecordsProofRules::expandRecord ( const Expr e)
pure virtual

Expand a record into a literal: |- e = (# f1:=e.f1, ..., fn:=e.fn #)

Implemented in CVC3::RecordsTheoremProducer.

Referenced by CVC3::TheoryRecords::computeModel(), and CVC3::TheoryRecords::setup().

virtual Theorem CVC3::RecordsProofRules::expandTuple ( const Expr e)
pure virtual

Expand a tuple into a literal: |- e = (e.0, ..., e.n-1)

Implemented in CVC3::RecordsTheoremProducer.

Referenced by CVC3::TheoryRecords::computeModel(), and CVC3::TheoryRecords::setup().


The documentation for this class was generated from the following file: