Z3
Public Member Functions
ArrayRef Class Reference
+ Inheritance diagram for ArrayRef:

Public Member Functions

def sort (self)
 
def domain (self)
 
def domain_n (self, i)
 
def range (self)
 
def __getitem__ (self, arg)
 
def default (self)
 
- Public Member Functions inherited from ExprRef
def as_ast (self)
 
def get_id (self)
 
def sort (self)
 
def sort_kind (self)
 
def __eq__ (self, other)
 
def __hash__ (self)
 
def __ne__ (self, other)
 
def params (self)
 
def decl (self)
 
def num_args (self)
 
def arg (self, idx)
 
def children (self)
 
def from_string (self, s)
 
def serialize (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 __eq__ (self, other)
 
def __hash__ (self)
 
def __nonzero__ (self)
 
def __bool__ (self)
 
def sexpr (self)
 
def as_ast (self)
 
def get_id (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
 

Detailed Description

Array expressions. 

Definition at line 4539 of file z3py.py.

Member Function Documentation

◆ __getitem__()

def __getitem__ (   self,
  arg 
)
Return the Z3 expression `self[arg]`.

>>> a = Array('a', IntSort(), BoolSort())
>>> i = Int('i')
>>> a[i]
a[i]
>>> a[i].sexpr()
'(select a i)'

Definition at line 4573 of file z3py.py.

4573 def __getitem__(self, arg):
4574 """Return the Z3 expression `self[arg]`.
4575
4576 >>> a = Array('a', IntSort(), BoolSort())
4577 >>> i = Int('i')
4578 >>> a[i]
4579 a[i]
4580 >>> a[i].sexpr()
4581 '(select a i)'
4582 """
4583 return _array_select(self, arg)
4584
def Array(name, *sorts)
Definition: z3py.py:4724
def Int(name, ctx=None)
Definition: z3py.py:3239
def BoolSort(ctx=None)
Definition: z3py.py:1682
def IntSort(ctx=None)
Definition: z3py.py:3129

◆ default()

def default (   self)

Definition at line 4585 of file z3py.py.

4585 def default(self):
4586 return _to_expr_ref(Z3_mk_array_default(self.ctx_ref(), self.as_ast()), self.ctx)
4587
4588
Z3_ast Z3_API Z3_mk_array_default(Z3_context c, Z3_ast array)
Access the array default value. Produces the default range value, for arrays that can be represented ...

◆ domain()

def domain (   self)
Shorthand for `self.sort().domain()`.

>>> a = Array('a', IntSort(), BoolSort())
>>> a.domain()
Int

Definition at line 4551 of file z3py.py.

4551 def domain(self):
4552 """Shorthand for `self.sort().domain()`.
4553
4554 >>> a = Array('a', IntSort(), BoolSort())
4555 >>> a.domain()
4556 Int
4557 """
4558 return self.sort().domain()
4559

Referenced by FuncDeclRef.__call__(), and ArrayRef.domain().

◆ domain_n()

def domain_n (   self,
  i 
)
Shorthand for self.sort().domain_n(i)`.

Definition at line 4560 of file z3py.py.

4560 def domain_n(self, i):
4561 """Shorthand for self.sort().domain_n(i)`."""
4562 return self.sort().domain_n(i)
4563

Referenced by ArrayRef.domain_n().

◆ range()

def range (   self)
Shorthand for `self.sort().range()`.

>>> a = Array('a', IntSort(), BoolSort())
>>> a.range()
Bool

Definition at line 4564 of file z3py.py.

4564 def range(self):
4565 """Shorthand for `self.sort().range()`.
4566
4567 >>> a = Array('a', IntSort(), BoolSort())
4568 >>> a.range()
4569 Bool
4570 """
4571 return self.sort().range()
4572
expr range(expr const &lo, expr const &hi)
Definition: z3++.h:3946

Referenced by ArrayRef.default(), and ArrayRef.range().

◆ sort()

def sort (   self)
Return the array sort of the array expression `self`.

>>> a = Array('a', IntSort(), BoolSort())
>>> a.sort()
Array(Int, Bool)

Reimplemented from ExprRef.

Definition at line 4542 of file z3py.py.

4542 def sort(self):
4543 """Return the array sort of the array expression `self`.
4544
4545 >>> a = Array('a', IntSort(), BoolSort())
4546 >>> a.sort()
4547 Array(Int, Bool)
4548 """
4549 return ArraySortRef(Z3_get_sort(self.ctx_ref(), self.as_ast()), self.ctx)
4550
Z3_sort Z3_API Z3_get_sort(Z3_context c, Z3_ast a)
Return the sort of an AST node.

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().