Inheritance diagram for SortRef: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.