BitwuzlaKind
The kind of a BitwuzlaTerm.
Terms of a given kind are created via bitwuzla_mk_term(),
bitwuzla_mk_term1(), bitwuzla_mk_term2(),
bitwuzla_mk_term3(), bitwuzla_mk_term1_indexed1(),
bitwuzla_mk_term1_indexed2(),
bitwuzla_mk_term2_indexed1(), and
bitwuzla_mk_term1_indexed2().
The kind of a term can be queried via bitwuzla_term_get_kind().
The string representation of a term kind can be queried via
bitwuzla_term_to_string(), and printed to a given file
via bitwuzla_term_print().
- 
enum BitwuzlaKind
 The term kind.
Values:
- 
enumerator BITWUZLA_KIND_CONSTANT
 First order constant.
- 
enumerator BITWUZLA_KIND_CONST_ARRAY
 Constant array.
- 
enumerator BITWUZLA_KIND_VALUE
 Value.
- 
enumerator BITWUZLA_KIND_VARIABLE
 Bound variable.
- 
enumerator BITWUZLA_KIND_AND
 Boolean and.
SMT-LIB:
andNumber of arguments:
>=2Arguments: \(Bool \times ... \times Bool \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_DISTINCT
 Disequality.
SMT-LIB:
distinctNumber of Arguments:
>=2Arguments: \(S \times ... \times S \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_EQUAL
 Equality.
SMT-LIB:
=Number of Arguments:
>=2Arguments: \(S \times ... \times S \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_IFF
 Boolean if and only if.
SMT-LIB:
=Number of Arguments:
>=2Arguments: \(Bool \times ... \times Bool \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_IMPLIES
 Boolean implies.
SMT-LIB:
=>Number of Arguments:
>=2Arguments: \(Bool \times ... \times Bool \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_NOT
 Boolean not.
SMT-LIB:
notNumber of Arguments: 1
Arguments: \(Bool \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_OR
 Boolean or.
SMT-LIB:
orNumber of Arguments:
>=2Arguments: \(Bool \times ... \times Bool \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_XOR
 Boolean xor.
SMT-LIB:
xorNumber of Arguments:
>=2Arguments: \(Bool \times ... \times Bool \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_ITE
 If-then-else.
SMT-LIB:
iteNumber of Arguments: 3
Arguments: \(Bool \times S \times S \rightarrow S\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_EXISTS
 Existential quantification.
SMT-LIB:
existsNumber of Arguments:
>=2Arguments:\(S_1 \times ... \times S_n \times Bool \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FORALL
 Universal quantification.
SMT-LIB:
forallNumber of Arguments:
>=2Arguments:\(S_1 \times ... \times S_n \times Bool \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_APPLY
 Function application.
Number of Arguments:
>=2Arguments:\((S_1 \times ... \times S_n \rightarrow S) \times S_1 \times ... \times S_n \rightarrow S\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_LAMBDA
 Lambda.
Number of Arguments:
>=2Arguments:\(S_1 \times ... \times S_n \times S \rightarrow (S_1 \times ... \times S_n \rightarrow S)\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_ARRAY_SELECT
 Array select.
SMT-LIB:
selectNumber of Arguments: 2
Arguments: \((S_i \rightarrow S_e) \times S_i \rightarrow S_e\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_ARRAY_STORE
 Array store.
SMT-LIB:
storeNumber of Arguments: 3
Arguments:\((S_i \rightarrow S_e) \times S_i \times S_e \rightarrow (S_i \rightarrow S_e)\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_ADD
 Bit-vector addition.
SMT-LIB:
bvaddNumber of Arguments:
>=2Arguments: \(BV_n \times ... \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_AND
 Bit-vector and.
SMT-LIB:
bvandNumber of Arguments:
>=2Arguments: \(BV_n \times ... \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_ASHR
 Bit-vector arithmetic right shift.
SMT-LIB:
bvashrNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_COMP
 Bit-vector comparison.
SMT-LIB:
bvcompNumber of Arguments:
>=2Arguments: \(BV_n \times ... \times BV_n \rightarrow BV_1\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_CONCAT
 Bit-vector concat.
SMT-LIB:
concatNumber of Arguments:
>=2Arguments:\(BV_n \times ... \times BV_m \rightarrow BV_{n + ... + m}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_DEC
 Bit-vector decrement.
Decrement by one.
Number of arguments: 1
Arguments: \(BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_INC
 Bit-vector increment.
Increment by one.
Number of Arguments: 1
Arguments: \(BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_MUL
 Bit-vector multiplication.
SMT-LIB:
bvmulNumber of Arguments:
>=2Arguments: \(BV_n \times ... \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_NAND
 Bit-vector nand.
SMT-LIB:
bvnandNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_NEG
 Bit-vector negation (two’s complement).
SMT-LIB:
bvnegNumber of Arguments: 1
Arguments: \(BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_NEG_OVERFLOW
 Bit-vector negation overflow test.
Predicate indicating if bit-vector negation produces an overflow.
SMT-LIB:
bvnegoNumber of Arguments: 1
Arguments: \(BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_NOR
 Bit-vector nor.
SMT-LIB:
bvnorNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_NOT
 Bit-vector not (one’s complement).
SMT-LIB:
bvnotNumber of Arguments: 1
Arguments: \(BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_OR
 Bit-vector or.
SMT-LIB:
bvorNumber of Arguments:
>=2Arguments: \(BV_n \times ... \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_REDAND
 Bit-vector and reduction.
Bit-wise and reduction), all bits are and’ed together into a single bit. This corresponds to bit-wise and reduction as known from Verilog.
Number of Arguments: 1
Arguments: \(BV_n \rightarrow BV_1\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_REDOR
 Bit-vector reduce or.
Bit-wise or reduction), all bits are or’ed together into a single bit. This corresponds to bit-wise or reduction as known from Verilog.
Number of Arguments: 1
Arguments: \(BV_n \rightarrow BV_1\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_REDXOR
 Bit-vector reduce xor.
Bit-wise xor reduction), all bits are xor’ed together into a single bit. This corresponds to bit-wise xor reduction as known from Verilog.
Number of Arguments: 1
Arguments: \(BV_n \rightarrow BV_1\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_ROL
 Bit-vector rotate left (not indexed).
This is a non-indexed variant of SMT-LIB
rotate_left.Number of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_ROR
 Bit-vector rotate right.
This is a non-indexed variant of SMT-LIB
rotate_right.Number of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SADD_OVERFLOW
 Bit-vector signed addition overflow test.
Predicate indicating if signed addition produces an overflow.
SMT-LIB:
bvsaddoNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SDIV_OVERFLOW
 Bit-vector signed division overflow test.
Predicate indicating if signed division produces an overflow.
SMT-LIB:
bvsdivoNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SDIV
 Bit-vector signed division.
SMT-LIB:
bvsdivNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SGE
 Bit-vector signed greater than or equal.
SMT-LIB:
bvsleNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SGT
 Bit-vector signed greater than.
SMT-LIB:
bvsltNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SHL
 Bit-vector logical left shift.
SMT-LIB:
bvshlNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SHR
 Bit-vector logical right shift.
SMT-LIB:
bvshrNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SLE
 Bit-vector signed less than or equal.
SMT-LIB:
bvsleNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SLT
 Bit-vector signed less than.
SMT-LIB:
bvsltNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SMOD
 Bit-vector signed modulo.
SMT-LIB:
bvsmodNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SMUL_OVERFLOW
 Bit-vector signed multiplication overflow test.
Predicate indicating if signed multiplication produces an overflow.
SMT-LIB:
bvsmuloNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SREM
 Bit-vector signed remainder.
SMT-LIB:
bvsremNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SSUB_OVERFLOW
 Bit-vector signed subtraction overflow test.
Predicate indicatin if signed subtraction produces an overflow.
SMT-LIB:
bvssuboNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SUB
 Bit-vector subtraction.
SMT-LIB:
bvsubNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_UADD_OVERFLOW
 Bit-vector unsigned addition overflow test.
Predicate indicating if unsigned addition produces an overflow.
SMT-LIB:
bvuaddoNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_UDIV
 Bit-vector unsigned division.
SMT-LIB:
bvudivNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_UGE
 Bit-vector unsigned greater than or equal.
SMT-LIB:
bvugeNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_UGT
 Bit-vector unsigned greater than.
SMT-LIB:
bvugtNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_ULE
 Bit-vector unsigned less than or equal.
SMT-LIB:
bvuleNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_ULT
 Bit-vector unsigned less than.
SMT-LIB:
bvultNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_UMUL_OVERFLOW
 Bit-vector unsigned multiplication overflow test.
Predicate indicating if unsigned multiplication produces an overflow.
SMT-LIB:
bvumuloNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_UREM
 Bit-vector unsigned remainder.
SMT-LIB:
bvuremNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_USUB_OVERFLOW
 Bit-vector unsigned subtraction overflow test.
Predicate indicating if unsigned subtraction produces an overflow.
SMT-LIB:
bvusuboNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_XNOR
 Bit-vector xnor.
SMT-LIB:
bvxnorNumber of Arguments: 2
Arguments: \(BV_n \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_XOR
 Bit-vector xor.
SMT-LIB:
bvxorNumber of Arguments:
>=2Arguments: \(BV_n \times ... \times BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_EXTRACT
 Bit-vector extract.
SMT-LIB:
extract(indexed)Number of Arguments: 1
Number of Indices: 2 ( \(u\), \(l\) with \(u \geq l\))
Arguments: \(BV_n \rightarrow BV_{u - l + 1}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_REPEAT
 Bit-vector repeat.
SMT-LIB:
repeat(indexed)Number of Arguments: 1
Number of Indices: 1 ( \(i\) s.t. \(i \cdot n\) fits into
uint64_t)Arguments: \(BV_n \rightarrow BV_{n * i}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_ROLI
 Bit-vector rotate left by integer.
SMT-LIB:
rotate_left(indexed)Number of Arguments: 1
Number of Indices: 1
Arguments: \(BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_RORI
 Bit-vector rotate right by integer.
SMT-LIB:
rotate_right(indexed)Number of Arguments: 1
Number of Indices: 1
Arguments: \(BV_n \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_SIGN_EXTEND
 Bit-vector sign extend.
SMT-LIB:
sign_extend(indexed)Number of Arguments: 1
Number of Indices: 1 ( \(i\) s.t. \(i + n\) fits into
uint64_t)Arguments: \(BV_n \rightarrow BV_{n + i}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_BV_ZERO_EXTEND
 Bit-vector zero extend.
SMT-LIB:
zero_extend(indexed)Number of Arguments: 1
Number of Indices: 1 ( \(i\) s.t. \(i + n\) fits into
uint64_t)Arguments: \(BV_n \rightarrow BV_{n + i}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_ABS
 Floating-point absolute value.
SMT-LIB:
fp.absNumber of Arguments: 1
Arguments: \(\mathit{FP}_{es} \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_ADD
 Floating-point addition.
SMT-LIB:
fp.addNumber of Arguments: 3
Arguments:\(RM \times \mathit{FP}_{es} \times \mathit{FP}_{es} \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_DIV
 Floating-point division.
SMT-LIB:
fp.divNumber of Arguments: 3
Arguments:\(RM \times \mathit{FP}_{es} \times \mathit{FP}_{es} \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_EQUAL
 Floating-point equality.
SMT-LIB:
fp.eqNumber of Arguments:
>=2Arguments:\(\mathit{FP}_{es} \times ... \times \mathit{FP}_{es} \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_FMA
 Floating-point fused multiplcation and addition.
SMT-LIB:
fp.fmaNumber of Arguments: 4
Arguments:\(RM \times \mathit{FP}_{es} \times \mathit{FP}_{es} \times \mathit{FP}_{es} \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_FP
 Floating-point IEEE 754 value.
SMT-LIB:
fpNumber of Arguments: 3
Arguments:\(BV_1 \times BV_e \times BV_{s-1} \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_GEQ
 Floating-point greater than or equal.
SMT-LIB:
fp.geqNumber of Arguments: 2
Arguments:\(\mathit{FP}_{es} \times ... \times \mathit{FP}_{es} \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_GT
 Floating-point greater than.
SMT-LIB:
fp.gtNumber of Arguments: 2
Arguments:\(\mathit{FP}_{es} \times ... \times \mathit{FP}_{es} \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_IS_INF
 Floating-point is infinity tester.
SMT-LIB:
fp.isInfiniteNumber of Arguments: 1
Arguments: \(\mathit{FP}_{es} \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_IS_NAN
 Floating-point is Nan tester.
SMT-LIB:
fp.isNaNNumber of Arguments: 1
Arguments: \(\mathit{FP}_{es} \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_IS_NEG
 Floating-point is negative tester.
SMT-LIB:
fp.isNegativeNumber of Arguments: 1
Arguments: \(\mathit{FP}_{es} \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_IS_NORMAL
 Floating-point is normal tester.
SMT-LIB:
fp.isNormalNumber of Arguments: 1
Arguments: \(\mathit{FP}_{es} \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_IS_POS
 Floating-point is positive tester.
SMT-LIB:
fp.isPositiveNumber of Arguments: 1
Arguments: \(\mathit{FP}_{es} \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_IS_SUBNORMAL
 Floating-point is subnormal tester.
SMT-LIB:
fp.isSubnormalNumber of Arguments: 1
Arguments: \(\mathit{FP}_{es} \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_IS_ZERO
 Floating-point is zero tester.
SMT-LIB:
fp.isZeroNumber of Arguments: 1
Arguments: \(\mathit{FP}_{es} \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_LEQ
 Floating-point less than or equal.
SMT-LIB:
fp.leqNumber of Arguments:
>=2Arguments:\(\mathit{FP}_{es} \times ... \times \mathit{FP}_{es} \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_LT
 Floating-point less than.
SMT-LIB:
fp.ltNumber of Arguments:
>=2Arguments: \(\mathit{FP}_{es} \rightarrow Bool\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_MAX
 Floating-point max.
SMT-LIB:
fp.maxNumber of Arguments: 2
Arguments:\(\mathit{FP}_{es} \times \mathit{FP}_{es} \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_MIN
 Floating-point min.
SMT-LIB:
fp.minNumber of Arguments: 2
Arguments:\(\mathit{FP}_{es} \times \mathit{FP}_{es} \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_MUL
 Floating-point multiplcation.
SMT-LIB:
fp.mulNumber of Arguments: 3
Arguments:\(RM \times \mathit{FP}_{es} \times \mathit{FP}_{es} \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_NEG
 Floating-point negation.
SMT-LIB:
fp.negNumber of Arguments: 1
Arguments: \(\mathit{FP}_{es} \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_REM
 Floating-point remainder.
SMT-LIB:
fp.remNumber of Arguments: 2
Arguments:\(\mathit{FP}_{es} \times \mathit{FP}_{es} \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_RTI
 Floating-point round to integral.
SMT-LIB:
fp.roundToIntegralNumber of Arguments: 2
Arguments:\(RM \times \mathit{FP}_{es} \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_SQRT
 Floating-point square root.
SMT-LIB:
fp.sqrtNumber of Arguments: 2
Arguments:\(RM \times \mathit{FP}_{es} \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_SUB
 Floating-point subtraction.
SMT-LIB:
fp.subNumber of Arguments: 3
Arguments:\(RM \times \mathit{FP}_{es} \times \mathit{FP}_{es} \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_TO_FP_FROM_BV
 Floating-point to_fp from IEEE 754 bit-vector.
SMT-LIB:
to_fp(indexed)Number of Arguments: 1
Number of Indices: 2 ( \(e\), \(s\))
Arguments: \(BV_n \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_TO_FP_FROM_FP
 Floating-point to_fp from floating-point.
SMT-LIB:
to_fp(indexed)Number of Arguments: 2
Number of Indices: 2 ( \(e\), \(s\))
Arguments:\(RM \times \mathit{FP}_{e's'} \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_TO_FP_FROM_SBV
 Floating-point to_fp from signed bit-vector value.
SMT-LIB:
to_fp(indexed)Number of Arguments: 2
Number of Indices: 2 ( \(e\), \(s\))
Arguments: \(RM \times BV_n \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_TO_FP_FROM_UBV
 Floating-point to_fp from unsigned bit-vector value.
SMT-LIB:
to_fp_unsigned(indexed)Number of Arguments: 2
Number of Indices: 2 ( \(e\), \(s\))
Arguments: \(RM \times BV_n \rightarrow \mathit{FP}_{es}\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_TO_SBV
 Floating-point to_sbv.
SMT-LIB:
fp.to_sbv(indexed)Number of Arguments: 2
Number of Indices: 1 ( \(n\))
Arguments: \(RM \times \mathit{FP}_{es} \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_FP_TO_UBV
 Floating-point to_ubv.
SMT-LIB:
fp.to_ubv(indexed)Number of Arguments: 2
Number of Indices: 1 ( \(n\))
Arguments: \(RM \times \mathit{FP}_{es} \rightarrow BV_n\)
Create with:
C
C++
bitwuzla::mk_term()
- 
enumerator BITWUZLA_KIND_CONSTANT
 
- 
const char *bitwuzla_kind_to_string(BitwuzlaKind kind)
 Get the string representation of a term kind.
Note
The returned char* pointer is only valid until the next call to
bitwuzla_kind_to_string.- Returns:
 A string representation of the given term kind.