theory_quant.cpp File Reference

#include "theory_quant.h"
#include "theory_arith.h"
#include "theory_array.h"
#include "typecheck_exception.h"
#include "parser_exception.h"
#include "smtlib_exception.h"
#include "quant_proof_rules.h"
#include "theory_core.h"
#include "command_line_flags.h"
#include "vcl.h"
#include <string>
#include <string.h>
#include <algorithm>
#include "assumptions.h"

Include dependency graph for theory_quant.cpp:

Go to the source code of this file.

Classes

Functions

Variables


Detailed Description

Author: Daniel Wichs, Yeting Ge

Created: Wednesday July 2, 2003


License to use, copy, modify, sell and/or distribute this software and its documentation for any purpose is hereby granted without royalty, subject to the terms and conditions defined in the LICENSE file provided with this distribution.


Definition in file theory_quant.cpp.


Function Documentation

std::string vectorExpr2string ( const std::vector< Expr > &  vec  ) 

Definition at line 244 of file theory_quant.cpp.

Referenced by CVC3::TheoryQuant::enqueueInst().

bool isSysPred ( const Expr e  ) 

bool canGetHead ( const Expr e  ) 

bool isSimpleTrig ( const Expr t  ) 

bool isSuperSimpleTrig ( const Expr t  ) 

bool usefulInMatch ( const Expr e  ) 

static void recursiveGetSubTrig ( const Expr e,
std::vector< Expr > &  res 
) [static]

std::vector<Expr> getSubTrig ( const Expr e  ) 

static void recGetSubTerms ( const Expr e,
std::vector< Expr > &  res 
) [static]

int recursiveExprScore ( const Expr e  ) 

int exprScore ( const Expr e  ) 

Definition at line 1052 of file theory_quant.cpp.

References recursiveExprScore().

Referenced by CVC3::TheoryQuant::setupTriggers().

static bool recursiveGetBoundVars ( const Expr e,
std::set< Expr > &  result 
) [static]

std::set<Expr> getBoundVars ( const Expr e  ) 

void findPolarity ( const Expr e,
ExprMap< Polarity > &  res,
Polarity  pol 
)

bool isUniterpFunc ( const Expr e  ) 

bool isGround ( const Expr e  ) 

void findPolarityAtomic ( const Expr e,
ExprMap< Polarity > &  res,
Polarity  pol 
)

void flatAnds ( const Expr ands,
vector< Expr > &  results 
)

bool isGoodSysPredTrigger ( const Expr e  ) 

Definition at line 2402 of file theory_quant.cpp.

References isSysPred(), and usefulInMatch().

Referenced by isGoodMultiTrigger(), isGoodPartTrigger(), and trigInitScore().

bool isGoodFullTrigger ( const Expr e,
const std::vector< Expr > &  bVarsThm 
)

Definition at line 2408 of file theory_quant.cpp.

References getBoundVars(), and usefulInMatch().

Referenced by CVC3::TheoryQuant::setupTriggers().

bool isGoodMultiTrigger ( const Expr e,
const std::vector< Expr > &  bVarsThm,
int  offset 
)

bool isGoodPartTrigger ( const Expr e,
const std::vector< Expr > &  bVarsThm 
)

static bool recursiveGetPartTriggers ( const Expr e,
std::vector< Expr > &  res 
) [static]

std::vector<Expr> getPartTriggers ( const Expr e  ) 

Definition at line 2545 of file theory_quant.cpp.

References CVC3::Expr::clearFlags(), and recursiveGetPartTriggers().

int trigInitScore ( const Expr e  ) 

Definition at line 2553 of file theory_quant.cpp.

References isGoodSysPredTrigger(), and isSysPred().

Referenced by CVC3::TheoryQuant::setupTriggers().

bool goodMultiTriggers ( const std::vector< Expr > &  exprs,
const std::vector< Expr bVars 
)

size_t locVar ( const vector< Expr > &  bvsThm,
const Expr bv 
) [inline]

Definition at line 2853 of file theory_quant.cpp.

Referenced by CVC3::TheoryQuant::setupTriggers().

int hasMoreBVs ( const Expr thm  ) 

test if a sub-term contains more bounded vars than quantified by out-most quantifier.

Definition at line 3416 of file theory_quant.cpp.

References DebugAssert, getBoundVars(), CVC3::Expr::getVars(), and CVC3::Expr::isForall().

bool isIntx ( const Expr e,
const Rational x 
)

Expr getLeft ( const Expr e  ) 

Expr getRight ( const Expr e  ) 

bool cmpExpr ( Expr  e1,
Expr  e2 
)

Definition at line 5162 of file theory_quant.cpp.

References CVC3::Expr::getIndex(), and CVC3::Expr::isNull().


Variable Documentation

const Expr null_expr [static]

Definition at line 42 of file theory_quant.cpp.

const int FOUND_FALSE = 1

Definition at line 43 of file theory_quant.cpp.

Referenced by CVC3::TheoryQuant::enqueueInst().


Generated on Thu Oct 15 22:17:10 2009 for CVC3 by  doxygen 1.5.8