if(litDecision != undefSatLiteral) {
setPrvsIndex(i);
- Trace("decision") << "jh: spliting on " << litDecision << std::endl;
+ Trace("decision") << "jh: splitting on " << litDecision << std::endl;
return litDecision;
}
}
Decision modes currently supported by the --decision option:\n\
\n\
internal (default)\n\
-+ Use the internal decision hueristics of the SAT solver\n\
++ Use the internal decision heuristics of the SAT solver\n\
\n\
justification\n\
+ An ATGP-inspired justification heuristic\n\
case AttrTableCDNode:
case AttrTableCDString:
case AttrTableCDPointer:
- Unimplemented("CDAttributes cannot be deleted. Contact Tim/Morgan if this behaviour is desired.");
+ Unimplemented("CDAttributes cannot be deleted. Contact Tim/Morgan if this behavior is desired.");
break;
case LastAttrTable:
default:
};
/**
- * This uniquely indentifies attributes across tables.
+ * This uniquely identifies attributes across tables.
*/
class AttributeUniqueId {
AttrTableId d_tableId;
Command* cmd_to_export = *i;
Command* cmd = cmd_to_export->exportTo(exprManager, variableMap);
seq->addCommand(cmd);
- Debug("export") << "[export] so far coverted: " << seq << endl;
+ Debug("export") << "[export] so far converted: " << seq << endl;
}
seq->d_index = d_index;
return seq;
template<typename S>
void runThread(int thread_id, boost::function<S()> threadFn, S& returnValue)
{
- /* Uncommment line to delay first thread, useful to unearth errors/debug */
+ /* Uncomment line to delay first thread, useful to unearth errors/debug */
// if(thread_id == 0) { sleep(1); }
returnValue = threadFn();
";
static const std::string errorSelectionRulesHelp = "\
-This decides on the rule used by simplex during hueristic rounds\n\
+This decides on the rule used by simplex during heuristic rounds\n\
for deciding the next basic variable to select.\n\
Heuristic pivot rules available:\n\
+min\n\
#include "expr/node_manager.h"
#include "theory/decision_attributes.h"
-
namespace CVC4 {
namespace theory {
namespace bv {
struct IDLAssertionListElement {
/** The assertion itself */
IDLAssertion d_assertion;
- /** The inndex of the previous element (-1 for null) */
+ /** The index of the previous element (-1 for null) */
unsigned d_previous;
IDLAssertionListElement(const IDLAssertion& assertion, unsigned previous)
struct IDLReason {
/** The variable of the reason */
TNode x;
- /** The constraint of the reaason */
+ /** The constraint of the reason */
TNode constraint;
IDLReason(TNode x, TNode constraint)
** See the file COPYING in the top-level source directory for licensing
** information.\endverbatim
**
- ** \brief Regular Expresion Operations\r
+ ** \brief Regular Expression Operations\r
**\r
- ** Regular Expresion Operations\r
+ ** Regular Expression Operations\r
**/\r
\r
#include "cvc4_private.h"\r
std::map< Node, Node > processed;
std::vector< std::vector< Node > > col;
std::vector< Node > lts;
- seperateByLength( nodes, col, lts );
+ separateByLength( nodes, col, lts );
//step 1 : get all values for known lengths
std::vector< Node > lts_values;
std::map< unsigned, bool > values_used;
getEquivalenceClasses( eqcs );
std::vector< std::vector< Node > > cols;
std::vector< Node > lts;
- seperateByLength( eqcs, cols, lts );
+ separateByLength( eqcs, cols, lts );
for( unsigned i=0; i<cols.size(); i++ ){
if( cols[i].size()>1 && d_lemma_cache.empty() ){
Trace("strings-solve") << "- Verify disequalities are processed for ";
std::vector< std::vector< Node > > cols;
std::vector< Node > lts;
- seperateByLength( eqcs, cols, lts );
+ separateByLength( eqcs, cols, lts );
for( unsigned i = 0; i<cols.size(); ++i ){
Node lr = lts[i];
}
}
-void TheoryStrings::seperateByLength( std::vector< Node >& n, std::vector< std::vector< Node > >& cols,
+void TheoryStrings::separateByLength( std::vector< Node >& n, std::vector< std::vector< Node > >& cols,
std::vector< Node >& lts ) {
unsigned leqc_counter = 0;
std::map< Node, unsigned > eqc_to_leqc;
/** map from representatives to information necessary for equivalence classes */
std::map< Node, EqcInfo* > d_eqc_info;
EqcInfo * getOrMakeEqcInfo( Node eqc, bool doMake = true );
- //maintain which concat terms have the length lemma instantiatied
+ //maintain which concat terms have the length lemma instantiated
std::map< Node, bool > d_length_inst;
private:
bool getNormalForms(Node &eqc, std::vector< Node > & visited, std::vector< Node > & nf,
/** Conflict when merging two constants */
void conflict(TNode a, TNode b);
- /** called when a new equivalance class is created */
+ /** called when a new equivalence class is created */
void eqNotifyNewClass(TNode t);
- /** called when two equivalance classes will merge */
+ /** called when two equivalence classes will merge */
void eqNotifyPreMerge(TNode t1, TNode t2);
- /** called when two equivalance classes have merged */
+ /** called when two equivalence classes have merged */
void eqNotifyPostMerge(TNode t1, TNode t2);
/** called when two equivalence classes are made disequal */
void eqNotifyDisequal(TNode t1, TNode t2, TNode reason);
//get final normal form
void getFinalNormalForm( Node n, std::vector< Node >& nf, std::vector< Node >& exp );
- //seperate into collections with equal length
- void seperateByLength( std::vector< Node >& n, std::vector< std::vector< Node > >& col, std::vector< Node >& lts );
+ //separate into collections with equal length
+ void separateByLength( std::vector< Node >& n, std::vector< std::vector< Node > >& col, std::vector< Node >& lts );
void printConcat( std::vector< Node >& n, const char * c );
// Measurement
theory::EqualityStatus getEqualityStatus(TNode a, TNode b);
/**
- * Retruns the value that a theory that owns the type of var currently
+ * Returns the value that a theory that owns the type of var currently
* has (or null if none);
*/
Node getModelValue(TNode var);
template <class T>
void List<T>::unconcat(List<T>* other) {
// we do not need to check consistency since this is only called by the
- //Backtracker when we are inconsistent
+ // Backtracker when we are inconsistent
Assert(other->ptr_to_head != NULL);
other->ptr_to_head->next = NULL;
tail = other->ptr_to_head;
** See the file COPYING in the top-level source directory for licensing
** information.\endverbatim
**
- ** \brief A multi-precision rational constant.
+ ** \brief A hash function for Boolean
**
- ** A multi-precision rational constant.
- ** This stores the rational as a pair of multi-precision integers,
- ** one for the numerator and one for the denominator.
- ** The number is always stored so that the gcd of the numerator and denominator
- ** is 1. (This is referred to as referred to as canonical form in GMP's
- ** literature.) A consequence is that that the numerator and denominator may be
- ** different than the values used to construct the Rational.
+ ** A hash function for Boolean.
**/
#include "cvc4_public.h"