A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://z3prover.github.io/api/html/classz3py_1_1_expr_ref.html below:

Z3: ExprRef Class Reference

Expressions. More...

Expressions.

Constraints, formulas and terms are expressions in Z3.

Expressions are ASTs. Every expression has a sort.
There are three main kinds of expressions:
function applications, quantifiers and bounded variables.
A constant is a function application with 0 arguments.
For quantifier free problems, all expressions are
function applications.

Definition at line 979 of file z3py.py.

◆ __eq__() def __eq__ (   self,   other  )
Return a Z3 expression that represents the constraint `self == other`.

If `other` is `None`, then this method simply returns `False`.

>>> a = Int('a')
>>> b = Int('b')
>>> a == b
a == b
>>> a is None
False

Reimplemented from AstRef.

Definition at line 1019 of file z3py.py.

1019  def

__eq__(self, other):

1020  """Return a Z3 expression that represents the constraint `self == other`. 1022  If `other` is `None`, then this method simply returns `False`. 1033

a, b = _coerce_exprs(self, other)

1034  return

BoolRef(

Z3_mk_eq

(self.ctx_ref(), a.as_ast(), b.as_ast()), self.ctx)

Z3_ast Z3_API Z3_mk_eq(Z3_context c, Z3_ast l, Z3_ast r)

Create an AST node representing l = r.

Referenced by CheckSatResult.__ne__(), and Probe.__ne__().

◆ __hash__()
 Hash code. 

Reimplemented from AstRef.

Definition at line 1036 of file z3py.py.

1038  return

AstRef.__hash__(self)

◆ __ne__() def __ne__ (   self,   other  )
Return a Z3 expression that represents the constraint `self != other`.

If `other` is `None`, then this method simply returns `True`.

>>> a = Int('a')
>>> b = Int('b')
>>> a != b
a != b
>>> a is not None
True

Definition at line 1040 of file z3py.py.

1040  def

__ne__(self, other):

1041  """Return a Z3 expression that represents the constraint `self != other`. 1043  If `other` is `None`, then this method simply returns `True`. 1054

a, b = _coerce_exprs(self, other)

1055

_args, sz = _to_ast_array((a, b))

1056  return

BoolRef(

Z3_mk_distinct

(self.ctx_ref(), 2, _args), self.ctx)

Z3_ast Z3_API Z3_mk_distinct(Z3_context c, unsigned num_args, Z3_ast const args[])

Create an AST node representing distinct(args[0], ..., args[num_args-1]).

◆ arg()
Return argument `idx` of the application `self`.

This method assumes that `self` is a function application with at least `idx+1` arguments.

>>> a = Int('a')
>>> b = Int('b')
>>> f = Function('f', IntSort(), IntSort(), IntSort(), IntSort())
>>> t = f(a, b, 0)
>>> t.arg(0)
a
>>> t.arg(1)
b
>>> t.arg(2)
0

Definition at line 1092 of file z3py.py.

1093  """Return argument `idx` of the application `self`. 1095  This method assumes that `self` is a function application with at least `idx+1` arguments. 1099  >>> f = Function('f', IntSort(), IntSort(), IntSort(), IntSort()) 1109

_z3_assert(

is_app

(self),

"Z3 application expected"

)

1110

_z3_assert(idx < self.num_args(),

"Invalid argument index"

)

1111  return

_to_expr_ref(

Z3_get_app_arg

(self.ctx_ref(), self.as_ast(), idx), self.ctx)

Z3_ast Z3_API Z3_get_app_arg(Z3_context c, Z3_app a, unsigned i)

Return the i-th argument of the given application.

Referenced by AstRef.__bool__(), and ExprRef.children().

◆ as_ast()
Return a pointer to the corresponding C Z3_ast object.

Reimplemented from AstRef.

Reimplemented in QuantifierRef, and PatternRef.

Definition at line 990 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().

◆ children()
Return a list containing the children of the given expression

>>> a = Int('a')
>>> b = Int('b')
>>> f = Function('f', IntSort(), IntSort(), IntSort(), IntSort())
>>> t = f(a, b, 0)
>>> t.children()
[a, b, 0]

Reimplemented in QuantifierRef.

Definition at line 1113 of file z3py.py.

1114  """Return a list containing the children of the given expression 1118  >>> f = Function('f', IntSort(), IntSort(), IntSort(), IntSort()) 1124  return

[self.arg(i)

for

i

in range

(self.num_args())]

expr range(expr const &lo, expr const &hi)

◆ decl()
Return the Z3 function declaration associated with a Z3 application.

>>> f = Function('f', IntSort(), IntSort())
>>> a = Int('a')
>>> t = f(a)
>>> eq(t.decl(), f)
True
>>> (a + 1).decl()
+

Definition at line 1061 of file z3py.py.

1062  """Return the Z3 function declaration associated with a Z3 application. 1064  >>> f = Function('f', IntSort(), IntSort()) 1073

_z3_assert(

is_app

(self),

"Z3 application expected"

)

1074  return

FuncDeclRef(

Z3_get_app_decl

(self.ctx_ref(), self.as_ast()), self.ctx)

Z3_func_decl Z3_API Z3_get_app_decl(Z3_context c, Z3_app a)

Return the declaration of a constant or function application.

Referenced by ExprRef.params().

◆ from_string() def from_string (   self,   s  )

Definition at line 1128 of file z3py.py.

1128  def

from_string(self, s):

◆ get_id()
Return unique identifier for object. It can be used for hash-tables and maps.

Reimplemented from AstRef.

Reimplemented in QuantifierRef, and PatternRef.

Definition at line 993 of file z3py.py.

unsigned Z3_API Z3_get_ast_id(Z3_context c, Z3_ast t)

Return a unique identifier for t. The identifier is unique up to structural equality....

◆ num_args()
Return the number of arguments of a Z3 application.

>>> a = Int('a')
>>> b = Int('b')
>>> (a + b).num_args()
2
>>> f = Function('f', IntSort(), IntSort(), IntSort(), IntSort())
>>> t = f(a, b, 0)
>>> t.num_args()
3

Definition at line 1076 of file z3py.py.

1077  """Return the number of arguments of a Z3 application. 1081  >>> (a + b).num_args() 1083  >>> f = Function('f', IntSort(), IntSort(), IntSort(), IntSort()) 1089

_z3_assert(

is_app

(self),

"Z3 application expected"

)

unsigned Z3_API Z3_get_app_num_args(Z3_context c, Z3_app a)

Return the number of argument of an application. If t is an constant, then the number of arguments is...

Referenced by AstRef.__bool__(), ExprRef.arg(), FuncEntry.arg_value(), FuncEntry.as_list(), and ExprRef.children().

◆ params() ◆ serialize()

Definition at line 1131 of file z3py.py.

1131  def

serialize(self):

◆ sort()
Return the sort of expression `self`.

>>> x = Int('x')
>>> (x + 1).sort()
Int
>>> y = Real('y')
>>> (x + y).sort()
Real

Reimplemented in SeqRef, FPRef, FiniteDomainRef, DatatypeRef, ArrayRef, BitVecRef, ArithRef, QuantifierRef, and BoolRef.

Definition at line 996 of file z3py.py.

997  """Return the sort of expression `self`. 1006  return

_sort(self.ctx, self.as_ast())

Referenced by FPNumRef.as_string(), ArrayRef.domain(), ArrayRef.domain_n(), FPRef.ebits(), ArithRef.is_int(), ArithRef.is_real(), ArrayRef.range(), FPRef.sbits(), BitVecRef.size(), and ExprRef.sort_kind().

◆ sort_kind()
Shorthand for `self.sort().kind()`.

>>> a = Array('a', IntSort(), IntSort())
>>> a.sort_kind() == Z3_ARRAY_SORT
True
>>> a.sort_kind() == Z3_INT_SORT
False

Definition at line 1008 of file z3py.py.

1008  def

sort_kind(self):

1009  """Shorthand for `self.sort().kind()`. 1011  >>> a = Array('a', IntSort(), IntSort()) 1012  >>> a.sort_kind() == Z3_ARRAY_SORT 1014  >>> a.sort_kind() == Z3_INT_SORT 1017  return

self.sort().kind()


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4