Inheritance diagram for Context:Protected Member Functions | |
| Context (long m_ctx) | |
The main interaction with Z3 happens via the Context. For applications that spawn an unbounded number of contexts, the proper use is within a try-with-resources scope so that the Context object gets garbage collected in a predictable way. Contexts maintain all data-structures related to terms and formulas that are created relative to them.
Definition at line 36 of file Context.java.
|
inline |
Definition at line 40 of file Context.java.
|
inlineprotected |
Definition at line 47 of file Context.java.
|
inline |
Constructor. Remarks: The following parameters can be set:
Global.setParameter Definition at line 72 of file Context.java.
Bind a definition to a recursive function declaration. The function must have previously been created using MkRecFuncDecl. The body may contain recursive uses of the function or other mutually recursive functions.
Definition at line 670 of file Context.java.
Create a probe that evaluates to true when the value p1 and p2 evaluate to true.
Definition at line 3811 of file Context.java.
|
inline |
Create a simplifier that applies t1 and then t1
Definition at line 3641 of file Context.java.
Create a tactic that applies t1 to a Goal and then t2 to every subgoal produced by t1
Definition at line 3345 of file Context.java.
|
inline |
Convert a benchmark into an SMT-LIB formatted string.
| name | Name of the benchmark. The argument is optional. |
| logic | The benchmark logic. |
| status | The status string (sat, unsat, or unknown) |
| attributes | Other attributes, such as source, difficulty or category. |
| assumptions | Auxiliary assumptions. |
| formula | Formula to be checked for consistency in conjunction with assumptions. |
Definition at line 3223 of file Context.java.
|
inline |
Create a character from a bit-vector (code point).
Definition at line 2815 of file Context.java.
|
inline |
Create a bit-vector (code point) from character.
Definition at line 2806 of file Context.java.
Create an integer (code point) from character.
Definition at line 2797 of file Context.java.
|
inline |
Disposes of the context.
Definition at line 4904 of file Context.java.
Create a tactic that applies t1 to a given goal if the probe p evaluates to true and t2 otherwise.
Definition at line 3427 of file Context.java.
|
inline |
Create a probe that always evaluates to val.
Definition at line 3741 of file Context.java.
Create a probe that evaluates to true when the value returned by p1 is equal to the value returned by p2
Definition at line 3800 of file Context.java.
Referenced by AstRef.__eq__(), SortRef.cast(), and FiniteSetSortRef.cast().
|
inline |
Create a tactic always fails.
Definition at line 3458 of file Context.java.
Create a tactic that fails if the probe p evaluates to false.
Definition at line 3467 of file Context.java.
|
inline |
Create a tactic that fails if the goal is not trivially satisfiable (i.e., empty) or trivially unsatisfiable (i.e., contains ‘false’).
Definition at line 3478 of file Context.java.
Create a probe that evaluates to true when the value returned by p1 is greater than or equal the value returned by p2
Definition at line 3788 of file Context.java.
|
inline |
Retrieves the Boolean sort of the context.
Definition at line 129 of file Context.java.
|
inline |
Retrieves the Complex sort of the context.
Definition at line 160 of file Context.java.
Get the element sort (basis) of a finite set sort.
Definition at line 2246 of file Context.java.
Referenced by FiniteSetSort.getBasis().
|
inline |
Retrieves the Integer sort of the context.
Definition at line 140 of file Context.java.
|
inline |
The number of supported Probes.
Definition at line 3703 of file Context.java.
|
inline |
The number of supported simplifiers.
Definition at line 3603 of file Context.java.
|
inline |
The number of supported tactics.
Definition at line 3306 of file Context.java.
|
inline |
Returns a string containing a description of the probe with the given name.
Definition at line 3725 of file Context.java.
|
inline |
The names of all supported Probes.
Definition at line 3711 of file Context.java.
|
inline |
Retrieves the Real sort of the context.
Definition at line 151 of file Context.java.
|
inline |
Returns a string containing a description of the simplifier with the given name.
Definition at line 3625 of file Context.java.
|
inline |
The names of all supported simplifiers.
Definition at line 3611 of file Context.java.
|
inline |
Retrieves parameter descriptions for simplifier.
Definition at line 4835 of file Context.java.
Retrieves the String sort of the context.
Definition at line 194 of file Context.java.
|
inline |
Returns a string containing a description of the tactic with the given name.
Definition at line 3328 of file Context.java.
|
inline |
The names of all supported tactics.
Definition at line 3314 of file Context.java.
Create a probe that evaluates to true when the value returned by p1 is greater than the value returned by p2
Definition at line 3762 of file Context.java.
|
inline |
Interrupt the execution of a Z3 procedure. Remarks: This procedure can be used to interrupt: solvers, simplifiers and tactics.
Definition at line 3533 of file Context.java.
Convert an integer expression to a string.
Definition at line 2401 of file Context.java.
|
inline |
Check if a sort is a finite set sort.
Definition at line 2237 of file Context.java.
Create a probe that evaluates to true when the value returned by p1 is less than or equal the value returned by p2
Definition at line 3775 of file Context.java.
Create a probe that evaluates to true when the value returned by p1 is less than the value returned by p2
Definition at line 3750 of file Context.java.
Create an expression representing t[0] + t[1] + ....
Definition at line 1033 of file Context.java.
Create regular expression that accepts all characters R has to be a sequence sort. Corresponds to re.allchar
Definition at line 2771 of file Context.java.
Create an expression representing t[0] and t[1] and ....
Definition at line 1011 of file Context.java.
Referenced by Goal.AsBoolExpr().
Create a new function application.
Definition at line 896 of file Context.java.
Referenced by ListSort< R extends Sort >.getNil().
|
inline |
Create an array constant.
Definition at line 1921 of file Context.java.
|
inline |
Create an array constant.
Definition at line 1912 of file Context.java.
|
inline |
Create Extentionality index. Two arrays are equal if and only if they are equal on the index returned by MkArrayExt.
Definition at line 2089 of file Context.java.
Create a new array sort.
Definition at line 246 of file Context.java.
Create a new array sort.
Definition at line 257 of file Context.java.
Create an as-array expression from a function declaration.
| f | the function declaration to lift into an array. Must have exactly one domain sort. |
Definition at line 2080 of file Context.java.
|
inline |
Creates an empty map from ASTs to ASTs.
Definition at line 3541 of file Context.java.
Retrieve sequence of length one at index.
Definition at line 2509 of file Context.java.
Create an at-least-k constraint.
Definition at line 2842 of file Context.java.
Create an at-most-k constraint.
Definition at line 2833 of file Context.java.
|
inline |
|
inline |
Creates a Boolean value.
Definition at line 922 of file Context.java.
Referenced by UserPropagatorBase.conflict().
|
inline |
Create a Boolean constant.
Definition at line 797 of file Context.java.
|
inline |
Create a new Boolean sort.
Definition at line 177 of file Context.java.
Creates a new bound variable.
| index | The de-Bruijn index of the variable |
| ty | The sort of the variable |
Definition at line 730 of file Context.java.
|
inline |
Create a bit-vector numeral.
| v | value of the numeral. |
| size | the size of the bit-vector |
Definition at line 3035 of file Context.java.
|
inline |
Create a bit-vector numeral.
| v | value of the numeral. * |
| size | the size of the bit-vector |
Definition at line 3045 of file Context.java.
|
inline |
Create a bit-vector numeral.
| v | A string representing the value in decimal notation. |
| size | the size of the bit-vector |
Definition at line 3025 of file Context.java.
|
inline |
Create an integer from the bit-vector argument t. Remarks: If is_signed is false, then the bit-vector t1 is treated as unsigned. So the result is non-negative and in the range [0..2^N-1], where N are the number of bits in t. If is_signed is true, t1 is treated as a signed bit-vector.
NB. This function is essentially treated as uninterpreted. So you cannot expect Z3 to precisely reflect the semantics of this function when solving constraints with this function.
The argument must be of bit-vector sort.
Definition at line 1792 of file Context.java.
|
inline |
Two's complement addition. Remarks: The arguments must have the same bit-vector sort.
Definition at line 1355 of file Context.java.
|
inline |
Create a predicate that checks that the bit-wise addition does not overflow. Remarks: The arguments must be of bit-vector sort.
Definition at line 1804 of file Context.java.
|
inline |
Create a predicate that checks that the bit-wise addition does not underflow. Remarks: The arguments must be of bit-vector sort.
Definition at line 1818 of file Context.java.
|
inline |
Bitwise conjunction. Remarks: The arguments must have a bit-vector sort.
Definition at line 1266 of file Context.java.
|
inline |
Arithmetic shift right Remarks: It is like logical shift right except that the most significant bits of the result always copy the most significant bit of the second argument.
NB. The semantics of shift operations varies between environments. This definition does not necessarily capture directly the semantics of the programming language or assembly architecture you are modeling.
The arguments must have a bit-vector sort.
Definition at line 1700 of file Context.java.
|
inline |
Creates a bit-vector constant.
Definition at line 887 of file Context.java.
|
inline |
Creates a bit-vector constant.
Definition at line 879 of file Context.java.
|
inline |
Logical shift right Remarks: It is equivalent to unsigned division by 2^x where x is the value of t2.
NB. The semantics of shift operations varies between environments. This definition does not necessarily capture directly the semantics of the programming language or assembly architecture you are modeling.
The arguments must have a bit-vector sort.
Definition at line 1680 of file Context.java.
|
inline |
Two's complement multiplication. Remarks: The arguments must have the same bit-vector sort.
Definition at line 1381 of file Context.java.
|
inline |
Create a predicate that checks that the bit-wise multiplication does not overflow. Remarks: The arguments must be of bit-vector sort.
Definition at line 1886 of file Context.java.
|
inline |
Create a predicate that checks that the bit-wise multiplication does not underflow. Remarks: The arguments must be of bit-vector sort.
Definition at line 1900 of file Context.java.
|
inline |
Bitwise NAND. Remarks: The arguments must have a bit-vector sort.
Definition at line 1305 of file Context.java.
|
inline |
Standard two's complement unary minus. Remarks: The arguments must have a bit-vector sort.
Definition at line 1344 of file Context.java.
|
inline |
Create a predicate that checks that the bit-wise negation does not overflow. Remarks: The arguments must be of bit-vector sort.
Definition at line 1874 of file Context.java.
|
inline |
Bitwise NOR. Remarks: The arguments must have a bit-vector sort.
Definition at line 1318 of file Context.java.
|
inline |
Bitwise negation. Remarks: The argument must have a bit-vector sort.
Definition at line 1231 of file Context.java.
|
inline |
Bitwise disjunction. Remarks: The arguments must have a bit-vector sort.
Definition at line 1279 of file Context.java.
|
inline |
Take conjunction of bits in a vector, return vector of length 1.
Remarks: The argument must have a bit-vector sort.
Definition at line 1242 of file Context.java.
|
inline |
Take disjunction of bits in a vector, return vector of length 1.
Remarks: The argument must have a bit-vector sort.
Definition at line 1254 of file Context.java.
|
inline |
Rotate Left. Remarks: Rotate bits of t1 to the left t2 times. The arguments must have the same bit-vector sort.
Definition at line 1738 of file Context.java.
|
inline |
Rotate Left. Remarks: Rotate bits of t to the left i times. The argument t must have a bit-vector sort.
Definition at line 1713 of file Context.java.
|
inline |
Rotate Right. Remarks: Rotate bits of t1 to the rightt2 times. The arguments must have the same bit-vector sort.
Definition at line 1753 of file Context.java.
|
inline |
Rotate Right. Remarks: Rotate bits of t to the right i times. The argument t must have a bit-vector sort.
Definition at line 1725 of file Context.java.
|
inline |
Signed division. Remarks: It is defined in the following way:
floor of t1/t2 if t2 is different from zero, and t1*t2 >= 0.ceiling of t1/t2 if t2 is different from zero, and t1*t2 < 0.If t2 is zero, then the result is undefined. The arguments must have the same bit-vector sort.
Definition at line 1417 of file Context.java.
|
inline |
Create a predicate that checks that the bit-wise signed division does not overflow. Remarks: The arguments must be of bit-vector sort.
Definition at line 1860 of file Context.java.
|
inline |
Two's complement signed greater than or equal to. Remarks: The arguments must have the same bit-vector sort.
Definition at line 1542 of file Context.java.
|
inline |
Two's complement signed greater-than. Remarks: The arguments must have the same bit-vector sort.
Definition at line 1568 of file Context.java.
|
inline |
Shift left. Remarks: It is equivalent to multiplication by 2^x where x is the value of t2.
NB. The semantics of shift operations varies between environments. This definition does not necessarily capture directly the semantics of the programming language or assembly architecture you are modeling.
The arguments must have a bit-vector sort.
Definition at line 1661 of file Context.java.
|
inline |
Two's complement signed less-than or equal to. Remarks: The arguments must have the same bit-vector sort.
Definition at line 1516 of file Context.java.
|
inline |
Two's complement signed less-than Remarks: The arguments must have the same bit-vector sort.
Definition at line 1490 of file Context.java.
|
inline |
Two's complement signed remainder (sign follows divisor). Remarks: If t2 is zero, then the result is undefined. The arguments must have the same bit-vector sort.
Definition at line 1464 of file Context.java.
|
inline |
Signed remainder. Remarks: It is defined as t1 - (t1 /s t2) * t2, where /s represents signed division. The most significant bit (sign) of the result is equal to the most significant bit of t1.
If t2 is zero, then the result is undefined. The arguments must have the same bit-vector sort.
Definition at line 1450 of file Context.java.
|
inline |
Two's complement subtraction. Remarks: The arguments must have the same bit-vector sort.
Definition at line 1368 of file Context.java.
|
inline |
Create a predicate that checks that the bit-wise subtraction does not overflow. Remarks: The arguments must be of bit-vector sort.
Definition at line 1832 of file Context.java.
|
inline |
Create a predicate that checks that the bit-wise subtraction does not underflow. Remarks: The arguments must be of bit-vector sort.
Definition at line 1846 of file Context.java.
|
inline |
Unsigned division. Remarks: It is defined as the floor of t1/t2 if t2 is different from zero. If t2 is zero, then the result is undefined. The arguments must have the same bit-vector sort.
Definition at line 1396 of file Context.java.
|
inline |
Unsigned greater than or equal to. Remarks: The arguments must have the same bit-vector sort.
Definition at line 1529 of file Context.java.
|
inline |
Unsigned greater-than. Remarks: The arguments must have the same bit-vector sort.
Definition at line 1555 of file Context.java.
|
inline |
Unsigned less-than or equal to. Remarks: The arguments must have the same bit-vector sort.
Definition at line 1503 of file Context.java.
|
inline |
Unsigned less-than Remarks: The arguments must have the same bit-vector sort.
Definition at line 1477 of file Context.java.
|
inline |
Unsigned remainder. Remarks: It is defined as t1 - (t1 /u t2) * t2, where /u represents unsigned division. If t2 is zero, then the result is undefined. The arguments must have the same bit-vector sort.
Definition at line 1432 of file Context.java.
|
inline |
Bitwise XNOR. Remarks: The arguments must have a bit-vector sort.
Definition at line 1331 of file Context.java.
|
inline |
Bitwise XOR. Remarks: The arguments must have a bit-vector sort.
Definition at line 1292 of file Context.java.
Create less than or equal to between two characters.
Definition at line 2788 of file Context.java.
|
inline |
Creates character sort object.
Definition at line 186 of file Context.java.
Create the complement regular expression.
Definition at line 2702 of file Context.java.
|
inline |
Constructs a Complex expression from Int or Real components.
Definition at line 855 of file Context.java.
|
inline |
|
inline |
Creates a Complex constant.
Definition at line 843 of file Context.java.
|
inline |
Creates the Complex sort.
Definition at line 169 of file Context.java.
|
inline |
Bit-vector concatenation. Remarks: The arguments must have a bit-vector sort.
n1+n2, where n1 (n2) is the size of t1 (t2). Definition at line 1586 of file Context.java.
Concatenate sequences.
Definition at line 2434 of file Context.java.
Create the concatenation of regular languages.
Definition at line 2712 of file Context.java.
Creates a fresh constant from the FuncDecl f.
| f | A decl of a 0-arity function |
Definition at line 789 of file Context.java.
Creates a new Constant of sort range and named name.
Definition at line 769 of file Context.java.
Creates a new Constant of sort range and named name.
Definition at line 754 of file Context.java.
|
inline |
Create a constant array. Remarks: The resulting term is an array, such that a select on an arbitrary index produces the value v.
Definition at line 2029 of file Context.java.
Creates a new constant function declaration.
Definition at line 706 of file Context.java.
Creates a new constant function declaration.
Definition at line 696 of file Context.java.
|
inline |
Create a datatype constructor.
Definition at line 381 of file Context.java.
|
inline |
Create a datatype constructor.
| name | constructor name |
| recognizer | name of recognizer function. |
| fieldNames | names of the constructor fields. |
| sorts | field sorts, 0 if the field sort refers to a recursive sort. |
| sortRefs | reference to datatype sort that is an argument to the constructor; if the corresponding sort reference is 0, then the value in sort_refs should be an index referring to one of the recursive datatypes that is declared. |
Definition at line 371 of file Context.java.
|
inline |
Check for sequence containment of s2 in s1.
Definition at line 2480 of file Context.java.
|
inline |
Create a new datatype sort.
Definition at line 400 of file Context.java.
|
inline |
Create a new datatype sort.
Definition at line 390 of file Context.java.
|
inline |
Create mutually recursive data-types.
Definition at line 486 of file Context.java.
|
inline |
Create mutually recursive datatypes.
| names | names of datatype sorts |
| c | list of constructors, one list per sort. |
Definition at line 460 of file Context.java.
Create a difference regular expression.
Definition at line 2741 of file Context.java.
Creates a distinct term.
Definition at line 942 of file Context.java.
|
inline |
Create an expression representing t1 / t2.
Definition at line 1075 of file Context.java.
Creates an integer divisibility predicate (t1 divides t2). Remarks: Both arguments must have integer sort.
Definition at line 1219 of file Context.java.
Create the empty regular expression. Corresponds to re.none
Definition at line 2752 of file Context.java.
Sequences, Strings and regular expressions. Create the empty sequence.
Definition at line 2367 of file Context.java.
Create an empty set.
Definition at line 2109 of file Context.java.
|
inline |
Create a new enumeration sort.
Definition at line 316 of file Context.java.
Create a new enumeration sort.
Definition at line 305 of file Context.java.
Creates the equality x = y
Definition at line 930 of file Context.java.
|
inline |
Creates an existential quantifier using a list of constants that will form the set of bound variables.
Definition at line 3113 of file Context.java.
|
inline |
Creates an existential quantifier using de-Bruijn indexed variables.
Definition at line 3100 of file Context.java.
|
inline |
Extract subsequence.
Definition at line 2528 of file Context.java.
|
inline |
Bit-vector extraction. Remarks: Extract the bits high down to low from a bitvector of size m to yield a new bitvector of size n, where n = high - low + 1. The argument t must have a bit-vector sort.
Definition at line 1602 of file Context.java.
|
inline |
The false Term.
Definition at line 914 of file Context.java.
|
inline |
Create a new finite domain sort.
Definition at line 354 of file Context.java.
|
inline |
Create a new finite domain sort.
Definition at line 344 of file Context.java.
Create the difference of two finite sets.
Definition at line 2293 of file Context.java.
Create an empty finite set.
Definition at line 2255 of file Context.java.
Filter a finite set with a predicate.
Definition at line 2342 of file Context.java.
Create the intersection of two finite sets.
Definition at line 2283 of file Context.java.
Map a function over all elements in a finite set.
Definition at line 2332 of file Context.java.
Check for membership in a finite set.
Definition at line 2303 of file Context.java.
Create a finite set containing integers in the range [low, high].
Definition at line 2352 of file Context.java.
Create a singleton finite set.
Definition at line 2264 of file Context.java.
Get the cardinality of a finite set.
Definition at line 2313 of file Context.java.
|
inline |
Finite Sets Create a finite set sort over the given element sort.
Definition at line 2228 of file Context.java.
Check if one finite set is a subset of another.
Definition at line 2322 of file Context.java.
Create the union of two finite sets.
Definition at line 2273 of file Context.java.
|
inline |
Create a Fixedpoint context.
Definition at line 3909 of file Context.java.
|
inline |
Creates a universal quantifier using a list of constants that will form the set of bound variables.
Definition at line 3087 of file Context.java.
|
inline |
Create a universal Quantifier.
| sorts | the sorts of the bound variables. |
| names | names of the bound variables |
| body | the body of the quantifier. |
| weight | quantifiers are associated with weights indicating the importance of using the quantifier during instantiation. By default, pass the weight 0. |
| patterns | array containing the patterns created using MkPattern. |
| noPatterns | array containing the anti-patterns created using MkPattern. |
| quantifierID | optional symbol to track quantifier. |
| skolemID | optional symbol to track skolem constants. |
weight is the weight, patterns is an array of patterns, sorts is an array with the sorts of the bound variables, names is an array with the 'names' of the bound variables, and body is the body of the quantifier. Quantifiers are associated with weights indicating the importance of using the quantifier during instantiation. Note that the bound variables are de-Bruijn indices created using {#mkBound}. Z3 applies the convention that the last element in names and sorts refers to the variable with index 0, the second to last element of names and sorts refers to the variable with index 1, etc. Definition at line 3075 of file Context.java.
Create a numeral of FloatingPoint sort from a sign bit and two integers.
| sgn | the sign. |
| exp | the exponent. |
| sig | the significand. |
| s | FloatingPoint sort. |
| Z3Exception |
Definition at line 4239 of file Context.java.
Create a numeral of FloatingPoint sort from a sign bit and two 64-bit integers.
| sgn | the sign. |
| exp | the exponent. |
| sig | the significand. |
| s | FloatingPoint sort. |
| Z3Exception |
Definition at line 4252 of file Context.java.
Create a numeral of FloatingPoint sort from a double.
| v | numeral value. |
| s | FloatingPoint sort. |
| Z3Exception |
Definition at line 4214 of file Context.java.
|
inline |
Create an expression of FloatingPoint sort from three bit-vector expressions.
| sgn | bit-vector term (of size 1) representing the sign. |
| sig | bit-vector term representing the significand. |
| exp | bit-vector term representing the exponent. Remarks: This is the operator named ‘fp’ in the SMT FP theory definition. Note that sgn is required to be a bit-vector of size 1. Significand and exponent are required to be greater than 1 and 2 respectively. The FloatingPoint sort of the resulting expression is automatically determined from the bit-vector sizes of the arguments. |
| Z3Exception |
Definition at line 4537 of file Context.java.
Create a numeral of FloatingPoint sort from a float.
| v | numeral value. |
| s | FloatingPoint sort. |
| Z3Exception |
Definition at line 4203 of file Context.java.
Create a numeral of FloatingPoint sort from an int.
| v | numeral value. |
| s | FloatingPoint sort. |
| Z3Exception |
Definition at line 4226 of file Context.java.
Floating-point absolute value
| t | floating-point term |
| Z3Exception |
Definition at line 4263 of file Context.java.
Floating-point addition
| rm | rounding mode term |
| t1 | floating-point term |
| t2 | floating-point term |
| Z3Exception |
Definition at line 4285 of file Context.java.
Floating-point division
| rm | rounding mode term |
| t1 | floating-point term |
| t2 | floating-point term |
| Z3Exception |
Definition at line 4321 of file Context.java.
Floating-point equality.
| t1 | floating-point term |
| t2 | floating-point term Remarks: Note that this is IEEE 754 equality (as opposed to standard =). |
| Z3Exception |
Definition at line 4449 of file Context.java.
|
inline |
Floating-point fused multiply-add
| rm | rounding mode term |
| t1 | floating-point term |
| t2 | floating-point term |
| t3 | floating-point term Remarks: The result is round((t1 * t2) + t3) |
| Z3Exception |
Definition at line 4336 of file Context.java.
Floating-point greater than or equal.
| t1 | floating-point term |
| t2 | floating-point term |
| Z3Exception |
Definition at line 4425 of file Context.java.
Floating-point greater than.
| t1 | floating-point term |
| t2 | floating-point term |
| Z3Exception |
Definition at line 4436 of file Context.java.
Create a floating-point infinity of sort s.
| s | FloatingPoint sort. |
| negative | indicates whether the result should be negative. |
| Z3Exception |
Definition at line 4122 of file Context.java.
Predicate indicating whether t is a floating-point number representing +oo or -oo.
| t | floating-point term |
| Z3Exception |
Definition at line 4489 of file Context.java.
Predicate indicating whether t is a NaN.
| t | floating-point term |
| Z3Exception |
Definition at line 4499 of file Context.java.
Predicate indicating whether t is a negative floating-point number.
| t | floating-point term |
| Z3Exception |
Definition at line 4509 of file Context.java.
Predicate indicating whether t is a normal floating-point number.\
| t | floating-point term |
| Z3Exception |
Definition at line 4459 of file Context.java.
Predicate indicating whether t is a positive floating-point number.
| t | floating-point term |
| Z3Exception |
Definition at line 4519 of file Context.java.
Predicate indicating whether t is a subnormal floating-point number.\
| t | floating-point term |
| Z3Exception |
Definition at line 4469 of file Context.java.
Predicate indicating whether t is a floating-point number with zero value, i.e., +0 or -0.
| t | floating-point term |
| Z3Exception |
Definition at line 4479 of file Context.java.
Floating-point less than or equal.
| t1 | floating-point term |
| t2 | floating-point term |
| Z3Exception |
Definition at line 4403 of file Context.java.
Floating-point less than.
| t1 | floating-point term |
| t2 | floating-point term |
| Z3Exception |
Definition at line 4414 of file Context.java.
Maximum of floating-point numbers.
| t1 | floating-point term |
| t2 | floating-point term |
| Z3Exception |
Definition at line 4392 of file Context.java.
Minimum of floating-point numbers.
| t1 | floating-point term |
| t2 | floating-point term |
| Z3Exception |
Definition at line 4381 of file Context.java.
Floating-point multiplication
| rm | rounding mode term |
| t1 | floating-point term |
| t2 | floating-point term |
| Z3Exception |
Definition at line 4309 of file Context.java.
Create a NaN of sort s.
| s | FloatingPoint sort. |
| Z3Exception |
Definition at line 4111 of file Context.java.
Floating-point negation
| t | floating-point term |
| Z3Exception |
Definition at line 4273 of file Context.java.
Create a numeral of FloatingPoint sort from a sign bit and two integers.
| sgn | the sign. |
| exp | the exponent. |
| sig | the significand. |
| s | FloatingPoint sort. |
| Z3Exception |
Definition at line 4179 of file Context.java.
Create a numeral of FloatingPoint sort from a sign bit and two 64-bit integers.
| sgn | the sign. |
| exp | the exponent. |
| sig | the significand. |
| s | FloatingPoint sort. |
| Z3Exception |
Definition at line 4192 of file Context.java.
Create a numeral of FloatingPoint sort from a double.
| v | numeral value. |
| s | FloatingPoint sort. |
| Z3Exception |
Definition at line 4155 of file Context.java.
Create a numeral of FloatingPoint sort from a float.
| v | numeral value. |
| s | FloatingPoint sort. |
| Z3Exception |
Definition at line 4144 of file Context.java.
Create a numeral of FloatingPoint sort from an int.
| v | numeral value. |
| s | FloatingPoint sort. |
| Z3Exception |
Definition at line 4166 of file Context.java.
Floating-point remainder
| t1 | floating-point term |
| t2 | floating-point term |
| Z3Exception |
Definition at line 4358 of file Context.java.
|
inline |
Create a numeral of RoundingMode sort which represents the NearestTiesToAway rounding mode.
| Z3Exception |
Definition at line 3963 of file Context.java.
|
inline |
Create a numeral of RoundingMode sort which represents the NearestTiesToEven rounding mode.
| Z3Exception |
Definition at line 3945 of file Context.java.
|
inline |
Create the floating-point RoundingMode sort.
| Z3Exception |
Definition at line 3927 of file Context.java.
|
inline |
Create a numeral of RoundingMode sort which represents the NearestTiesToAway rounding mode.
| Z3Exception |
Definition at line 3954 of file Context.java.
|
inline |
Create a numeral of RoundingMode sort which represents the NearestTiesToEven rounding mode.
| Z3Exception |
Definition at line 3936 of file Context.java.
Floating-point roundToIntegral. Rounds a floating-point number to the closest integer, again represented as a floating-point number.
| rm | term of RoundingMode sort |
| t | floating-point term |
| Z3Exception |
Definition at line 4370 of file Context.java.
|
inline |
Create a numeral of RoundingMode sort which represents the RoundTowardNegative rounding mode.
| Z3Exception |
Definition at line 3990 of file Context.java.
|
inline |
Create a numeral of RoundingMode sort which represents the RoundTowardPositive rounding mode.
| Z3Exception |
Definition at line 3972 of file Context.java.
|
inline |
Create a numeral of RoundingMode sort which represents the RoundTowardZero rounding mode.
| Z3Exception |
Definition at line 4008 of file Context.java.
|
inline |
Create a numeral of RoundingMode sort which represents the RoundTowardNegative rounding mode.
| Z3Exception |
Definition at line 3999 of file Context.java.
|
inline |
Create a numeral of RoundingMode sort which represents the RoundTowardPositive rounding mode.
| Z3Exception |
Definition at line 3981 of file Context.java.
|
inline |
Create a numeral of RoundingMode sort which represents the RoundTowardZero rounding mode.
| Z3Exception |
Definition at line 4017 of file Context.java.
|
inline |
Create a FloatingPoint sort.
| ebits | exponent bits in the FloatingPoint sort. |
| sbits | significand bits in the FloatingPoint sort. |
| Z3Exception |
Definition at line 4028 of file Context.java.
|
inline |
Create the quadruple-precision (128-bit) FloatingPoint sort.
| Z3Exception |
Definition at line 4100 of file Context.java.
|
inline |
Create the half-precision (16-bit) FloatingPoint sort.
| Z3Exception |
Definition at line 4046 of file Context.java.
|
inline |
Create the single-precision (32-bit) FloatingPoint sort.
| Z3Exception |
Definition at line 4064 of file Context.java.
|
inline |
Create the double-precision (64-bit) FloatingPoint sort.
| Z3Exception |
Definition at line 4082 of file Context.java.
|
inline |
Create the double-precision (64-bit) FloatingPoint sort.
| Z3Exception |
Definition at line 4073 of file Context.java.
|
inline |
Create the half-precision (16-bit) FloatingPoint sort.
| Z3Exception |
Definition at line 4037 of file Context.java.
|
inline |
Create the quadruple-precision (128-bit) FloatingPoint sort.
| Z3Exception |
Definition at line 4091 of file Context.java.
|
inline |
Create the single-precision (32-bit) FloatingPoint sort.
| Z3Exception |
Definition at line 4055 of file Context.java.
Floating-point square root
| rm | rounding mode term |
| t | floating-point term |
| Z3Exception |
Definition at line 4347 of file Context.java.
Floating-point subtraction
| rm | rounding mode term |
| t1 | floating-point term |
| t2 | floating-point term |
| Z3Exception |
Definition at line 4297 of file Context.java.
|
inline |
Conversion of a floating-point term into a bit-vector.
| rm | RoundingMode term. |
| t | FloatingPoint term |
| sz | Size of the resulting bit-vector. |
| signed | Indicates whether the result is a signed or unsigned bit-vector. Remarks: Produces a term that represents the conversion of the floating-point term t into a bit-vector term of size sz in 2's complement format (signed when signed==true). If necessary, the result will be rounded according to rounding mode rm. |
| Z3Exception |
Definition at line 4638 of file Context.java.
|
inline |
Conversion of a single IEEE 754-2008 bit-vector into a floating-point number.
| bv | bit-vector value (of size m). |
| s | FloatingPoint sort (ebits+sbits == m) Remarks: Produces a term that represents the conversion of a bit-vector term bv to a floating-point term of sort s. The bit-vector size of bv (m) must be equal to ebits+sbits of s. The format of the bit-vector is as defined by the IEEE 754-2008 interchange format. |
| Z3Exception |
Definition at line 4553 of file Context.java.
Conversion of a 2's complement signed bit-vector term into a term of FloatingPoint sort.
| rm | RoundingMode term. |
| t | term of bit-vector sort. |
| s | FloatingPoint sort. |
| signed | flag indicating whether t is interpreted as signed or unsigned bit-vector. Remarks: Produces a term that represents the conversion of the bit-vector term t into a floating-point term of sort s. The bit-vector t is taken to be in signed 2's complement format (when signed==true, otherwise unsigned). If necessary, the result will be rounded according to rounding mode rm. |
| Z3Exception |
Definition at line 4603 of file Context.java.
|
inline |
Conversion of a real-sorted significand and an integer-sorted exponent into a term of FloatingPoint sort.
| rm | RoundingMode term. |
| exp | Exponent term of Int sort. |
| sig | Significand term of Real sort. |
| s | FloatingPoint sort. Remarks: Produces a term that represents the conversion of sig * 2^exp into a floating-point term of sort s. If necessary, the result will be rounded according to rounding mode rm. |
| Z3Exception |
Definition at line 4688 of file Context.java.
Conversion of a FloatingPoint term into another term of different FloatingPoint sort.
| rm | RoundingMode term. |
| t | FloatingPoint term. |
| s | FloatingPoint sort. Remarks: Produces a term that represents the conversion of a floating-point term t to a floating-point term of sort s. If necessary, the result will be rounded according to rounding mode rm. |
| Z3Exception |
Definition at line 4569 of file Context.java.
Conversion of a term of real sort into a term of FloatingPoint sort.
| rm | RoundingMode term. |
| t | term of Real sort. |
| s | FloatingPoint sort. Remarks: Produces a term that represents the conversion of term t of real sort into a floating-point term of sort s. If necessary, the result will be rounded according to rounding mode rm. |
| Z3Exception |
Definition at line 4585 of file Context.java.
Conversion of a floating-point number to another FloatingPoint sort s.
| s | FloatingPoint sort |
| rm | floating-point rounding mode term |
| t | floating-point term Remarks: Produces a term that represents the conversion of a floating-point term t to a different FloatingPoint sort s. If necessary, rounding according to rm is applied. |
| Z3Exception |
Definition at line 4621 of file Context.java.
|
inline |
Conversion of a floating-point term into a bit-vector term in IEEE 754-2008 format.
| t | FloatingPoint term. Remarks: The size of the resulting bit-vector is automatically determined. Note that IEEE 754-2008 allows multiple different representations of NaN. This conversion knows only one NaN and it will always produce the same bit-vector representation of that NaN. |
| Z3Exception |
Definition at line 4670 of file Context.java.
Conversion of a floating-point term into a real-numbered term.
| t | FloatingPoint term Remarks: Produces a term that represents the conversion of the floating-point term t into a real number. Note that this type of conversion will often result in non-linear constraints over real terms. |
| Z3Exception |
Definition at line 4655 of file Context.java.
Create a floating-point zero of sort s.
| s | FloatingPoint sort. |
| negative | indicates whether the result should be negative. |
| Z3Exception |
Definition at line 4133 of file Context.java.
Creates a fresh Constant of sort range and a name prefixed with prefix.
Definition at line 778 of file Context.java.
Creates a fresh constant function declaration with a name prefixed with prefix.
Definition at line 718 of file Context.java.
|
inline |
Creates a fresh function declaration with a name prefixed with prefix.
Definition at line 685 of file Context.java.
Create the full regular expression. Corresponds to re.all
Definition at line 2761 of file Context.java.
Create the full set.
Definition at line 2119 of file Context.java.
Creates a new function declaration.
Definition at line 643 of file Context.java.
Creates a new function declaration.
Definition at line 632 of file Context.java.
Creates a new function declaration.
Definition at line 619 of file Context.java.
Creates a new function declaration.
Definition at line 593 of file Context.java.
Create an expression representing t1 >= t2
Definition at line 1159 of file Context.java.
|
inline |
Creates a new Goal. Remarks: Note that the Context must have been created with proof generation support if proofs is set to true here.
| models | Indicates whether model generation should be enabled. |
| unsatCores | Indicates whether unsat core generation should be enabled. |
| proofs | Indicates whether proof generation should be enabled. |
Definition at line 3290 of file Context.java.
Create an expression representing t1 > t2
Definition at line 1148 of file Context.java.
Create an expression representing t1 iff t2.
Definition at line 977 of file Context.java.
|
inline |
Returns the Real-valued imaginary component of a Complex expression.
Definition at line 870 of file Context.java.
Create an expression representing t1 -> t2.
Definition at line 988 of file Context.java.
|
inline |
Extract index of sub-string starting at offset.
Definition at line 2537 of file Context.java.
|
inline |
Check for regular expression membership.
Definition at line 2641 of file Context.java.
|
inline |
Create an integer numeral.
| v | value of the numeral. |
v and sort Integer Definition at line 3000 of file Context.java.
|
inline |
Create an integer numeral.
| v | value of the numeral. |
v and sort Integer Definition at line 3013 of file Context.java.
|
inline |
Create an integer numeral.
| v | A string representing the Term value in decimal notation. |
Definition at line 2987 of file Context.java.
|
inline |
Create an n bit bit-vector from the integer argument t. Remarks: NB. This function is essentially treated as uninterpreted. So you cannot expect Z3 to precisely reflect the semantics of this function when solving constraints with this function.
The argument must be of integer sort.
Definition at line 1771 of file Context.java.
Coerce an integer to a real. Remarks: There is also a converse operation exposed. It follows the semantics prescribed by the SMT-LIB standard.
You can take the floor of a real by creating an auxiliary integer Term k and asserting MakeInt2Real(k) <= t1 < MkInt2Real(k)+1. The argument must be of integer sort.
Definition at line 1177 of file Context.java.
|
inline |
Creates an integer constant.
Definition at line 821 of file Context.java.
Creates an integer constant.
Definition at line 813 of file Context.java.
Create the intersection of regular languages.
Definition at line 2732 of file Context.java.
|
inline |
Create a new integer sort.
Definition at line 222 of file Context.java.
Create a check if the character is a digit.
Definition at line 2824 of file Context.java.
Creates an expression that checks whether a real number is an integer.
Definition at line 1199 of file Context.java.
|
inline |
Create an expression representing an if-then-else: ite(t1, t2, t3).
| t1 | An expression with Boolean sort |
| t2 | An expression |
| t3 | An expression with the same sort as t2 |
Definition at line 965 of file Context.java.
Create a lambda expression.
Creates a lambda expression using a list of constants that will form the set of bound variables.
Definition at line 3185 of file Context.java.
|
inline |
Create a lambda expression.
sorts is an array with the sorts of the bound variables, names is an array with the 'names' of the bound variables, and body is the body of the lambda. Note that the bound variables are de-Bruijn indices created using {#mkBound} Z3 applies the convention that the last element in names and sorts refers to the variable with index 0, the second to last element of names and sorts refers to the variable with index 1, etc.
| sorts | the sorts of the bound variables. |
| names | names of the bound variables. |
| body | the body of the quantifier. |
Definition at line 3174 of file Context.java.
|
inline |
Extract the last index of sub-string.
Definition at line 2546 of file Context.java.
Create an expression representing t1 <= t2
Definition at line 1137 of file Context.java.
Retrieve the length of a given sequence.
Definition at line 2444 of file Context.java.
Creates or a linear order.
| index | The index of the order. |
| sort | The sort of the order. |
Definition at line 4698 of file Context.java.
Create a new list sort.
Definition at line 335 of file Context.java.
Create a new list sort.
Definition at line 325 of file Context.java.
Take the lower-bounded Kleene star of a regular expression.
Definition at line 2675 of file Context.java.
Take the lower and upper-bounded Kleene star of a regular expression.
Definition at line 2667 of file Context.java.
Create an expression representing t1 < t2
Definition at line 1126 of file Context.java.
|
inline |
Maps f on the argument arrays. Remarks: Each element of args must be of an array sort [domain_i -> range_i]. The function declaration f must have type range_1 .. range_n -> range. v must have sort range. The sort of the result is [domain_i -> range].
Definition at line 2051 of file Context.java.
Create an expression representing t1 mod t2. Remarks: The arguments must have int type.
Definition at line 1088 of file Context.java.
Create an expression representing t[0] * t[1] * ....
Definition at line 1044 of file Context.java.
Create an expression representing not(a).
Definition at line 952 of file Context.java.
Retrieve element at index.
Definition at line 2518 of file Context.java.
Create a Term of a given sort. This function can be used to create numerals that fit in a machine integer. It is slightly faster than MakeNumeral since it is not necessary to parse a string.
| v | Value of the numeral |
| ty | Sort of the numeral |
v and type ty Definition at line 2903 of file Context.java.
Create a Term of a given sort. This function can be used to create numerals that fit in a machine integer. It is slightly faster than MakeNumeral since it is not necessary to parse a string.
| v | Value of the numeral |
| ty | Sort of the numeral |
v and type ty Definition at line 2919 of file Context.java.
Create a Term of a given sort.
| v | A string representing the term value in decimal notation. If the given sort is a real, then the Term can be a rational, that is, a string of the form [num]* / [num]*. |
| ty | The sort of the numeral. In the current implementation, the given sort can be an int, real, or bit-vectors of arbitrary size. |
v and sort ty Definition at line 2886 of file Context.java.
|
inline |
Create a Optimize context.
Definition at line 3917 of file Context.java.
Create the optional regular expression.
Definition at line 2693 of file Context.java.
Create an expression representing t[0] or t[1] or ....
Definition at line 1022 of file Context.java.
|
inline |
Creates a new ParameterSet.
Definition at line 3298 of file Context.java.
Creates a partial order.
| index | The index of the order. |
| sort | The sort of the order. |
Definition at line 4714 of file Context.java.
Create a quantifier pattern.
Definition at line 740 of file Context.java.
Create a pseudo-Boolean equal constraint.
Definition at line 2869 of file Context.java.
Create a pseudo-Boolean greater-or-equal constraint.
Definition at line 2860 of file Context.java.
Create a pseudo-Boolean less-or-equal constraint.
Definition at line 2851 of file Context.java.
Creates a piecewise linear order.
| index | The index of the order. |
| sort | The sort of the order. |
Definition at line 4745 of file Context.java.
Take the Kleene plus of a regular expression.
Definition at line 2684 of file Context.java.
|
inline |
Create an expression representing t1 ^ t2.
Definition at line 1112 of file Context.java.
|
inline |
Check for sequence prefix.
Definition at line 2462 of file Context.java.
|
inline |
Creates a new Probe.
Definition at line 3733 of file Context.java.
|
inline |
Definition at line 601 of file Context.java.
|
inline |
Create a Quantifier
Definition at line 3144 of file Context.java.
|
inline |
Create a Quantifier.
Definition at line 3126 of file Context.java.
|
inline |
Create a range expression.
Definition at line 2779 of file Context.java.
|
inline |
Create a real from a fraction.
| num | numerator of rational. |
| den | denominator of rational. |
num/den and sort Real Definition at line 2935 of file Context.java.
|
inline |
Create a real numeral.
| v | value of the numeral. |
v and sort Real Definition at line 2963 of file Context.java.
|
inline |
Create a real numeral.
| v | value of the numeral. |
v and sort Real Definition at line 2976 of file Context.java.
|
inline |
Create a real numeral.
| v | A string representing the Term value in decimal notation. |
v and sort Real Definition at line 2950 of file Context.java.
Coerce a real to an integer. Remarks: The semantics of this function follows the SMT-LIB standard for the function to_int. The argument must be of real sort.
Definition at line 1190 of file Context.java.
|
inline |
Creates a real constant.
Definition at line 837 of file Context.java.
Creates a real constant.
Definition at line 829 of file Context.java.
|
inline |
Returns the Real-valued real component of a Complex expression.
Definition at line 863 of file Context.java.
|
inline |
Create a real sort.
Definition at line 230 of file Context.java.
Creates a new recursive function declaration.
Definition at line 655 of file Context.java.
Create an expression representing t1 rem t2. Remarks: The arguments must have int type.
Definition at line 1101 of file Context.java.
|
inline |
Bit-vector repetition. Remarks: The argument t must have a bit-vector sort.
Definition at line 1643 of file Context.java.
|
inline |
Replace the first occurrence of src by dst in s.
Definition at line 2595 of file Context.java.
|
inline |
Replace all occurrences of src by dst in s.
Definition at line 2604 of file Context.java.
|
inline |
Replace the first occurrence of regular expression re with dst in s.
Definition at line 2613 of file Context.java.
|
inline |
Replace all occurrences of regular expression re with dst in s.
Definition at line 2622 of file Context.java.
Create a new regular expression sort
Definition at line 283 of file Context.java.
|
inline |
Array read. Remarks: The argument a is the array and i is the index of the array that gets read.
The node a must have an array sort [domain -> range], and i must have the sort domain. The sort of the result is range.
Definition at line 1939 of file Context.java.
|
inline |
Array read. Remarks: The argument a is the array and args are the indices of the array that gets read.
The node a must have an array sort [domains -> range], and args must have the sorts domains. The sort of the result is range.
Definition at line 1961 of file Context.java.
|
inline |
Left fold of function f over sequence s with accumulator a. Applies f to accumulate values from left to right over the sequence.
Definition at line 2576 of file Context.java.
|
inline |
Left fold of function f over sequence s with accumulator a starting at index i. Applies f to accumulate values from left to right over the sequence, tracking the index starting from i.
Definition at line 2586 of file Context.java.
Map function f over sequence s. Returns a new sequence where f is applied to each element of s.
Definition at line 2556 of file Context.java.
|
inline |
Map function f over sequence s starting at index i. Returns a new sequence where f is applied to each element of s along with its index starting from i.
Definition at line 2566 of file Context.java.
|
inline |
Retrieve the sequence s concatenated n times with itself.
Definition at line 2453 of file Context.java.
Create a new sequence sort
Definition at line 275 of file Context.java.
|
inline |
Add an element to the set.
Definition at line 2129 of file Context.java.
|
inline |
Take the complement of a set.
Definition at line 2189 of file Context.java.
|
inline |
Remove an element from a set.
Definition at line 2141 of file Context.java.
|
inline |
Take the difference between two sets.
Definition at line 2177 of file Context.java.
|
inline |
Take the intersection of a list of sets.
Definition at line 2166 of file Context.java.
|
inline |
Check for set membership.
Definition at line 2199 of file Context.java.
Create a set type.
Definition at line 2100 of file Context.java.
|
inline |
Check for subsetness of sets.
Definition at line 2211 of file Context.java.
|
inline |
Take the union of a list of sets.
Definition at line 2154 of file Context.java.
|
inline |
Bit-vector sign extension. Remarks: Sign-extends the given bit-vector to the (signed) equivalent bitvector of size m+i, where m is the size of the given bit-vector. The argument t must have a bit-vector sort.
Definition at line 1617 of file Context.java.
|
inline |
Creates a new (incremental) solver.
Definition at line 3880 of file Context.java.
|
inline |
Creates a new Simplifier.
Definition at line 3633 of file Context.java.
|
inline |
Creates a new (incremental) solver. Remarks: This solver also uses a set of builtin tactics for handling the first check-sat command, and check-sat commands that take more than a given number of milliseconds to be solved.
Definition at line 3846 of file Context.java.
Referenced by Tactic.getSolver().
|
inline |
Creates a solver that is uses the simplifier pre-processing.
Definition at line 3901 of file Context.java.
|
inline |
Creates a new (incremental) solver.
Definition at line 3872 of file Context.java.
Creates a new (incremental) solver. Remarks: This solver also uses a set of builtin tactics for handling the first check-sat command, and check-sat commands that take more than a given number of milliseconds to be solved.
Definition at line 3858 of file Context.java.
Creates a solver that is implemented using the given tactic. Remarks: The solver supports the commands Push and Pop, but it will always solve each check from scratch.
Definition at line 3891 of file Context.java.
Take the Kleene star of a regular expression.
Definition at line 2650 of file Context.java.
|
inline |
Array update. Remarks: The node a must have an array sort [domain -> range], i must have sort domain, v must have sort range. The sort of the result is [domain -> range]. The semantics of this function is given by the theory of arrays described in the SMT-LIB standard. See http://smtlib.org for more details. The result of this function is an array that is equal to a (with respect to select) on all indices except for i, where it maps to v (and the select of a with respect to i may be a different value).
Definition at line 1986 of file Context.java.
|
inline |
Array update. Remarks: The node a must have an array sort [domains -> range], i must have sort domain, v must have sort range. The sort of the result is [domains -> range]. The semantics of this function is given by the theory of arrays described in the SMT-LIB standard. See http://smtlib.org for more details. The result of this function is an array that is equal to a (with respect to select) on all indices except for args, where it maps to v (and the select of a with respect to args may be a different value).
Definition at line 2011 of file Context.java.
Create a string constant.
Definition at line 2385 of file Context.java.
Check if the string s1 is lexicographically less or equal to s2.
Definition at line 2499 of file Context.java.
Check if the string s1 is lexicographically strictly less than s2.
Definition at line 2490 of file Context.java.
Create a new string sort
Definition at line 267 of file Context.java.
Create an expression representing t[0] - t[1] - ....
Definition at line 1055 of file Context.java.
|
inline |
Check for sequence suffix.
Definition at line 2471 of file Context.java.
|
inline |
Creates a new symbol using an integer. Remarks: Not all integers can be passed to this function. The legal range of unsigned integers is 0 to 2^30-1.
Definition at line 94 of file Context.java.
|
inline |
Create a symbol using a string.
Definition at line 102 of file Context.java.
|
inline |
Creates a new Tactic.
Definition at line 3336 of file Context.java.
Referenced by Goal.simplify(), and Goal.simplify().
|
inline |
Access the array default value. Remarks: Produces the default range value, for arrays that can be represented as finite maps with a default range value.
Definition at line 2066 of file Context.java.
Convert a regular expression that accepts sequence s.
Definition at line 2631 of file Context.java.
Create the transitive closure of a binary relation. The resulting relation is recursive.
| f | function declaration of a binary relation |
Definition at line 4730 of file Context.java.
Creates a tree order.
| index | The index of the order. |
| sort | The sort of the order. |
Definition at line 4761 of file Context.java.
|
inline |
Create a new tuple sort.
Definition at line 292 of file Context.java.
|
inline |
Create a type variable for use in polymorphic functions and datatypes. Type variables can be used as sort parameters in polymorphic datatypes.
| name | name of the type variable |
Definition at line 510 of file Context.java.
|
inline |
Create a type variable for use in polymorphic functions and datatypes. Type variables can be used as sort parameters in polymorphic datatypes.
| name | name of the type variable |
Definition at line 498 of file Context.java.
Create an expression representing -t.
Definition at line 1065 of file Context.java.
|
inline |
Create a new uninterpreted sort.
Definition at line 214 of file Context.java.
|
inline |
Create a new uninterpreted sort.
Definition at line 205 of file Context.java.
Create the union of regular languages.
Definition at line 2722 of file Context.java.
Create the singleton sequence.
Definition at line 2376 of file Context.java.
|
inline |
Update a datatype field at expression t with value v. The function performs a record update at t. The field that is passed in as argument is updated with value v, the remaining fields of t are unchanged.
Definition at line 580 of file Context.java.
Create an expression representing t1 xor t2.
Definition at line 999 of file Context.java.
|
inline |
Bit-vector zero extension. Remarks: Extend the given bit-vector with zeros to the (unsigned) equivalent bitvector of size m+i, where m is the size of the given bit-vector. The argument t must have a bit-vector sort.
Definition at line 1631 of file Context.java.
|
inline |
Definition at line 4854 of file Context.java.
Referenced by Fixedpoint.add(), Goal.add(), UserPropagatorBase.add(), ASTVector.ASTVector(), UserPropagatorBase.consequence(), AST.equals(), FuncDecl< R extends Sort >.equals(), Sort.equals(), FPRMSort.FPRMSort(), FPSort.FPSort(), RCFNum.mkE(), RCFNum.mkInfinitesimal(), RCFNum.mkPi(), RCFNum.mkRoots(), UserPropagatorBase.nextSplit(), Quantifier.of(), Quantifier.of(), Lambda< R extends Sort >.of(), Lambda< R extends Sort >.of(), OnClause.OnClause(), RCFNum.RCFNum(), RCFNum.RCFNum(), ASTVector.set(), AST.translate(), ASTVector.translate(), Goal.translate(), Solver.translate(), and UserPropagatorBase.UserPropagatorBase().
Create a probe that evaluates to true when the value p does not evaluate to true.
Definition at line 3833 of file Context.java.
Create a probe that evaluates to true when the value p1 or p2 evaluate to true.
Definition at line 3822 of file Context.java.
Create a tactic that first applies t1 to a Goal and if it fails then returns the result of t2 applied to the Goal.
Definition at line 3387 of file Context.java.
Create a tactic that applies t1 to a given goal and then t2 to every subgoal produced by t1. The subgoals are processed in parallel.
Definition at line 3520 of file Context.java.
|
inline |
Create a tactic that applies the given tactics in parallel until one of them succeeds (i.e., the first that doesn't fail).
Definition at line 3509 of file Context.java.
|
inline |
Parse the given file using the SMT-LIB2 parser.
Definition at line 3263 of file Context.java.
|
inline |
Parse the given string using the SMT-LIB2 parser.
If the string contains push/pop commands, the set of assertions returned are the ones in the last scope level.
Definition at line 3242 of file Context.java.
|
inline |
Return the nonzero subresultants of p and q with respect to the "variable" x. Note that any subterm that cannot be viewed as a polynomial is assumed to be a variable.
| p | arithmetic term |
| q | arithmetic term |
| x | variable |
Definition at line 4779 of file Context.java.
Performs best-effort quantifier elimination for the variables in vars.
Definition at line 3550 of file Context.java.
Projects the bound applications from body using model.
Definition at line 3561 of file Context.java.
Projects bound applications and records Skolem terms in map.
Definition at line 3573 of file Context.java.
|
inline |
Projects bound applications and records witnesses in map.
Definition at line 3588 of file Context.java.
Create a tactic that keeps applying t until the goal is not modified anymore or the maximum number of iterations max is reached.
Definition at line 3440 of file Context.java.
|
inline |
Convert an signed bitvector expression to a string.
Definition at line 2417 of file Context.java.
|
inline |
Selects the format used for pretty-printing expressions. Remarks: The default mode for pretty printing expressions is to produce SMT-LIB style output where common subexpressions are printed at each occurrence. The mode is called Z3_PRINT_SMTLIB_FULL. To print shared common subexpressions only once, use the Z3_PRINT_LOW_LEVEL mode. To print in way that conforms to SMT-LIB standards and uses let expressions to share common sub-expressions use Z3_PRINT_SMTLIB_COMPLIANT.
Definition at line 3205 of file Context.java.
|
inline |
Return a string describing all available parameters to Expr.Simplify.
Definition at line 4827 of file Context.java.
|
inline |
Create a tactic that just returns the given goal.
Definition at line 3450 of file Context.java.
Convert an integer expression to a string.
Definition at line 2425 of file Context.java.
|
inline |
Create a simplifier that applies t1 and then t2
Remarks: Shorthand for AndThen.
Definition at line 3672 of file Context.java.
Create a tactic that applies t1 to a Goal and then t2 to every subgoal produced by t1
Remarks: Shorthand for AndThen.
Definition at line 3377 of file Context.java.
Create a tactic that applies t to a goal for ms milliseconds. Remarks: If t does not terminate within ms milliseconds, then it fails.
Definition at line 3401 of file Context.java.
|
inline |
Convert an unsigned bitvector expression to a string.
Definition at line 2409 of file Context.java.
|
inline |
Unwraps an AST. Remarks: This function is used for transitions between native and managed objects. It returns the native pointer to the AST. Note that AST objects are reference counted and unwrapping an AST disables automatic reference counting, i.e., all references to the IntPtr that is returned must be handled externally and through native calls (see e.g.,
| a | The AST to unwrap. |
Definition at line 4818 of file Context.java.
|
inline |
Update a mutable configuration parameter. Remarks: The list of all configuration parameters can be obtained using the Z3 executable: z3.exe -ini? Only a few configuration parameters are mutable once the context is created. An exception is thrown when trying to modify an immutable parameter.
Definition at line 4848 of file Context.java.
|
inline |
Create a simplifier that applies t using the given set of parameters p.
Definition at line 3681 of file Context.java.
Create a tactic that applies t using the given set of parameters p.
Definition at line 3487 of file Context.java.
Create a tactic that applies t to a given goal if the probe p evaluates to true. Remarks: If p evaluates to false, then the new tactic behaves like the skip tactic.
Definition at line 3414 of file Context.java.
|
inline |
Create a simplifier that applies t using the given set of parameters p. Remarks: Alias for UsingParams
Definition at line 3695 of file Context.java.
Create a tactic that applies t using the given set of parameters p. Remarks: Alias for UsingParams
Definition at line 3501 of file Context.java.
|
inline |
Wraps an AST. Remarks: This function is used for transitions between native and managed objects. Note that nativeObject must be a native object obtained from Z3 (e.g., through UnwrapAST) and that it must have a correct reference count.
| nativeObject | The native pointer to wrap. |
Definition at line 4801 of file Context.java.