Kind

Every Term has an associated kind, represented as enum class cvc5.Kind. This kind distinguishes if the Term is a value, constant, variable or operator, and what kind of each. For example, a bit-vector value has kind CONST_BITVECTOR, a free constant symbol has kind CONSTANT, an equality over terms of any sort has kind EQUAL, and a universally quantified formula has kind FORALL.

The kinds below directly correspond to the enum values of the C++ Kind enum.


class cvc5.Kind(*values)

The Kind enum

ABS = 34
ADD = 20
AND = 12
APPLY_CONSTRUCTOR = 160
APPLY_SELECTOR = 161
APPLY_TESTER = 162
APPLY_UF = 17
APPLY_UPDATER = 163
ARCCOSECANT = 46
ARCCOSINE = 44
ARCCOTANGENT = 48
ARCSECANT = 47
ARCSINE = 43
ARCTANGENT = 45
BAG_ALL = 219
BAG_CARD = 215
BAG_CHOOSE = 216
BAG_COUNT = 211
BAG_DIFFERENCE_REMOVE = 209
BAG_DIFFERENCE_SUBTRACT = 208
BAG_EMPTY = 204
BAG_FILTER = 218
BAG_FOLD = 221
BAG_INTER_MIN = 207
BAG_MAKE = 214
BAG_MAP = 217
BAG_MEMBER = 212
BAG_PARTITION = 222
BAG_SETOF = 213
BAG_SOME = 220
BAG_SUBBAG = 210
BAG_UNION_DISJOINT = 206
BAG_UNION_MAX = 205
BITVECTOR_ADD = 72
BITVECTOR_AND = 63
BITVECTOR_ASHR = 82
BITVECTOR_BIT = 115
BITVECTOR_COMP = 70
BITVECTOR_CONCAT = 62
BITVECTOR_EXTRACT = 104
BITVECTOR_FROM_BOOLS = 114
BITVECTOR_ITE = 93
BITVECTOR_LSHR = 81
BITVECTOR_MULT = 71
BITVECTOR_NAND = 67
BITVECTOR_NEG = 74
BITVECTOR_NEGO = 96
BITVECTOR_NOR = 68
BITVECTOR_NOT = 66
BITVECTOR_OR = 64
BITVECTOR_REDAND = 95
BITVECTOR_REDOR = 94
BITVECTOR_REPEAT = 105
BITVECTOR_ROTATE_LEFT = 108
BITVECTOR_ROTATE_RIGHT = 109
BITVECTOR_SADDO = 98
BITVECTOR_SBV_TO_INT = 113
BITVECTOR_SDIV = 77
BITVECTOR_SDIVO = 103
BITVECTOR_SGE = 90
BITVECTOR_SGT = 89
BITVECTOR_SHL = 80
BITVECTOR_SIGN_EXTEND = 107
BITVECTOR_SLE = 88
BITVECTOR_SLT = 87
BITVECTOR_SLTBV = 92
BITVECTOR_SMOD = 79
BITVECTOR_SMULO = 100
BITVECTOR_SREM = 78
BITVECTOR_SSUBO = 102
BITVECTOR_SUB = 73
BITVECTOR_TO_NAT = 111
BITVECTOR_UADDO = 97
BITVECTOR_UBV_TO_INT = 112
BITVECTOR_UDIV = 75
BITVECTOR_UGE = 86
BITVECTOR_UGT = 85
BITVECTOR_ULE = 84
BITVECTOR_ULT = 83
BITVECTOR_ULTBV = 91
BITVECTOR_UMULO = 99
BITVECTOR_UREM = 76
BITVECTOR_USUBO = 101
BITVECTOR_XNOR = 69
BITVECTOR_XOR = 65
BITVECTOR_ZERO_EXTEND = 106
CARDINALITY_CONSTRAINT = 18
CONSTANT = 4
CONST_ARRAY = 158
CONST_BITVECTOR = 61
CONST_BOOLEAN = 10
CONST_FINITE_FIELD = 116
CONST_FLOATINGPOINT = 121
CONST_INTEGER = 52
CONST_RATIONAL = 51
CONST_ROUNDINGMODE = 122
CONST_SEQUENCE = 281
CONST_STRING = 253
COSECANT = 40
COSINE = 38
COTANGENT = 42
DISTINCT = 3
DIVISIBLE = 50
DIVISION = 28
DIVISION_TOTAL = 29
EQUAL = 2
EQ_RANGE = 159
EXISTS = 285
EXPONENTIAL = 36
FINITE_FIELD_ADD = 118
FINITE_FIELD_BITSUM = 119
FINITE_FIELD_MULT = 120
FINITE_FIELD_NEG = 117
FLOATINGPOINT_ABS = 125
FLOATINGPOINT_ADD = 127
FLOATINGPOINT_DIV = 130
FLOATINGPOINT_EQ = 124
FLOATINGPOINT_FMA = 131
FLOATINGPOINT_FP = 123
FLOATINGPOINT_GEQ = 139
FLOATINGPOINT_GT = 140
FLOATINGPOINT_IS_INF = 144
FLOATINGPOINT_IS_NAN = 145
FLOATINGPOINT_IS_NEG = 146
FLOATINGPOINT_IS_NORMAL = 141
FLOATINGPOINT_IS_POS = 147
FLOATINGPOINT_IS_SUBNORMAL = 142
FLOATINGPOINT_IS_ZERO = 143
FLOATINGPOINT_LEQ = 137
FLOATINGPOINT_LT = 138
FLOATINGPOINT_MAX = 136
FLOATINGPOINT_MIN = 135
FLOATINGPOINT_MULT = 129
FLOATINGPOINT_NEG = 126
FLOATINGPOINT_REM = 133
FLOATINGPOINT_RTI = 134
FLOATINGPOINT_SQRT = 132
FLOATINGPOINT_SUB = 128
FLOATINGPOINT_TO_FP_FROM_FP = 149
FLOATINGPOINT_TO_FP_FROM_IEEE_BV = 148
FLOATINGPOINT_TO_FP_FROM_REAL = 150
FLOATINGPOINT_TO_FP_FROM_SBV = 151
FLOATINGPOINT_TO_FP_FROM_UBV = 152
FLOATINGPOINT_TO_REAL = 155
FLOATINGPOINT_TO_SBV = 154
FLOATINGPOINT_TO_UBV = 153
FORALL = 284
GEQ = 56
GT = 55
HO_APPLY = 19
IAND = 22
IMPLIES = 13
INST_ADD_TO_POOL = 290
INST_ATTRIBUTE = 292
INST_NO_PATTERN = 288
INST_PATTERN = 287
INST_PATTERN_LIST = 293
INST_POOL = 289
INTERNAL_KIND = -2
INTS_DIVISION = 30
INTS_DIVISION_TOTAL = 31
INTS_MODULUS = 32
INTS_MODULUS_TOTAL = 33
INT_TO_BITVECTOR = 110
IS_INTEGER = 57
ITE = 16
LAMBDA = 8
LAST_KIND = 294
LEQ = 54
LOG2 = 25
LT = 53
MATCH = 164
MATCH_BIND_CASE = 166
MATCH_CASE = 165
MULT = 21
NEG = 27
NOT = 11
NULLABLE_LIFT = 168
NULL_TERM = 0
OR = 14
PI = 60
PIAND = 23
POW = 35
POW2 = 24
REGEXP_ALL = 266
REGEXP_ALLCHAR = 267
REGEXP_COMPLEMENT = 268
REGEXP_CONCAT = 255
REGEXP_DIFF = 258
REGEXP_INTER = 257
REGEXP_LOOP = 264
REGEXP_NONE = 265
REGEXP_OPT = 261
REGEXP_PLUS = 260
REGEXP_RANGE = 262
REGEXP_REPEAT = 263
REGEXP_STAR = 259
REGEXP_UNION = 256
RELATION_AGGREGATE = 202
RELATION_GROUP = 201
RELATION_IDEN = 200
RELATION_JOIN = 194
RELATION_JOIN_IMAGE = 199
RELATION_PRODUCT = 196
RELATION_PROJECT = 203
RELATION_TABLE_JOIN = 195
RELATION_TCLOSURE = 198
RELATION_TRANSPOSE = 197
SECANT = 41
SELECT = 156
SEP_EMP = 170
SEP_NIL = 169
SEP_PTO = 171
SEP_STAR = 172
SEP_WAND = 173
SEQ_AT = 273
SEQ_CONCAT = 269
SEQ_CONTAINS = 274
SEQ_EXTRACT = 271
SEQ_INDEXOF = 275
SEQ_LENGTH = 270
SEQ_NTH = 283
SEQ_PREFIX = 279
SEQ_REPLACE = 276
SEQ_REPLACE_ALL = 277
SEQ_REV = 278
SEQ_SUFFIX = 280
SEQ_UNIT = 282
SEQ_UPDATE = 272
SET_ALL = 191
SET_CARD = 182
SET_CHOOSE = 186
SET_COMPLEMENT = 183
SET_COMPREHENSION = 185
SET_EMPTY = 174
SET_FILTER = 190
SET_FOLD = 193
SET_INSERT = 181
SET_INTER = 176
SET_IS_EMPTY = 187
SET_IS_SINGLETON = 188
SET_MAP = 189
SET_MEMBER = 179
SET_MINUS = 177
SET_SINGLETON = 180
SET_SOME = 192
SET_SUBSET = 178
SET_UNION = 175
SET_UNIVERSE = 184
SEXPR = 7
SINE = 37
SKOLEM = 6
SKOLEM_ADD_TO_POOL = 291
SQRT = 49
STORE = 157
STRING_CHARAT = 233
STRING_CONCAT = 228
STRING_CONTAINS = 234
STRING_FROM_CODE = 245
STRING_FROM_INT = 251
STRING_INDEXOF = 235
STRING_INDEXOF_RE = 236
STRING_IN_REGEXP = 229
STRING_IS_DIGIT = 250
STRING_LENGTH = 230
STRING_LEQ = 247
STRING_LT = 246
STRING_PREFIX = 248
STRING_REPLACE = 237
STRING_REPLACE_ALL = 238
STRING_REPLACE_RE = 239
STRING_REPLACE_RE_ALL = 240
STRING_REV = 243
STRING_SUBSTR = 231
STRING_SUFFIX = 249
STRING_TO_CODE = 244
STRING_TO_INT = 252
STRING_TO_LOWER = 241
STRING_TO_REGEXP = 254
STRING_TO_UPPER = 242
STRING_UPDATE = 232
SUB = 26
TABLE_AGGREGATE = 225
TABLE_GROUP = 227
TABLE_JOIN = 226
TABLE_PRODUCT = 223
TABLE_PROJECT = 224
TANGENT = 39
TO_INTEGER = 58
TO_REAL = 59
TUPLE_PROJECT = 167
UNDEFINED_KIND = -1
UNINTERPRETED_SORT_VALUE = 1
VARIABLE = 5
VARIABLE_LIST = 286
WITNESS = 9
XOR = 15