kind.h
Go to the documentation of this file.
/********************* */
/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
/* THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ! */
/* Edit the template file instead: */
/* /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/expr/kind_template.h */
/********************* */
#include "cvc4_public.h"
#ifndef __CVC4__KIND_H
#define __CVC4__KIND_H
#include <iostream>
#include <sstream>
#include "util/exception.h"
namespace CVC4 {
namespace kind {
enum CVC4_PUBLIC Kind_t {
UNDEFINED_KIND = -1,
NULL_EXPR,
/* from builtin */
SORT_TAG,
SORT_TYPE,
UNINTERPRETED_CONSTANT,
ABSTRACT_VALUE,
BUILTIN,
FUNCTION,
APPLY,
EQUAL,
DISTINCT,
VARIABLE,
BOUND_VARIABLE,
SKOLEM,
SEXPR,
LAMBDA,
CHAIN,
CHAIN_OP,
TYPE_CONSTANT,
FUNCTION_TYPE,
SEXPR_TYPE,
SUBTYPE_TYPE,
/* from booleans */
CONST_BOOLEAN,
NOT,
AND,
IFF,
IMPLIES,
OR,
XOR,
ITE,
/* from uf */
APPLY_UF,
CARDINALITY_CONSTRAINT,
COMBINED_CARDINALITY_CONSTRAINT,
/* from arith */
PLUS,
MULT,
MINUS,
UMINUS,
DIVISION,
DIVISION_TOTAL,
INTS_DIVISION,
INTS_DIVISION_TOTAL,
INTS_MODULUS,
INTS_MODULUS_TOTAL,
ABS,
DIVISIBLE,
POW,
DIVISIBLE_OP,
SUBRANGE_TYPE,
CONST_RATIONAL,
LT,
LEQ,
GT,
GEQ,
IS_INTEGER,
TO_INTEGER,
TO_REAL,
/* from bv */
BITVECTOR_TYPE,
CONST_BITVECTOR,
BITVECTOR_CONCAT,
BITVECTOR_AND,
BITVECTOR_OR,
BITVECTOR_XOR,
BITVECTOR_NOT,
BITVECTOR_NAND,
BITVECTOR_NOR,
BITVECTOR_XNOR,
BITVECTOR_COMP,
BITVECTOR_MULT,
BITVECTOR_PLUS,
BITVECTOR_SUB,
BITVECTOR_NEG,
BITVECTOR_UDIV,
BITVECTOR_UREM,
BITVECTOR_SDIV,
BITVECTOR_SREM,
BITVECTOR_SMOD,
BITVECTOR_UDIV_TOTAL,
BITVECTOR_UREM_TOTAL,
BITVECTOR_SHL,
BITVECTOR_LSHR,
BITVECTOR_ASHR,
BITVECTOR_ULT,
BITVECTOR_ULE,
BITVECTOR_UGT,
BITVECTOR_UGE,
BITVECTOR_SLT,
BITVECTOR_SLE,
BITVECTOR_SGT,
BITVECTOR_SGE,
BITVECTOR_EAGER_ATOM,
BITVECTOR_ACKERMANIZE_UDIV,
BITVECTOR_ACKERMANIZE_UREM,
BITVECTOR_BITOF_OP,
BITVECTOR_EXTRACT_OP,
BITVECTOR_REPEAT_OP,
BITVECTOR_ZERO_EXTEND_OP,
BITVECTOR_SIGN_EXTEND_OP,
BITVECTOR_ROTATE_LEFT_OP,
BITVECTOR_ROTATE_RIGHT_OP,
BITVECTOR_BITOF,
BITVECTOR_EXTRACT,
BITVECTOR_REPEAT,
BITVECTOR_ZERO_EXTEND,
BITVECTOR_SIGN_EXTEND,
BITVECTOR_ROTATE_LEFT,
BITVECTOR_ROTATE_RIGHT,
INT_TO_BITVECTOR_OP,
INT_TO_BITVECTOR,
BITVECTOR_TO_NAT,
/* from arrays */
ARRAY_TYPE,
SELECT,
STORE,
STORE_ALL,
ARR_TABLE_FUN,
ARRAY_LAMBDA,
/* from datatypes */
CONSTRUCTOR_TYPE,
SELECTOR_TYPE,
TESTER_TYPE,
APPLY_CONSTRUCTOR,
APPLY_SELECTOR,
APPLY_SELECTOR_TOTAL,
APPLY_TESTER,
DATATYPE_TYPE,
PARAMETRIC_DATATYPE,
APPLY_TYPE_ASCRIPTION,
ASCRIPTION_TYPE,
TUPLE_TYPE,
TUPLE,
TUPLE_SELECT_OP,
TUPLE_SELECT,
TUPLE_UPDATE_OP,
TUPLE_UPDATE,
RECORD_TYPE,
RECORD,
RECORD_SELECT_OP,
RECORD_SELECT,
RECORD_UPDATE_OP,
RECORD_UPDATE,
/* from sets */
EMPTYSET,
SET_TYPE,
UNION,
INTERSECTION,
SETMINUS,
SUBSET,
MEMBER,
SINGLETON,
INSERT,
/* from strings */
STRING_CONCAT,
STRING_IN_REGEXP,
STRING_LENGTH,
STRING_SUBSTR,
STRING_SUBSTR_TOTAL,
STRING_CHARAT,
STRING_STRCTN,
STRING_STRIDOF,
STRING_STRREPL,
STRING_PREFIX,
STRING_SUFFIX,
STRING_ITOS,
STRING_STOI,
STRING_U16TOS,
STRING_STOU16,
STRING_U32TOS,
STRING_STOU32,
CONST_STRING,
CONST_REGEXP,
STRING_TO_REGEXP,
REGEXP_CONCAT,
REGEXP_UNION,
REGEXP_INTER,
REGEXP_STAR,
REGEXP_PLUS,
REGEXP_OPT,
REGEXP_RANGE,
REGEXP_LOOP,
REGEXP_EMPTY,
REGEXP_SIGMA,
/* from quantifiers */
FORALL,
EXISTS,
INST_CONSTANT,
BOUND_VAR_LIST,
INST_PATTERN,
INST_PATTERN_LIST,
REWRITE_RULE,
RR_REWRITE,
RR_REDUCTION,
RR_DEDUCTION,
/* from idl */
LAST_KIND
};/* enum Kind_t */
}/* CVC4::kind namespace */
// import Kind into the "CVC4" namespace but keep the individual kind
// constants under kind::
typedef ::CVC4::kind::Kind_t Kind;
namespace kind {
inline std::ostream& operator<<(std::ostream&, CVC4::Kind) CVC4_PUBLIC;
inline std::ostream& operator<<(std::ostream& out, CVC4::Kind k) {
using namespace CVC4::kind;
switch(k) {
/* special cases */
case UNDEFINED_KIND: out << "UNDEFINED_KIND"; break;
case NULL_EXPR: out << "NULL"; break;
/* from builtin */
case SORT_TAG: out << "SORT_TAG"; break;
case SORT_TYPE: out << "SORT_TYPE"; break;
case UNINTERPRETED_CONSTANT: out << "UNINTERPRETED_CONSTANT"; break;
case ABSTRACT_VALUE: out << "ABSTRACT_VALUE"; break;
case BUILTIN: out << "BUILTIN"; break;
case FUNCTION: out << "FUNCTION"; break;
case APPLY: out << "APPLY"; break;
case EQUAL: out << "EQUAL"; break;
case DISTINCT: out << "DISTINCT"; break;
case VARIABLE: out << "VARIABLE"; break;
case BOUND_VARIABLE: out << "BOUND_VARIABLE"; break;
case SKOLEM: out << "SKOLEM"; break;
case SEXPR: out << "SEXPR"; break;
case LAMBDA: out << "LAMBDA"; break;
case CHAIN: out << "CHAIN"; break;
case CHAIN_OP: out << "CHAIN_OP"; break;
case TYPE_CONSTANT: out << "TYPE_CONSTANT"; break;
case FUNCTION_TYPE: out << "FUNCTION_TYPE"; break;
case SEXPR_TYPE: out << "SEXPR_TYPE"; break;
case SUBTYPE_TYPE: out << "SUBTYPE_TYPE"; break;
/* from booleans */
case CONST_BOOLEAN: out << "CONST_BOOLEAN"; break;
case NOT: out << "NOT"; break;
case AND: out << "AND"; break;
case IFF: out << "IFF"; break;
case IMPLIES: out << "IMPLIES"; break;
case OR: out << "OR"; break;
case XOR: out << "XOR"; break;
case ITE: out << "ITE"; break;
/* from uf */
case APPLY_UF: out << "APPLY_UF"; break;
case CARDINALITY_CONSTRAINT: out << "CARDINALITY_CONSTRAINT"; break;
case COMBINED_CARDINALITY_CONSTRAINT: out << "COMBINED_CARDINALITY_CONSTRAINT"; break;
/* from arith */
case PLUS: out << "PLUS"; break;
case MULT: out << "MULT"; break;
case MINUS: out << "MINUS"; break;
case UMINUS: out << "UMINUS"; break;
case DIVISION: out << "DIVISION"; break;
case DIVISION_TOTAL: out << "DIVISION_TOTAL"; break;
case INTS_DIVISION: out << "INTS_DIVISION"; break;
case INTS_DIVISION_TOTAL: out << "INTS_DIVISION_TOTAL"; break;
case INTS_MODULUS: out << "INTS_MODULUS"; break;
case INTS_MODULUS_TOTAL: out << "INTS_MODULUS_TOTAL"; break;
case ABS: out << "ABS"; break;
case DIVISIBLE: out << "DIVISIBLE"; break;
case POW: out << "POW"; break;
case DIVISIBLE_OP: out << "DIVISIBLE_OP"; break;
case SUBRANGE_TYPE: out << "SUBRANGE_TYPE"; break;
case CONST_RATIONAL: out << "CONST_RATIONAL"; break;
case LT: out << "LT"; break;
case LEQ: out << "LEQ"; break;
case GT: out << "GT"; break;
case GEQ: out << "GEQ"; break;
case IS_INTEGER: out << "IS_INTEGER"; break;
case TO_INTEGER: out << "TO_INTEGER"; break;
case TO_REAL: out << "TO_REAL"; break;
/* from bv */
case BITVECTOR_TYPE: out << "BITVECTOR_TYPE"; break;
case CONST_BITVECTOR: out << "CONST_BITVECTOR"; break;
case BITVECTOR_CONCAT: out << "BITVECTOR_CONCAT"; break;
case BITVECTOR_AND: out << "BITVECTOR_AND"; break;
case BITVECTOR_OR: out << "BITVECTOR_OR"; break;
case BITVECTOR_XOR: out << "BITVECTOR_XOR"; break;
case BITVECTOR_NOT: out << "BITVECTOR_NOT"; break;
case BITVECTOR_NAND: out << "BITVECTOR_NAND"; break;
case BITVECTOR_NOR: out << "BITVECTOR_NOR"; break;
case BITVECTOR_XNOR: out << "BITVECTOR_XNOR"; break;
case BITVECTOR_COMP: out << "BITVECTOR_COMP"; break;
case BITVECTOR_MULT: out << "BITVECTOR_MULT"; break;
case BITVECTOR_PLUS: out << "BITVECTOR_PLUS"; break;
case BITVECTOR_SUB: out << "BITVECTOR_SUB"; break;
case BITVECTOR_NEG: out << "BITVECTOR_NEG"; break;
case BITVECTOR_UDIV: out << "BITVECTOR_UDIV"; break;
case BITVECTOR_UREM: out << "BITVECTOR_UREM"; break;
case BITVECTOR_SDIV: out << "BITVECTOR_SDIV"; break;
case BITVECTOR_SREM: out << "BITVECTOR_SREM"; break;
case BITVECTOR_SMOD: out << "BITVECTOR_SMOD"; break;
case BITVECTOR_UDIV_TOTAL: out << "BITVECTOR_UDIV_TOTAL"; break;
case BITVECTOR_UREM_TOTAL: out << "BITVECTOR_UREM_TOTAL"; break;
case BITVECTOR_SHL: out << "BITVECTOR_SHL"; break;
case BITVECTOR_LSHR: out << "BITVECTOR_LSHR"; break;
case BITVECTOR_ASHR: out << "BITVECTOR_ASHR"; break;
case BITVECTOR_ULT: out << "BITVECTOR_ULT"; break;
case BITVECTOR_ULE: out << "BITVECTOR_ULE"; break;
case BITVECTOR_UGT: out << "BITVECTOR_UGT"; break;
case BITVECTOR_UGE: out << "BITVECTOR_UGE"; break;
case BITVECTOR_SLT: out << "BITVECTOR_SLT"; break;
case BITVECTOR_SLE: out << "BITVECTOR_SLE"; break;
case BITVECTOR_SGT: out << "BITVECTOR_SGT"; break;
case BITVECTOR_SGE: out << "BITVECTOR_SGE"; break;
case BITVECTOR_EAGER_ATOM: out << "BITVECTOR_EAGER_ATOM"; break;
case BITVECTOR_ACKERMANIZE_UDIV: out << "BITVECTOR_ACKERMANIZE_UDIV"; break;
case BITVECTOR_ACKERMANIZE_UREM: out << "BITVECTOR_ACKERMANIZE_UREM"; break;
case BITVECTOR_BITOF_OP: out << "BITVECTOR_BITOF_OP"; break;
case BITVECTOR_EXTRACT_OP: out << "BITVECTOR_EXTRACT_OP"; break;
case BITVECTOR_REPEAT_OP: out << "BITVECTOR_REPEAT_OP"; break;
case BITVECTOR_ZERO_EXTEND_OP: out << "BITVECTOR_ZERO_EXTEND_OP"; break;
case BITVECTOR_SIGN_EXTEND_OP: out << "BITVECTOR_SIGN_EXTEND_OP"; break;
case BITVECTOR_ROTATE_LEFT_OP: out << "BITVECTOR_ROTATE_LEFT_OP"; break;
case BITVECTOR_ROTATE_RIGHT_OP: out << "BITVECTOR_ROTATE_RIGHT_OP"; break;
case BITVECTOR_BITOF: out << "BITVECTOR_BITOF"; break;
case BITVECTOR_EXTRACT: out << "BITVECTOR_EXTRACT"; break;
case BITVECTOR_REPEAT: out << "BITVECTOR_REPEAT"; break;
case BITVECTOR_ZERO_EXTEND: out << "BITVECTOR_ZERO_EXTEND"; break;
case BITVECTOR_SIGN_EXTEND: out << "BITVECTOR_SIGN_EXTEND"; break;
case BITVECTOR_ROTATE_LEFT: out << "BITVECTOR_ROTATE_LEFT"; break;
case BITVECTOR_ROTATE_RIGHT: out << "BITVECTOR_ROTATE_RIGHT"; break;
case INT_TO_BITVECTOR_OP: out << "INT_TO_BITVECTOR_OP"; break;
case INT_TO_BITVECTOR: out << "INT_TO_BITVECTOR"; break;
case BITVECTOR_TO_NAT: out << "BITVECTOR_TO_NAT"; break;
/* from arrays */
case ARRAY_TYPE: out << "ARRAY_TYPE"; break;
case SELECT: out << "SELECT"; break;
case STORE: out << "STORE"; break;
case STORE_ALL: out << "STORE_ALL"; break;
case ARR_TABLE_FUN: out << "ARR_TABLE_FUN"; break;
case ARRAY_LAMBDA: out << "ARRAY_LAMBDA"; break;
/* from datatypes */
case CONSTRUCTOR_TYPE: out << "CONSTRUCTOR_TYPE"; break;
case SELECTOR_TYPE: out << "SELECTOR_TYPE"; break;
case TESTER_TYPE: out << "TESTER_TYPE"; break;
case APPLY_CONSTRUCTOR: out << "APPLY_CONSTRUCTOR"; break;
case APPLY_SELECTOR: out << "APPLY_SELECTOR"; break;
case APPLY_SELECTOR_TOTAL: out << "APPLY_SELECTOR_TOTAL"; break;
case APPLY_TESTER: out << "APPLY_TESTER"; break;
case DATATYPE_TYPE: out << "DATATYPE_TYPE"; break;
case PARAMETRIC_DATATYPE: out << "PARAMETRIC_DATATYPE"; break;
case APPLY_TYPE_ASCRIPTION: out << "APPLY_TYPE_ASCRIPTION"; break;
case ASCRIPTION_TYPE: out << "ASCRIPTION_TYPE"; break;
case TUPLE_TYPE: out << "TUPLE_TYPE"; break;
case TUPLE: out << "TUPLE"; break;
case TUPLE_SELECT_OP: out << "TUPLE_SELECT_OP"; break;
case TUPLE_SELECT: out << "TUPLE_SELECT"; break;
case TUPLE_UPDATE_OP: out << "TUPLE_UPDATE_OP"; break;
case TUPLE_UPDATE: out << "TUPLE_UPDATE"; break;
case RECORD_TYPE: out << "RECORD_TYPE"; break;
case RECORD: out << "RECORD"; break;
case RECORD_SELECT_OP: out << "RECORD_SELECT_OP"; break;
case RECORD_SELECT: out << "RECORD_SELECT"; break;
case RECORD_UPDATE_OP: out << "RECORD_UPDATE_OP"; break;
case RECORD_UPDATE: out << "RECORD_UPDATE"; break;
/* from sets */
case EMPTYSET: out << "EMPTYSET"; break;
case SET_TYPE: out << "SET_TYPE"; break;
case UNION: out << "UNION"; break;
case INTERSECTION: out << "INTERSECTION"; break;
case SETMINUS: out << "SETMINUS"; break;
case SUBSET: out << "SUBSET"; break;
case MEMBER: out << "MEMBER"; break;
case SINGLETON: out << "SINGLETON"; break;
case INSERT: out << "INSERT"; break;
/* from strings */
case STRING_CONCAT: out << "STRING_CONCAT"; break;
case STRING_IN_REGEXP: out << "STRING_IN_REGEXP"; break;
case STRING_LENGTH: out << "STRING_LENGTH"; break;
case STRING_SUBSTR: out << "STRING_SUBSTR"; break;
case STRING_SUBSTR_TOTAL: out << "STRING_SUBSTR_TOTAL"; break;
case STRING_CHARAT: out << "STRING_CHARAT"; break;
case STRING_STRCTN: out << "STRING_STRCTN"; break;
case STRING_STRIDOF: out << "STRING_STRIDOF"; break;
case STRING_STRREPL: out << "STRING_STRREPL"; break;
case STRING_PREFIX: out << "STRING_PREFIX"; break;
case STRING_SUFFIX: out << "STRING_SUFFIX"; break;
case STRING_ITOS: out << "STRING_ITOS"; break;
case STRING_STOI: out << "STRING_STOI"; break;
case STRING_U16TOS: out << "STRING_U16TOS"; break;
case STRING_STOU16: out << "STRING_STOU16"; break;
case STRING_U32TOS: out << "STRING_U32TOS"; break;
case STRING_STOU32: out << "STRING_STOU32"; break;
case CONST_STRING: out << "CONST_STRING"; break;
case CONST_REGEXP: out << "CONST_REGEXP"; break;
case STRING_TO_REGEXP: out << "STRING_TO_REGEXP"; break;
case REGEXP_CONCAT: out << "REGEXP_CONCAT"; break;
case REGEXP_UNION: out << "REGEXP_UNION"; break;
case REGEXP_INTER: out << "REGEXP_INTER"; break;
case REGEXP_STAR: out << "REGEXP_STAR"; break;
case REGEXP_PLUS: out << "REGEXP_PLUS"; break;
case REGEXP_OPT: out << "REGEXP_OPT"; break;
case REGEXP_RANGE: out << "REGEXP_RANGE"; break;
case REGEXP_LOOP: out << "REGEXP_LOOP"; break;
case REGEXP_EMPTY: out << "REGEXP_EMPTY"; break;
case REGEXP_SIGMA: out << "REGEXP_SIGMA"; break;
/* from quantifiers */
case FORALL: out << "FORALL"; break;
case EXISTS: out << "EXISTS"; break;
case INST_CONSTANT: out << "INST_CONSTANT"; break;
case BOUND_VAR_LIST: out << "BOUND_VAR_LIST"; break;
case INST_PATTERN: out << "INST_PATTERN"; break;
case INST_PATTERN_LIST: out << "INST_PATTERN_LIST"; break;
case REWRITE_RULE: out << "REWRITE_RULE"; break;
case RR_REWRITE: out << "RR_REWRITE"; break;
case RR_REDUCTION: out << "RR_REDUCTION"; break;
case RR_DEDUCTION: out << "RR_DEDUCTION"; break;
/* from idl */
case LAST_KIND: out << "LAST_KIND"; break;
default: out << "UNKNOWNKIND!" << int(k); break;
}
return out;
}
#line 64 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/expr/kind_template.h"
/* TODO: This could be generated. */
inline bool isAssociative(::CVC4::Kind k) {
switch(k) {
case kind::AND:
case kind::OR:
case kind::MULT:
case kind::PLUS:
return true;
default:
return false;
}
}
inline std::string kindToString(::CVC4::Kind k) {
std::stringstream ss;
ss << k;
return ss.str();
}
struct KindHashFunction {
inline size_t operator()(::CVC4::Kind k) const {
return k;
}
};/* struct KindHashFunction */
}/* CVC4::kind namespace */
enum TypeConstant {
BUILTIN_OPERATOR_TYPE,
BOOLEAN_TYPE,
REAL_TYPE,
INTEGER_TYPE,
STRING_TYPE,
REGEXP_TYPE,
BOUND_VAR_LIST_TYPE,
INST_PATTERN_TYPE,
INST_PATTERN_LIST_TYPE,
RRHB_TYPE,
#line 102 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/expr/kind_template.h"
LAST_TYPE
};/* enum TypeConstant */
struct TypeConstantHashFunction {
inline size_t operator()(TypeConstant tc) const {
return tc;
}
};/* struct TypeConstantHashFunction */
inline std::ostream& operator<<(std::ostream& out, TypeConstant typeConstant) {
switch(typeConstant) {
case BUILTIN_OPERATOR_TYPE: out << "the type for built-in operators"; break;
case BOOLEAN_TYPE: out << "Boolean type"; break;
case REAL_TYPE: out << "real type"; break;
case INTEGER_TYPE: out << "integer type"; break;
case STRING_TYPE: out << "String type"; break;
case REGEXP_TYPE: out << "RegExp type"; break;
case BOUND_VAR_LIST_TYPE: out << "the type of bound variable lists"; break;
case INST_PATTERN_TYPE: out << "instantiation pattern type"; break;
case INST_PATTERN_LIST_TYPE: out << "the type of instantiation pattern lists"; break;
case RRHB_TYPE: out << "head and body of the rule type (for rewrite-rules theory)"; break;
#line 118 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/expr/kind_template.h"
default:
out << "UNKNOWN_TYPE_CONSTANT";
break;
}
return out;
}
namespace theory {
enum TheoryId {
THEORY_BUILTIN,
THEORY_BOOL,
THEORY_UF,
THEORY_ARITH,
THEORY_BV,
THEORY_ARRAY,
THEORY_DATATYPES,
THEORY_SETS,
THEORY_STRINGS,
THEORY_QUANTIFIERS,
#line 130 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/expr/kind_template.h"
THEORY_LAST
};/* enum TheoryId */
const TheoryId THEORY_FIRST = static_cast< TheoryId >(0);
const TheoryId THEORY_SAT_SOLVER = THEORY_LAST;
inline TheoryId& operator ++ (TheoryId& id) {
return id = static_cast< TheoryId >(((int)id) + 1);
}
inline std::ostream& operator<<(std::ostream& out, TheoryId theoryId) {
switch(theoryId) {
case THEORY_BUILTIN: out << "THEORY_BUILTIN"; break;
case THEORY_BOOL: out << "THEORY_BOOL"; break;
case THEORY_UF: out << "THEORY_UF"; break;
case THEORY_ARITH: out << "THEORY_ARITH"; break;
case THEORY_BV: out << "THEORY_BV"; break;
case THEORY_ARRAY: out << "THEORY_ARRAY"; break;
case THEORY_DATATYPES: out << "THEORY_DATATYPES"; break;
case THEORY_SETS: out << "THEORY_SETS"; break;
case THEORY_STRINGS: out << "THEORY_STRINGS"; break;
case THEORY_QUANTIFIERS: out << "THEORY_QUANTIFIERS"; break;
#line 144 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/expr/kind_template.h"
default:
out << "UNKNOWN_THEORY";
break;
}
return out;
}
inline TheoryId kindToTheoryId(::CVC4::Kind k) {
switch(k) {
case kind::UNDEFINED_KIND:
case kind::NULL_EXPR:
break;
case kind::SORT_TAG: return THEORY_BUILTIN;
case kind::SORT_TYPE: return THEORY_BUILTIN;
case kind::UNINTERPRETED_CONSTANT: return THEORY_BUILTIN;
case kind::ABSTRACT_VALUE: return THEORY_BUILTIN;
case kind::BUILTIN: return THEORY_BUILTIN;
case kind::FUNCTION: return THEORY_BUILTIN;
case kind::APPLY: return THEORY_BUILTIN;
case kind::EQUAL: return THEORY_BUILTIN;
case kind::DISTINCT: return THEORY_BUILTIN;
case kind::VARIABLE: return THEORY_BUILTIN;
case kind::BOUND_VARIABLE: return THEORY_BUILTIN;
case kind::SKOLEM: return THEORY_BUILTIN;
case kind::SEXPR: return THEORY_BUILTIN;
case kind::LAMBDA: return THEORY_BUILTIN;
case kind::CHAIN: return THEORY_BUILTIN;
case kind::CHAIN_OP: return THEORY_BUILTIN;
case kind::TYPE_CONSTANT: return THEORY_BUILTIN;
case kind::FUNCTION_TYPE: return THEORY_BUILTIN;
case kind::SEXPR_TYPE: return THEORY_BUILTIN;
case kind::SUBTYPE_TYPE: return THEORY_BUILTIN;
case kind::CONST_BOOLEAN: return THEORY_BOOL;
case kind::NOT: return THEORY_BOOL;
case kind::AND: return THEORY_BOOL;
case kind::IFF: return THEORY_BOOL;
case kind::IMPLIES: return THEORY_BOOL;
case kind::OR: return THEORY_BOOL;
case kind::XOR: return THEORY_BOOL;
case kind::ITE: return THEORY_BOOL;
case kind::APPLY_UF: return THEORY_UF;
case kind::CARDINALITY_CONSTRAINT: return THEORY_UF;
case kind::COMBINED_CARDINALITY_CONSTRAINT: return THEORY_UF;
case kind::PLUS: return THEORY_ARITH;
case kind::MULT: return THEORY_ARITH;
case kind::MINUS: return THEORY_ARITH;
case kind::UMINUS: return THEORY_ARITH;
case kind::DIVISION: return THEORY_ARITH;
case kind::DIVISION_TOTAL: return THEORY_ARITH;
case kind::INTS_DIVISION: return THEORY_ARITH;
case kind::INTS_DIVISION_TOTAL: return THEORY_ARITH;
case kind::INTS_MODULUS: return THEORY_ARITH;
case kind::INTS_MODULUS_TOTAL: return THEORY_ARITH;
case kind::ABS: return THEORY_ARITH;
case kind::DIVISIBLE: return THEORY_ARITH;
case kind::POW: return THEORY_ARITH;
case kind::DIVISIBLE_OP: return THEORY_ARITH;
case kind::SUBRANGE_TYPE: return THEORY_ARITH;
case kind::CONST_RATIONAL: return THEORY_ARITH;
case kind::LT: return THEORY_ARITH;
case kind::LEQ: return THEORY_ARITH;
case kind::GT: return THEORY_ARITH;
case kind::GEQ: return THEORY_ARITH;
case kind::IS_INTEGER: return THEORY_ARITH;
case kind::TO_INTEGER: return THEORY_ARITH;
case kind::TO_REAL: return THEORY_ARITH;
case kind::BITVECTOR_TYPE: return THEORY_BV;
case kind::CONST_BITVECTOR: return THEORY_BV;
case kind::BITVECTOR_CONCAT: return THEORY_BV;
case kind::BITVECTOR_AND: return THEORY_BV;
case kind::BITVECTOR_OR: return THEORY_BV;
case kind::BITVECTOR_XOR: return THEORY_BV;
case kind::BITVECTOR_NOT: return THEORY_BV;
case kind::BITVECTOR_NAND: return THEORY_BV;
case kind::BITVECTOR_NOR: return THEORY_BV;
case kind::BITVECTOR_XNOR: return THEORY_BV;
case kind::BITVECTOR_COMP: return THEORY_BV;
case kind::BITVECTOR_MULT: return THEORY_BV;
case kind::BITVECTOR_PLUS: return THEORY_BV;
case kind::BITVECTOR_SUB: return THEORY_BV;
case kind::BITVECTOR_NEG: return THEORY_BV;
case kind::BITVECTOR_UDIV: return THEORY_BV;
case kind::BITVECTOR_UREM: return THEORY_BV;
case kind::BITVECTOR_SDIV: return THEORY_BV;
case kind::BITVECTOR_SREM: return THEORY_BV;
case kind::BITVECTOR_SMOD: return THEORY_BV;
case kind::BITVECTOR_UDIV_TOTAL: return THEORY_BV;
case kind::BITVECTOR_UREM_TOTAL: return THEORY_BV;
case kind::BITVECTOR_SHL: return THEORY_BV;
case kind::BITVECTOR_LSHR: return THEORY_BV;
case kind::BITVECTOR_ASHR: return THEORY_BV;
case kind::BITVECTOR_ULT: return THEORY_BV;
case kind::BITVECTOR_ULE: return THEORY_BV;
case kind::BITVECTOR_UGT: return THEORY_BV;
case kind::BITVECTOR_UGE: return THEORY_BV;
case kind::BITVECTOR_SLT: return THEORY_BV;
case kind::BITVECTOR_SLE: return THEORY_BV;
case kind::BITVECTOR_SGT: return THEORY_BV;
case kind::BITVECTOR_SGE: return THEORY_BV;
case kind::BITVECTOR_EAGER_ATOM: return THEORY_BV;
case kind::BITVECTOR_ACKERMANIZE_UDIV: return THEORY_BV;
case kind::BITVECTOR_ACKERMANIZE_UREM: return THEORY_BV;
case kind::BITVECTOR_BITOF_OP: return THEORY_BV;
case kind::BITVECTOR_EXTRACT_OP: return THEORY_BV;
case kind::BITVECTOR_REPEAT_OP: return THEORY_BV;
case kind::BITVECTOR_ZERO_EXTEND_OP: return THEORY_BV;
case kind::BITVECTOR_SIGN_EXTEND_OP: return THEORY_BV;
case kind::BITVECTOR_ROTATE_LEFT_OP: return THEORY_BV;
case kind::BITVECTOR_ROTATE_RIGHT_OP: return THEORY_BV;
case kind::BITVECTOR_BITOF: return THEORY_BV;
case kind::BITVECTOR_EXTRACT: return THEORY_BV;
case kind::BITVECTOR_REPEAT: return THEORY_BV;
case kind::BITVECTOR_ZERO_EXTEND: return THEORY_BV;
case kind::BITVECTOR_SIGN_EXTEND: return THEORY_BV;
case kind::BITVECTOR_ROTATE_LEFT: return THEORY_BV;
case kind::BITVECTOR_ROTATE_RIGHT: return THEORY_BV;
case kind::INT_TO_BITVECTOR_OP: return THEORY_BV;
case kind::INT_TO_BITVECTOR: return THEORY_BV;
case kind::BITVECTOR_TO_NAT: return THEORY_BV;
case kind::ARRAY_TYPE: return THEORY_ARRAY;
case kind::SELECT: return THEORY_ARRAY;
case kind::STORE: return THEORY_ARRAY;
case kind::STORE_ALL: return THEORY_ARRAY;
case kind::ARR_TABLE_FUN: return THEORY_ARRAY;
case kind::ARRAY_LAMBDA: return THEORY_ARRAY;
case kind::CONSTRUCTOR_TYPE: return THEORY_DATATYPES;
case kind::SELECTOR_TYPE: return THEORY_DATATYPES;
case kind::TESTER_TYPE: return THEORY_DATATYPES;
case kind::APPLY_CONSTRUCTOR: return THEORY_DATATYPES;
case kind::APPLY_SELECTOR: return THEORY_DATATYPES;
case kind::APPLY_SELECTOR_TOTAL: return THEORY_DATATYPES;
case kind::APPLY_TESTER: return THEORY_DATATYPES;
case kind::DATATYPE_TYPE: return THEORY_DATATYPES;
case kind::PARAMETRIC_DATATYPE: return THEORY_DATATYPES;
case kind::APPLY_TYPE_ASCRIPTION: return THEORY_DATATYPES;
case kind::ASCRIPTION_TYPE: return THEORY_DATATYPES;
case kind::TUPLE_TYPE: return THEORY_DATATYPES;
case kind::TUPLE: return THEORY_DATATYPES;
case kind::TUPLE_SELECT_OP: return THEORY_DATATYPES;
case kind::TUPLE_SELECT: return THEORY_DATATYPES;
case kind::TUPLE_UPDATE_OP: return THEORY_DATATYPES;
case kind::TUPLE_UPDATE: return THEORY_DATATYPES;
case kind::RECORD_TYPE: return THEORY_DATATYPES;
case kind::RECORD: return THEORY_DATATYPES;
case kind::RECORD_SELECT_OP: return THEORY_DATATYPES;
case kind::RECORD_SELECT: return THEORY_DATATYPES;
case kind::RECORD_UPDATE_OP: return THEORY_DATATYPES;
case kind::RECORD_UPDATE: return THEORY_DATATYPES;
case kind::EMPTYSET: return THEORY_SETS;
case kind::SET_TYPE: return THEORY_SETS;
case kind::UNION: return THEORY_SETS;
case kind::INTERSECTION: return THEORY_SETS;
case kind::SETMINUS: return THEORY_SETS;
case kind::SUBSET: return THEORY_SETS;
case kind::MEMBER: return THEORY_SETS;
case kind::SINGLETON: return THEORY_SETS;
case kind::INSERT: return THEORY_SETS;
case kind::STRING_CONCAT: return THEORY_STRINGS;
case kind::STRING_IN_REGEXP: return THEORY_STRINGS;
case kind::STRING_LENGTH: return THEORY_STRINGS;
case kind::STRING_SUBSTR: return THEORY_STRINGS;
case kind::STRING_SUBSTR_TOTAL: return THEORY_STRINGS;
case kind::STRING_CHARAT: return THEORY_STRINGS;
case kind::STRING_STRCTN: return THEORY_STRINGS;
case kind::STRING_STRIDOF: return THEORY_STRINGS;
case kind::STRING_STRREPL: return THEORY_STRINGS;
case kind::STRING_PREFIX: return THEORY_STRINGS;
case kind::STRING_SUFFIX: return THEORY_STRINGS;
case kind::STRING_ITOS: return THEORY_STRINGS;
case kind::STRING_STOI: return THEORY_STRINGS;
case kind::STRING_U16TOS: return THEORY_STRINGS;
case kind::STRING_STOU16: return THEORY_STRINGS;
case kind::STRING_U32TOS: return THEORY_STRINGS;
case kind::STRING_STOU32: return THEORY_STRINGS;
case kind::CONST_STRING: return THEORY_STRINGS;
case kind::CONST_REGEXP: return THEORY_STRINGS;
case kind::STRING_TO_REGEXP: return THEORY_STRINGS;
case kind::REGEXP_CONCAT: return THEORY_STRINGS;
case kind::REGEXP_UNION: return THEORY_STRINGS;
case kind::REGEXP_INTER: return THEORY_STRINGS;
case kind::REGEXP_STAR: return THEORY_STRINGS;
case kind::REGEXP_PLUS: return THEORY_STRINGS;
case kind::REGEXP_OPT: return THEORY_STRINGS;
case kind::REGEXP_RANGE: return THEORY_STRINGS;
case kind::REGEXP_LOOP: return THEORY_STRINGS;
case kind::REGEXP_EMPTY: return THEORY_STRINGS;
case kind::REGEXP_SIGMA: return THEORY_STRINGS;
case kind::FORALL: return THEORY_QUANTIFIERS;
case kind::EXISTS: return THEORY_QUANTIFIERS;
case kind::INST_CONSTANT: return THEORY_QUANTIFIERS;
case kind::BOUND_VAR_LIST: return THEORY_QUANTIFIERS;
case kind::INST_PATTERN: return THEORY_QUANTIFIERS;
case kind::INST_PATTERN_LIST: return THEORY_QUANTIFIERS;
case kind::REWRITE_RULE: return THEORY_QUANTIFIERS;
case kind::RR_REWRITE: return THEORY_QUANTIFIERS;
case kind::RR_REDUCTION: return THEORY_QUANTIFIERS;
case kind::RR_DEDUCTION: return THEORY_QUANTIFIERS;
#line 158 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/expr/kind_template.h"
case kind::LAST_KIND:
break;
}
throw IllegalArgumentException("", "k", __PRETTY_FUNCTION__, "bad kind");
}
inline TheoryId typeConstantToTheoryId(::CVC4::TypeConstant typeConstant) {
switch(typeConstant) {
case BUILTIN_OPERATOR_TYPE: return THEORY_BUILTIN;
case BOOLEAN_TYPE: return THEORY_BOOL;
case REAL_TYPE: return THEORY_ARITH;
case INTEGER_TYPE: return THEORY_ARITH;
case STRING_TYPE: return THEORY_STRINGS;
case REGEXP_TYPE: return THEORY_STRINGS;
case BOUND_VAR_LIST_TYPE: return THEORY_QUANTIFIERS;
case INST_PATTERN_TYPE: return THEORY_QUANTIFIERS;
case INST_PATTERN_LIST_TYPE: return THEORY_QUANTIFIERS;
case RRHB_TYPE: return THEORY_QUANTIFIERS;
#line 168 "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_math_cvc4/cvc4/work/cvc4-1.4/builds/powerpc-apple-darwin10.0.0d2/production/../../../src/expr/kind_template.h"
case LAST_TYPE:
break;
}
throw IllegalArgumentException("", "k", __PRETTY_FUNCTION__, "bad type constant");
}
}/* CVC4::theory namespace */
}/* CVC4 namespace */
#endif /* __CVC4__KIND_H */
CVC4::IllegalArgumentException
Definition exception.h:79
cvc4_public.h
Macros that should be defined everywhere during the building of the libraries and driver binary,...
CVC4_PUBLIC
#define CVC4_PUBLIC
Definition cvc4_public.h:30
exception.h
CVC4's exception base class and some associated utilities.
CVC4::kind
Definition kind.h:58
CVC4::kind::kindToString
std::string kindToString(::CVC4::Kind k)
Definition kind.h:526
CVC4::kind::operator<<
std::ostream & operator<<(std::ostream &, CVC4::Kind)
Definition kind.h:284
CVC4::kind::isAssociative
bool isAssociative(::CVC4::Kind k)
Returns true if the given kind is associative.
Definition kind.h:513
CVC4::kind::Kind_t
Kind_t
Definition kind.h:60
CVC4::kind::INTS_DIVISION_TOTAL
@ INTS_DIVISION_TOTAL
integer division with interpreted division by 0 (internal symbol) (39)
Definition kind.h:109
CVC4::kind::EXISTS
@ EXISTS
existentially quantified formula; first parameter is an BOUND_VAR_LIST, second is quantifier body,...
Definition kind.h:259
CVC4::kind::BITVECTOR_ROTATE_RIGHT
@ BITVECTOR_ROTATE_RIGHT
bit-vector rotate right; first parameter is a BITVECTOR_ROTATE_RIGHT_OP, second is a bit-vector term ...
Definition kind.h:176
CVC4::kind::TESTER_TYPE
@ TESTER_TYPE
tester (116)
Definition kind.h:192
CVC4::kind::BITVECTOR_SHL
@ BITVECTOR_SHL
bit-vector shift left (the two bit-vector parameters must have same width) (77)
Definition kind.h:149
CVC4::kind::BITVECTOR_SDIV
@ BITVECTOR_SDIV
2's complement signed division (72)
Definition kind.h:144
CVC4::kind::STRING_STOI
@ STRING_STOI
string to integer (total function) (158)
Definition kind.h:238
CVC4::kind::BITVECTOR_UREM
@ BITVECTOR_UREM
unsigned remainder from truncating division of two bit-vectors (undefined if divisor is 0) (71)
Definition kind.h:143
CVC4::kind::INT_TO_BITVECTOR_OP
@ INT_TO_BITVECTOR_OP
operator for the integer conversion to bit-vector; payload is an instance of the CVC4::IntToBitVector...
Definition kind.h:177
CVC4::kind::CONSTRUCTOR_TYPE
@ CONSTRUCTOR_TYPE
constructor (114)
Definition kind.h:190
CVC4::kind::PARAMETRIC_DATATYPE
@ PARAMETRIC_DATATYPE
parametric datatype (122)
Definition kind.h:198
CVC4::kind::CHAIN
@ CHAIN
chained operator (N-ary), turned into a conjuction of binary applications of the operator on adjoinin...
Definition kind.h:79
CVC4::kind::INSERT
@ INSERT
set obtained by inserting elements (first N-1 parameters) into a set (the last parameter) (145)
Definition kind.h:223
CVC4::kind::STRING_PREFIX
@ STRING_PREFIX
string prefixof (155)
Definition kind.h:235
CVC4::kind::APPLY
@ APPLY
application of a defined function (7)
Definition kind.h:71
CVC4::kind::STRING_STRCTN
@ STRING_STRCTN
string contains (152)
Definition kind.h:232
CVC4::kind::BITVECTOR_ASHR
@ BITVECTOR_ASHR
bit-vector arithmetic shift right (the two bit-vector parameters must have same width) (79)
Definition kind.h:151
CVC4::kind::BITVECTOR_PLUS
@ BITVECTOR_PLUS
addition of two or more bit-vectors (67)
Definition kind.h:139
CVC4::kind::APPLY_TESTER
@ APPLY_TESTER
tester application; first parameter is a tester, second is a datatype term (120)
Definition kind.h:196
CVC4::kind::STRING_STOU16
@ STRING_STOU16
string to uint16 (160)
Definition kind.h:240
CVC4::kind::STRING_SUFFIX
@ STRING_SUFFIX
string suffixof (156)
Definition kind.h:236
CVC4::kind::STRING_TO_REGEXP
@ STRING_TO_REGEXP
convert string to regexp (165)
Definition kind.h:245
CVC4::kind::UNION
@ UNION
set union (139)
Definition kind.h:217
CVC4::kind::INST_PATTERN_LIST
@ INST_PATTERN_LIST
a list of instantiation patterns (181)
Definition kind.h:263
CVC4::kind::SEXPR_TYPE
@ SEXPR_TYPE
the type of a symbolic expression (19)
Definition kind.h:83
CVC4::kind::BITVECTOR_UDIV
@ BITVECTOR_UDIV
unsigned division of two bit-vectors, truncating towards 0 (undefined if divisor is 0) (70)
Definition kind.h:142
CVC4::kind::REWRITE_RULE
@ REWRITE_RULE
general rewrite rule (for rewrite-rules theory) (182)
Definition kind.h:264
CVC4::kind::RECORD_UPDATE
@ RECORD_UPDATE
record update; first parameter is a RECORD_UPDATE_OP (which references a field), second is a record t...
Definition kind.h:212
CVC4::kind::BITVECTOR_XNOR
@ BITVECTOR_XNOR
bitwise xnor of two bit-vectors (64)
Definition kind.h:136
CVC4::kind::DISTINCT
@ DISTINCT
disequality (N-ary, sorts must match) (9)
Definition kind.h:73
CVC4::kind::BITVECTOR_ZERO_EXTEND
@ BITVECTOR_ZERO_EXTEND
bit-vector zero-extend; first parameter is a BITVECTOR_ZERO_EXTEND_OP, second is a bit-vector term (1...
Definition kind.h:173
CVC4::kind::DATATYPE_TYPE
@ DATATYPE_TYPE
a datatype type (121)
Definition kind.h:197
CVC4::kind::STRING_ITOS
@ STRING_ITOS
integer to string (157)
Definition kind.h:237
CVC4::kind::MULT
@ MULT
arithmetic multiplication (N-ary) (33)
Definition kind.h:103
CVC4::kind::APPLY_TYPE_ASCRIPTION
@ APPLY_TYPE_ASCRIPTION
type ascription, for datatype constructor applications; first parameter is an ASCRIPTION_TYPE,...
Definition kind.h:199
CVC4::kind::STRING_STRIDOF
@ STRING_STRIDOF
string indexof (153)
Definition kind.h:233
CVC4::kind::IFF
@ IFF
logical equivalence (exactly two parameters) (24)
Definition kind.h:90
CVC4::kind::REGEXP_OPT
@ REGEXP_OPT
regexp ? (171)
Definition kind.h:251
CVC4::kind::REGEXP_RANGE
@ REGEXP_RANGE
regexp range (172)
Definition kind.h:252
CVC4::kind::FUNCTION_TYPE
@ FUNCTION_TYPE
a function type (18)
Definition kind.h:82
CVC4::kind::SUBSET
@ SUBSET
subset predicate; first parameter a subset of second (142)
Definition kind.h:220
CVC4::kind::STORE_ALL
@ STORE_ALL
array store-all; payload is an instance of the CVC4::ArrayStoreAll class (this is not supported by ar...
Definition kind.h:185
CVC4::kind::IMPLIES
@ IMPLIES
logical implication (exactly two parameters) (25)
Definition kind.h:91
CVC4::kind::BITVECTOR_CONCAT
@ BITVECTOR_CONCAT
concatenation of two or more bit-vectors (57)
Definition kind.h:129
CVC4::kind::TUPLE_UPDATE
@ TUPLE_UPDATE
tuple update; first parameter is a TUPLE_UPDATE_OP (which references an index), second is the tuple,...
Definition kind.h:206
CVC4::kind::CONST_BOOLEAN
@ CONST_BOOLEAN
truth and falsity; payload is a (C++) bool (21)
Definition kind.h:87
CVC4::kind::GT
@ GT
greater than, x > y (50)
Definition kind.h:120
CVC4::kind::INT_TO_BITVECTOR
@ INT_TO_BITVECTOR
integer conversion to bit-vector; first parameter is an INT_TO_BITVECTOR_OP, second is an integer ter...
Definition kind.h:178
CVC4::kind::LAMBDA
@ LAMBDA
a lambda expression; first parameter is a BOUND_VAR_LIST, second is lambda body (14)
Definition kind.h:78
CVC4::kind::ARR_TABLE_FUN
@ ARR_TABLE_FUN
array table function (internal-only symbol) (112)
Definition kind.h:186
CVC4::kind::SET_TYPE
@ SET_TYPE
set type, takes as parameter the type of the elements (138)
Definition kind.h:216
CVC4::kind::STORE
@ STORE
array store; first parameter is an array term, second is the store index, third is the term to store ...
Definition kind.h:184
CVC4::kind::UNDEFINED_KIND
@ UNDEFINED_KIND
undefined
Definition kind.h:61
CVC4::kind::STRING_CHARAT
@ STRING_CHARAT
string charat (user symbol) (151)
Definition kind.h:231
CVC4::kind::VARIABLE
@ VARIABLE
a variable (not permitted in bindings) (10)
Definition kind.h:74
CVC4::kind::BITVECTOR_BITOF_OP
@ BITVECTOR_BITOF_OP
operator for the bit-vector boolean bit extract; payload is an instance of the CVC4::BitVectorBitOf c...
Definition kind.h:163
CVC4::kind::CONST_RATIONAL
@ CONST_RATIONAL
a multiple-precision rational constant; payload is an instance of the CVC4::Rational class (47)
Definition kind.h:117
CVC4::kind::RR_REWRITE
@ RR_REWRITE
actual rewrite rule (for rewrite-rules theory) (183)
Definition kind.h:265
CVC4::kind::SELECT
@ SELECT
array select; first parameter is an array term, second is the selection index (109)
Definition kind.h:183
CVC4::kind::NULL_EXPR
@ NULL_EXPR
Null kind.
Definition kind.h:62
CVC4::kind::STRING_STRREPL
@ STRING_STRREPL
string replace (154)
Definition kind.h:234
CVC4::kind::TUPLE_TYPE
@ TUPLE_TYPE
tuple type (125)
Definition kind.h:201
CVC4::kind::CONST_REGEXP
@ CONST_REGEXP
a regular expression (164)
Definition kind.h:244
CVC4::kind::ITE
@ ITE
if-then-else, used for both Boolean and term ITE constructs; first parameter is (Boolean-sorted) cond...
Definition kind.h:94
CVC4::kind::UMINUS
@ UMINUS
arithmetic unary negation (35)
Definition kind.h:105
CVC4::kind::TYPE_CONSTANT
@ TYPE_CONSTANT
a representation for basic types (17)
Definition kind.h:81
CVC4::kind::BITVECTOR_ACKERMANIZE_UDIV
@ BITVECTOR_ACKERMANIZE_UDIV
term to be treated as a variable; used for eager bit-blasting Ackermann expansion of bvudiv (internal...
Definition kind.h:161
CVC4::kind::BITVECTOR_EAGER_ATOM
@ BITVECTOR_EAGER_ATOM
formula to be treated as a bv atom via eager bit-blasting (internal-only symbol) (88)
Definition kind.h:160
CVC4::kind::REGEXP_CONCAT
@ REGEXP_CONCAT
regexp concat (166)
Definition kind.h:246
CVC4::kind::BOUND_VARIABLE
@ BOUND_VARIABLE
a bound variable (permitted in bindings and the associated lambda and quantifier bodies only) (11)
Definition kind.h:75
CVC4::kind::RR_DEDUCTION
@ RR_DEDUCTION
actual deduction rule (for rewrite-rules theory) (185)
Definition kind.h:267
CVC4::kind::REGEXP_LOOP
@ REGEXP_LOOP
regexp loop (173)
Definition kind.h:253
CVC4::kind::MINUS
@ MINUS
arithmetic binary subtraction operator (34)
Definition kind.h:104
CVC4::kind::TO_INTEGER
@ TO_INTEGER
convert term to integer by the floor function (parameter is a real-sorted term) (53)
Definition kind.h:123
CVC4::kind::STRING_SUBSTR
@ STRING_SUBSTR
string substr (user symbol) (149)
Definition kind.h:229
CVC4::kind::CONST_BITVECTOR
@ CONST_BITVECTOR
a fixed-width bit-vector constant; payload is an instance of the CVC4::BitVector class (56)
Definition kind.h:128
CVC4::kind::PLUS
@ PLUS
arithmetic addition (N-ary) (32)
Definition kind.h:102
CVC4::kind::BITVECTOR_TYPE
@ BITVECTOR_TYPE
bit-vector type (55)
Definition kind.h:127
CVC4::kind::BITVECTOR_SLT
@ BITVECTOR_SLT
bit-vector signed less than (the two bit-vector parameters must have same width) (84)
Definition kind.h:156
CVC4::kind::BITVECTOR_ZERO_EXTEND_OP
@ BITVECTOR_ZERO_EXTEND_OP
operator for the bit-vector zero-extend; payload is an instance of the CVC4::BitVectorZeroExtend clas...
Definition kind.h:166
CVC4::kind::CHAIN_OP
@ CHAIN_OP
the chained operator; payload is an instance of the CVC4::Chain class (16)
Definition kind.h:80
CVC4::kind::LEQ
@ LEQ
less than or equal, x <= y (49)
Definition kind.h:119
CVC4::kind::RECORD_SELECT_OP
@ RECORD_SELECT_OP
operator for a record select; payload is an instance CVC4::RecordSelect class (133)
Definition kind.h:209
CVC4::kind::BITVECTOR_SGE
@ BITVECTOR_SGE
bit-vector signed greater than or equal (the two bit-vector parameters must have same width) (87)
Definition kind.h:159
CVC4::kind::NOT
@ NOT
logical not (22)
Definition kind.h:88
CVC4::kind::BITVECTOR_NAND
@ BITVECTOR_NAND
bitwise nand of two bit-vectors (62)
Definition kind.h:134
CVC4::kind::DIVISIBLE_OP
@ DIVISIBLE_OP
operator for the divisibility-by-k predicate; payload is an instance of the CVC4::Divisible class (45...
Definition kind.h:115
CVC4::kind::BITVECTOR_OR
@ BITVECTOR_OR
bitwise or of two or more bit-vectors (59)
Definition kind.h:131
CVC4::kind::BITVECTOR_SGT
@ BITVECTOR_SGT
bit-vector signed greater than (the two bit-vector parameters must have same width) (86)
Definition kind.h:158
CVC4::kind::BITVECTOR_UGE
@ BITVECTOR_UGE
bit-vector unsigned greater than or equal (the two bit-vector parameters must have same width) (83)
Definition kind.h:155
CVC4::kind::SKOLEM
@ SKOLEM
a Skolem variable (internal only) (12)
Definition kind.h:76
CVC4::kind::AND
@ AND
logical and (N-ary) (23)
Definition kind.h:89
CVC4::kind::REGEXP_STAR
@ REGEXP_STAR
regexp * (169)
Definition kind.h:249
CVC4::kind::DIVISIBLE
@ DIVISIBLE
divisibility-by-k predicate; first parameter is a DIVISIBLE_OP, second is integer term (43)
Definition kind.h:113
CVC4::kind::XOR
@ XOR
exclusive or (exactly two parameters) (27)
Definition kind.h:93
CVC4::kind::BITVECTOR_LSHR
@ BITVECTOR_LSHR
bit-vector logical shift right (the two bit-vector parameters must have same width) (78)
Definition kind.h:150
CVC4::kind::ARRAY_LAMBDA
@ ARRAY_LAMBDA
array lambda (internal-only symbol) (113)
Definition kind.h:187
CVC4::kind::BITVECTOR_SIGN_EXTEND
@ BITVECTOR_SIGN_EXTEND
bit-vector sign-extend; first parameter is a BITVECTOR_SIGN_EXTEND_OP, second is a bit-vector term (1...
Definition kind.h:174
CVC4::kind::LT
@ LT
less than, x < y (48)
Definition kind.h:118
CVC4::kind::STRING_U16TOS
@ STRING_U16TOS
uint16 to string (159)
Definition kind.h:239
CVC4::kind::DIVISION
@ DIVISION
real division, division by 0 undefined (user symbol) (36)
Definition kind.h:106
CVC4::kind::BITVECTOR_BITOF
@ BITVECTOR_BITOF
bit-vector boolean bit extract; first parameter is a BITVECTOR_BITOF_OP, second is a bit-vector term ...
Definition kind.h:170
CVC4::kind::BITVECTOR_SLE
@ BITVECTOR_SLE
bit-vector signed less than or equal (the two bit-vector parameters must have same width) (85)
Definition kind.h:157
CVC4::kind::BITVECTOR_UGT
@ BITVECTOR_UGT
bit-vector unsigned greater than (the two bit-vector parameters must have same width) (82)
Definition kind.h:154
CVC4::kind::COMBINED_CARDINALITY_CONSTRAINT
@ COMBINED_CARDINALITY_CONSTRAINT
combined cardinality constraint; parameter is a positive integer constant k that bounds the sum of th...
Definition kind.h:99
CVC4::kind::STRING_CONCAT
@ STRING_CONCAT
string concat (N-ary) (146)
Definition kind.h:226
CVC4::kind::SUBRANGE_TYPE
@ SUBRANGE_TYPE
the type of an integer subrange (46)
Definition kind.h:116
CVC4::kind::SETMINUS
@ SETMINUS
set subtraction (141)
Definition kind.h:219
CVC4::kind::GEQ
@ GEQ
greater than or equal, x >= y (51)
Definition kind.h:121
CVC4::kind::TUPLE_SELECT
@ TUPLE_SELECT
tuple select; first parameter is a TUPLE_SELECT_OP, second is the tuple (128)
Definition kind.h:204
CVC4::kind::ASCRIPTION_TYPE
@ ASCRIPTION_TYPE
a type parameter for type ascription; payload is an instance of the CVC4::AscriptionType class (124)
Definition kind.h:200
CVC4::kind::REGEXP_UNION
@ REGEXP_UNION
regexp union (167)
Definition kind.h:247
CVC4::kind::ABS
@ ABS
absolute value (42)
Definition kind.h:112
CVC4::kind::STRING_IN_REGEXP
@ STRING_IN_REGEXP
membership (147)
Definition kind.h:227
CVC4::kind::APPLY_UF
@ APPLY_UF
application of an uninterpreted function; first parameter is the function, remaining ones are paramet...
Definition kind.h:97
CVC4::kind::REGEXP_PLUS
@ REGEXP_PLUS
regexp + (170)
Definition kind.h:250
CVC4::kind::RECORD_SELECT
@ RECORD_SELECT
record select; first parameter is a RECORD_SELECT_OP, second is a record term to select from (134)
Definition kind.h:210
CVC4::kind::INST_PATTERN
@ INST_PATTERN
instantiation pattern (180)
Definition kind.h:262
CVC4::kind::SORT_TAG
@ SORT_TAG
sort tag (1)
Definition kind.h:65
CVC4::kind::UNINTERPRETED_CONSTANT
@ UNINTERPRETED_CONSTANT
the kind of expressions representing uninterpreted constants; payload is an instance of the CVC4::Uni...
Definition kind.h:67
CVC4::kind::BITVECTOR_REPEAT
@ BITVECTOR_REPEAT
bit-vector repeat; first parameter is a BITVECTOR_REPEAT_OP, second is a bit-vector term (100)
Definition kind.h:172
CVC4::kind::REGEXP_INTER
@ REGEXP_INTER
regexp intersection (168)
Definition kind.h:248
CVC4::kind::CONST_STRING
@ CONST_STRING
a string of characters (163)
Definition kind.h:243
CVC4::kind::BITVECTOR_MULT
@ BITVECTOR_MULT
multiplication of two or more bit-vectors (66)
Definition kind.h:138
CVC4::kind::BITVECTOR_SMOD
@ BITVECTOR_SMOD
2's complement signed remainder (sign follows divisor) (74)
Definition kind.h:146
CVC4::kind::STRING_LENGTH
@ STRING_LENGTH
string length (148)
Definition kind.h:228
CVC4::kind::BOUND_VAR_LIST
@ BOUND_VAR_LIST
a list of bound variables (used to bind variables under a quantifier) (179)
Definition kind.h:261
CVC4::kind::APPLY_SELECTOR_TOTAL
@ APPLY_SELECTOR_TOTAL
selector application; parameter is a datatype term (defined rigidly if mis-applied) (119)
Definition kind.h:195
CVC4::kind::BITVECTOR_UREM_TOTAL
@ BITVECTOR_UREM_TOTAL
unsigned remainder from truncating division of two bit-vectors (defined to be equal to the dividend,...
Definition kind.h:148
CVC4::kind::RECORD_UPDATE_OP
@ RECORD_UPDATE_OP
operator for a record update; payload is an instance CVC4::RecordSelect class (135)
Definition kind.h:211
CVC4::kind::BITVECTOR_ROTATE_LEFT_OP
@ BITVECTOR_ROTATE_LEFT_OP
operator for the bit-vector rotate left; payload is an instance of the CVC4::BitVectorRotateLeft clas...
Definition kind.h:168
CVC4::kind::BITVECTOR_AND
@ BITVECTOR_AND
bitwise and of two or more bit-vectors (58)
Definition kind.h:130
CVC4::kind::BITVECTOR_SREM
@ BITVECTOR_SREM
2's complement signed remainder (sign follows dividend) (73)
Definition kind.h:145
CVC4::kind::RECORD
@ RECORD
a record; first parameter is a RECORD_TYPE; remaining parameters (if any) are the individual values f...
Definition kind.h:208
CVC4::kind::BITVECTOR_REPEAT_OP
@ BITVECTOR_REPEAT_OP
operator for the bit-vector repeat; payload is an instance of the CVC4::BitVectorRepeat class (93)
Definition kind.h:165
CVC4::kind::SEXPR
@ SEXPR
a symbolic expression (any arity) (13)
Definition kind.h:77
CVC4::kind::MEMBER
@ MEMBER
set membership predicate; first parameter a member of second (143)
Definition kind.h:221
CVC4::kind::INST_CONSTANT
@ INST_CONSTANT
instantiation constant (178)
Definition kind.h:260
CVC4::kind::INTS_MODULUS
@ INTS_MODULUS
integer modulus, division by 0 undefined (user symbol) (40)
Definition kind.h:110
CVC4::kind::TUPLE_UPDATE_OP
@ TUPLE_UPDATE_OP
operator for a tuple update; payload is an instance of the CVC4::TupleUpdate class (129)
Definition kind.h:205
CVC4::kind::BITVECTOR_ULE
@ BITVECTOR_ULE
bit-vector unsigned less than or equal (the two bit-vector parameters must have same width) (81)
Definition kind.h:153
CVC4::kind::EQUAL
@ EQUAL
equality (two parameters only, sorts must match) (8)
Definition kind.h:72
CVC4::kind::INTS_MODULUS_TOTAL
@ INTS_MODULUS_TOTAL
integer modulus with interpreted division by 0 (internal symbol) (41)
Definition kind.h:111
CVC4::kind::BITVECTOR_SIGN_EXTEND_OP
@ BITVECTOR_SIGN_EXTEND_OP
operator for the bit-vector sign-extend; payload is an instance of the CVC4::BitVectorSignExtend clas...
Definition kind.h:167
CVC4::kind::BITVECTOR_ROTATE_RIGHT_OP
@ BITVECTOR_ROTATE_RIGHT_OP
operator for the bit-vector rotate right; payload is an instance of the CVC4::BitVectorRotateRight cl...
Definition kind.h:169
CVC4::kind::BITVECTOR_EXTRACT
@ BITVECTOR_EXTRACT
bit-vector extract; first parameter is a BITVECTOR_EXTRACT_OP, second is a bit-vector term (99)
Definition kind.h:171
CVC4::kind::RR_REDUCTION
@ RR_REDUCTION
actual reduction rule (for rewrite-rules theory) (184)
Definition kind.h:266
CVC4::kind::REGEXP_EMPTY
@ REGEXP_EMPTY
regexp empty (174)
Definition kind.h:254
CVC4::kind::INTS_DIVISION
@ INTS_DIVISION
integer division, division by 0 undefined (user symbol) (38)
Definition kind.h:108
CVC4::kind::BITVECTOR_ACKERMANIZE_UREM
@ BITVECTOR_ACKERMANIZE_UREM
term to be treated as a variable; used for eager bit-blasting Ackermann expansion of bvurem (internal...
Definition kind.h:162
CVC4::kind::BUILTIN
@ BUILTIN
the kind of expressions representing built-in operators (5)
Definition kind.h:69
CVC4::kind::SELECTOR_TYPE
@ SELECTOR_TYPE
selector (115)
Definition kind.h:191
CVC4::kind::BITVECTOR_NOT
@ BITVECTOR_NOT
bitwise not of a bit-vector (61)
Definition kind.h:133
CVC4::kind::DIVISION_TOTAL
@ DIVISION_TOTAL
real division with interpreted division by 0 (internal symbol) (37)
Definition kind.h:107
CVC4::kind::ARRAY_TYPE
@ ARRAY_TYPE
array type (108)
Definition kind.h:182
CVC4::kind::APPLY_CONSTRUCTOR
@ APPLY_CONSTRUCTOR
constructor application; first parameter is the constructor, remaining parameters (if any) are parame...
Definition kind.h:193
CVC4::kind::BITVECTOR_XOR
@ BITVECTOR_XOR
bitwise xor of two or more bit-vectors (60)
Definition kind.h:132
CVC4::kind::BITVECTOR_SUB
@ BITVECTOR_SUB
subtraction of two bit-vectors (68)
Definition kind.h:140
CVC4::kind::SORT_TYPE
@ SORT_TYPE
specifies types of user-declared 'uninterpreted' sorts (2)
Definition kind.h:66
CVC4::kind::LAST_KIND
@ LAST_KIND
marks the upper-bound of this enumeration
Definition kind.h:271
CVC4::kind::POW
@ POW
arithmetic power (44)
Definition kind.h:114
CVC4::kind::BITVECTOR_NEG
@ BITVECTOR_NEG
unary negation of a bit-vector (69)
Definition kind.h:141
CVC4::kind::INTERSECTION
@ INTERSECTION
set intersection (140)
Definition kind.h:218
CVC4::kind::TUPLE_SELECT_OP
@ TUPLE_SELECT_OP
operator for a tuple select; payload is an instance of the CVC4::TupleSelect class (127)
Definition kind.h:203
CVC4::kind::ABSTRACT_VALUE
@ ABSTRACT_VALUE
the kind of expressions representing abstract values (other than uninterpreted sort constants); paylo...
Definition kind.h:68
CVC4::kind::SINGLETON
@ SINGLETON
the set of the single element given as a parameter (144)
Definition kind.h:222
CVC4::kind::BITVECTOR_TO_NAT
@ BITVECTOR_TO_NAT
bit-vector conversion to (nonnegative) integer; parameter is a bit-vector (107)
Definition kind.h:179
CVC4::kind::IS_INTEGER
@ IS_INTEGER
term-is-integer predicate (parameter is a real-sorted term) (52)
Definition kind.h:122
CVC4::kind::CARDINALITY_CONSTRAINT
@ CARDINALITY_CONSTRAINT
cardinality constraint on sort S: first parameter is (any) term of sort S, second is a positive integ...
Definition kind.h:98
CVC4::kind::FUNCTION
@ FUNCTION
a defined function (6)
Definition kind.h:70
CVC4::kind::REGEXP_SIGMA
@ REGEXP_SIGMA
regexp all characters (175)
Definition kind.h:255
CVC4::kind::BITVECTOR_EXTRACT_OP
@ BITVECTOR_EXTRACT_OP
operator for the bit-vector extract; payload is an instance of the CVC4::BitVectorExtract class (92)
Definition kind.h:164
CVC4::kind::STRING_U32TOS
@ STRING_U32TOS
uint32 to string (161)
Definition kind.h:241
CVC4::kind::TUPLE
@ TUPLE
a tuple (N-ary) (126)
Definition kind.h:202
CVC4::kind::STRING_SUBSTR_TOTAL
@ STRING_SUBSTR_TOTAL
string substr (internal symbol) (150)
Definition kind.h:230
CVC4::kind::OR
@ OR
logical or (N-ary) (26)
Definition kind.h:92
CVC4::kind::FORALL
@ FORALL
universally quantified formula; first parameter is an BOUND_VAR_LIST, second is quantifier body,...
Definition kind.h:258
CVC4::kind::RECORD_TYPE
@ RECORD_TYPE
record type (131)
Definition kind.h:207
CVC4::kind::TO_REAL
@ TO_REAL
cast term to real (parameter is an integer-sorted term; this is a no-op in CVC4, as integer is a subt...
Definition kind.h:124
CVC4::kind::SUBTYPE_TYPE
@ SUBTYPE_TYPE
predicate subtype; payload is an instance of the CVC4::Predicate class (20)
Definition kind.h:84
CVC4::kind::BITVECTOR_NOR
@ BITVECTOR_NOR
bitwise nor of two bit-vectors (63)
Definition kind.h:135
CVC4::kind::BITVECTOR_UDIV_TOTAL
@ BITVECTOR_UDIV_TOTAL
unsigned division of two bit-vectors, truncating towards 0 (defined to be the all-ones bit pattern,...
Definition kind.h:147
CVC4::kind::BITVECTOR_ROTATE_LEFT
@ BITVECTOR_ROTATE_LEFT
bit-vector rotate left; first parameter is a BITVECTOR_ROTATE_LEFT_OP, second is a bit-vector term (1...
Definition kind.h:175
CVC4::kind::EMPTYSET
@ EMPTYSET
the empty set constant; payload is an instance of the CVC4::EmptySet class (137)
Definition kind.h:215
CVC4::kind::APPLY_SELECTOR
@ APPLY_SELECTOR
selector application; parameter is a datatype term (undefined if mis-applied) (118)
Definition kind.h:194
CVC4::kind::BITVECTOR_COMP
@ BITVECTOR_COMP
equality comparison of two bit-vectors (returns one bit) (65)
Definition kind.h:137
CVC4::kind::STRING_STOU32
@ STRING_STOU32
string to uint32 (162)
Definition kind.h:242
CVC4::kind::BITVECTOR_ULT
@ BITVECTOR_ULT
bit-vector unsigned less than (the two bit-vector parameters must have same width) (80)
Definition kind.h:152
CVC4::theory::typeConstantToTheoryId
TheoryId typeConstantToTheoryId(::CVC4::TypeConstant typeConstant)
Definition kind.h:833
CVC4::theory::operator<<
std::ostream & operator<<(std::ostream &out, TheoryId theoryId)
Definition kind.h:614
CVC4::theory::operator++
TheoryId & operator++(TheoryId &id)
Definition kind.h:610
CVC4::theory::THEORY_FIRST
const TheoryId THEORY_FIRST
Definition kind.h:607
CVC4::theory::TheoryId
TheoryId
Definition kind.h:591
CVC4::theory::THEORY_DATATYPES
@ THEORY_DATATYPES
Definition kind.h:598
CVC4::theory::THEORY_QUANTIFIERS
@ THEORY_QUANTIFIERS
Definition kind.h:601
CVC4::theory::THEORY_ARRAY
@ THEORY_ARRAY
Definition kind.h:597
CVC4::theory::THEORY_UF
@ THEORY_UF
Definition kind.h:594
CVC4::theory::THEORY_SETS
@ THEORY_SETS
Definition kind.h:599
CVC4::theory::THEORY_BV
@ THEORY_BV
Definition kind.h:596
CVC4::theory::THEORY_STRINGS
@ THEORY_STRINGS
Definition kind.h:600
CVC4::theory::THEORY_BUILTIN
@ THEORY_BUILTIN
Definition kind.h:592
CVC4::theory::THEORY_LAST
@ THEORY_LAST
Definition kind.h:604
CVC4::theory::THEORY_BOOL
@ THEORY_BOOL
Definition kind.h:593
CVC4::theory::THEORY_ARITH
@ THEORY_ARITH
Definition kind.h:595
CVC4::theory::kindToTheoryId
TheoryId kindToTheoryId(::CVC4::Kind k)
Definition kind.h:635
CVC4::theory::THEORY_SAT_SOLVER
const TheoryId THEORY_SAT_SOLVER
Definition kind.h:608
CVC4
Definition expr.h:106
CVC4::Kind
::CVC4::kind::Kind_t Kind
Definition kind.h:279
CVC4::operator<<
std::ostream & operator<<(std::ostream &out, const TypeCheckingException &e)
CVC4::TypeConstant
TypeConstant
The enumeration for the built-in atomic types.
Definition kind.h:543
CVC4::INST_PATTERN_TYPE
@ INST_PATTERN_TYPE
instantiation pattern type
Definition kind.h:551
CVC4::LAST_TYPE
@ LAST_TYPE
Definition kind.h:556
CVC4::INST_PATTERN_LIST_TYPE
@ INST_PATTERN_LIST_TYPE
the type of instantiation pattern lists
Definition kind.h:552
CVC4::BUILTIN_OPERATOR_TYPE
@ BUILTIN_OPERATOR_TYPE
the type for built-in operators
Definition kind.h:544
CVC4::INTEGER_TYPE
@ INTEGER_TYPE
integer type
Definition kind.h:547
CVC4::BOOLEAN_TYPE
@ BOOLEAN_TYPE
Boolean type.
Definition kind.h:545
CVC4::STRING_TYPE
@ STRING_TYPE
String type.
Definition kind.h:548
CVC4::REGEXP_TYPE
@ REGEXP_TYPE
RegExp type.
Definition kind.h:549
CVC4::REAL_TYPE
@ REAL_TYPE
real type
Definition kind.h:546
CVC4::BOUND_VAR_LIST_TYPE
@ BOUND_VAR_LIST_TYPE
the type of bound variable lists
Definition kind.h:550
CVC4::RRHB_TYPE
@ RRHB_TYPE
head and body of the rule type (for rewrite-rules theory)
Definition kind.h:553
CVC4::TypeConstantHashFunction
We hash the constants with their values.
Definition kind_template.h:108
CVC4::TypeConstantHashFunction::operator()
size_t operator()(TypeConstant tc) const
Definition kind.h:563
CVC4::kind::KindHashFunction
Definition kind_template.h:88
CVC4::kind::KindHashFunction::operator()
size_t operator()(::CVC4::Kind k) const
Definition kind.h:533