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

Public Member Functions

def sort (self)
 
def domain (self)
 
def range (self)
 
def __getitem__ (self, arg)
 
- 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 __ne__ (self, other)
 
def decl (self)
 
def num_args (self)
 
def arg (self, idx)
 
def children (self)
 
- Public Member Functions inherited from AstRef
def __init__
 
def __del__ (self)
 
def __str__ (self)
 
def __repr__ (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 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 3843 of file z3py.py.

Member Function Documentation

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 3873 of file z3py.py.

3873  def __getitem__(self, arg):
3874  """Return the Z3 expression `self[arg]`.
3875 
3876  >>> a = Array('a', IntSort(), BoolSort())
3877  >>> i = Int('i')
3878  >>> a[i]
3879  a[i]
3880  >>> a[i].sexpr()
3881  '(select a i)'
3882  """
3883  arg = self.domain().cast(arg)
3884  return _to_expr_ref(Z3_mk_select(self.ctx_ref(), self.as_ast(), arg.as_ast()), self.ctx)
3885 
def as_ast(self)
Definition: z3py.py:296
def __getitem__(self, arg)
Definition: z3py.py:3873
Z3_ast Z3_API Z3_mk_select(__in Z3_context c, __in Z3_ast a, __in Z3_ast i)
Array read. The argument a is the array and i is the index of the array that gets read...
def ctx_ref(self)
Definition: z3py.py:305
def domain(self)
Definition: z3py.py:3855
def domain (   self)
Shorthand for `self.sort().domain()`.

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

Definition at line 3855 of file z3py.py.

Referenced by ArrayRef.__getitem__().

3855  def domain(self):
3856  """Shorthand for `self.sort().domain()`.
3857 
3858  >>> a = Array('a', IntSort(), BoolSort())
3859  >>> a.domain()
3860  Int
3861  """
3862  return self.sort().domain()
3863 
def sort(self)
Definition: z3py.py:748
def domain(self)
Definition: z3py.py:3855
def range (   self)
Shorthand for `self.sort().range()`.

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

Definition at line 3864 of file z3py.py.

3864  def range(self):
3865  """Shorthand for `self.sort().range()`.
3866 
3867  >>> a = Array('a', IntSort(), BoolSort())
3868  >>> a.range()
3869  Bool
3870  """
3871  return self.sort().range()
3872 
def range(self)
Definition: z3py.py:3864
def sort(self)
Definition: z3py.py:748
def sort (   self)
Return the array sort of the array expression `self`.

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

Definition at line 3846 of file z3py.py.

3846  def sort(self):
3847  """Return the array sort of the array expression `self`.
3848 
3849  >>> a = Array('a', IntSort(), BoolSort())
3850  >>> a.sort()
3851  Array(Int, Bool)
3852  """
3853  return ArraySortRef(Z3_get_sort(self.ctx_ref(), self.as_ast()), self.ctx)
3854 
def as_ast(self)
Definition: z3py.py:296
Arrays.
Definition: z3py.py:3822
def sort(self)
Definition: z3py.py:3846
Z3_sort Z3_API Z3_get_sort(__in Z3_context c, __in Z3_ast a)
Return the sort of an AST node.
def ctx_ref(self)
Definition: z3py.py:305