Public Member Functions | |
def | as_ast (self) |
def | get_id (self) |
def | kind (self) |
def | subsort (self, other) |
def | cast (self, val) |
def | name (self) |
def | __eq__ (self, other) |
def | __ne__ (self, other) |
def | __hash__ (self) |
Public Member Functions inherited from AstRef | |
def | __init__ (self, ast, ctx=None) |
def | __del__ (self) |
def | __deepcopy__ (self, memo={}) |
def | __str__ (self) |
def | __repr__ (self) |
def | __nonzero__ (self) |
def | __bool__ (self) |
def | sexpr (self) |
def | ctx_ref (self) |
def | eq (self, other) |
def | translate (self, target) |
def | __copy__ (self) |
def | hash (self) |
Public Member Functions inherited from Z3PPObject | |
def | use_pp (self) |
Additional Inherited Members | |
Data Fields inherited from AstRef | |
ast | |
ctx | |
A Sort is essentially a type. Every Z3 expression has a sort. A sort is an AST node.
def __eq__ | ( | self, | |
other | |||
) |
Return `True` if `self` and `other` are the same Z3 sort. >>> p = Bool('p') >>> p.sort() == BoolSort() True >>> p.sort() == IntSort() False
Reimplemented from AstRef.
Definition at line 618 of file z3py.py.
Referenced by CheckSatResult.__ne__(), and Probe.__ne__().
def __hash__ | ( | self | ) |
def __ne__ | ( | self, | |
other | |||
) |
def as_ast | ( | self | ) |
Return a pointer to the corresponding C Z3_ast object.
Reimplemented from AstRef.
Definition at line 562 of file z3py.py.
Referenced by AstRef.__del__(), SeqRef.__ge__(), SeqRef.__getitem__(), SeqRef.__gt__(), BitVecRef.__invert__(), SeqRef.__le__(), CharRef.__le__(), SeqRef.__lt__(), ArithRef.__neg__(), BitVecRef.__neg__(), AlgebraicNumRef.approx(), ExprRef.arg(), IntNumRef.as_binary_string(), BitVecNumRef.as_binary_string(), RatNumRef.as_decimal(), AlgebraicNumRef.as_decimal(), IntNumRef.as_string(), RatNumRef.as_string(), BitVecNumRef.as_string(), FiniteDomainRef.as_string(), FiniteDomainNumRef.as_string(), FPRef.as_string(), FPRMRef.as_string(), FPNumRef.as_string(), SeqRef.as_string(), SeqRef.at(), ExprRef.decl(), ArrayRef.default(), RatNumRef.denominator(), AstRef.eq(), FPNumRef.exponent(), FPNumRef.exponent_as_bv(), FPNumRef.exponent_as_long(), AstRef.get_id(), SortRef.get_id(), FuncDeclRef.get_id(), ExprRef.get_id(), PatternRef.get_id(), QuantifierRef.get_id(), AstRef.hash(), AlgebraicNumRef.index(), CharRef.is_digit(), SeqRef.is_string(), SeqRef.is_string_value(), FPNumRef.isInf(), FPNumRef.isNaN(), FPNumRef.isNegative(), FPNumRef.isNormal(), FPNumRef.isPositive(), FPNumRef.isSubnormal(), FPNumRef.isZero(), ExprRef.num_args(), RatNumRef.numerator(), AlgebraicNumRef.poly(), AstRef.sexpr(), FPNumRef.sign(), FPNumRef.sign_as_bv(), FPNumRef.significand(), FPNumRef.significand_as_bv(), FPNumRef.significand_as_long(), ExprRef.sort(), BoolRef.sort(), QuantifierRef.sort(), ArithRef.sort(), BitVecRef.sort(), ArrayRef.sort(), DatatypeRef.sort(), FiniteDomainRef.sort(), FPRef.sort(), SeqRef.sort(), CharRef.to_bv(), CharRef.to_int(), and AstRef.translate().
def cast | ( | self, | |
val | |||
) |
Try to cast `val` as an element of sort `self`. This method is used in Z3Py to convert Python objects such as integers, floats, longs and strings into Z3 expressions. >>> x = Int('x') >>> RealSort().cast(x) ToReal(x)
Reimplemented in FPSortRef, BitVecSortRef, ArithSortRef, BoolSortRef, and TypeVarRef.
Definition at line 593 of file z3py.py.
def get_id | ( | self | ) |
def kind | ( | self | ) |
Return the Z3 internal kind of a sort. This method can be used to test if `self` is one of the Z3 builtin sorts. >>> b = BoolSort() >>> b.kind() == Z3_BOOL_SORT True >>> b.kind() == Z3_INT_SORT False >>> A = ArraySort(IntSort(), IntSort()) >>> A.kind() == Z3_ARRAY_SORT True >>> A.kind() == Z3_INT_SORT False
Definition at line 568 of file z3py.py.
Referenced by ArithSortRef.is_int(), and ArithSortRef.is_real().
def name | ( | self | ) |
Return the name (string) of sort `self`. >>> BoolSort().name() 'Bool' >>> ArraySort(IntSort(), IntSort()).name() 'Array'
Definition at line 608 of file z3py.py.
Referenced by Datatype.__deepcopy__(), and Datatype.__repr__().
def subsort | ( | self, | |
other | |||
) |
Return `True` if `self` is a subsort of `other`. >>> IntSort().subsort(RealSort()) True
Reimplemented in BitVecSortRef, ArithSortRef, BoolSortRef, and TypeVarRef.