Z3
 
Loading...
Searching...
No Matches
ArrayRef Class Reference
+ Inheritance diagram for ArrayRef:

Public Member Functions

 sort (self)
 
 domain (self)
 
 domain_n (self, i)
 
 range (self)
 
 __getitem__ (self, arg)
 
 default (self)
 
- Public Member Functions inherited from ExprRef
 as_ast (self)
 
 get_id (self)
 
 sort_kind (self)
 
 __eq__ (self, other)
 
 __hash__ (self)
 
 __ne__ (self, other)
 
 params (self)
 
 decl (self)
 
 kind (self)
 
 num_args (self)
 
 arg (self, idx)
 
 children (self)
 
 update (self, *args)
 
 from_string (self, s)
 
 serialize (self)
 
- Public Member Functions inherited from AstRef
 __init__ (self, ast, ctx=None)
 
 __del__ (self)
 
 __deepcopy__ (self, memo={})
 
 __str__ (self)
 
 __repr__ (self)
 
 __eq__ (self, other)
 
 __hash__ (self)
 
 __nonzero__ (self)
 
 __bool__ (self)
 
 sexpr (self)
 
 ctx_ref (self)
 
 eq (self, other)
 
 translate (self, target)
 
 __copy__ (self)
 
 hash (self)
 
 py_value (self)
 
- Public Member Functions inherited from Z3PPObject
 use_pp (self)
 

Additional Inherited Members

- Data Fields inherited from AstRef
 ast = ast
 
 ctx = _get_ctx(ctx)
 
- Protected Member Functions inherited from Z3PPObject
 _repr_html_ (self)
 

Detailed Description

Array expressions. 

Definition at line 4725 of file z3py.py.

Member Function Documentation

◆ __getitem__()

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

4759 def __getitem__(self, arg):
4760 """Return the Z3 expression `self[arg]`.
4761
4762 >>> a = Array('a', IntSort(), BoolSort())
4763 >>> i = Int('i')
4764 >>> a[i]
4765 a[i]
4766 >>> a[i].sexpr()
4767 '(select a i)'
4768 """
4769 return _array_select(self, arg)
4770

◆ default()

default ( self)

Definition at line 4771 of file z3py.py.

4771 def default(self):
4772 return _to_expr_ref(Z3_mk_array_default(self.ctx_ref(), self.as_ast()), self.ctx)
4773
4774
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()

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

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

Definition at line 4737 of file z3py.py.

4737 def domain(self):
4738 """Shorthand for `self.sort().domain()`.
4739
4740 >>> a = Array('a', IntSort(), BoolSort())
4741 >>> a.domain()
4742 Int
4743 """
4744 return self.sort().domain()
4745

Referenced by domain().

◆ domain_n()

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

Definition at line 4746 of file z3py.py.

4746 def domain_n(self, i):
4747 """Shorthand for self.sort().domain_n(i)`."""
4748 return self.sort().domain_n(i)
4749

Referenced by domain_n().

◆ range()

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

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

Definition at line 4750 of file z3py.py.

4750 def range(self):
4751 """Shorthand for `self.sort().range()`.
4752
4753 >>> a = Array('a', IntSort(), BoolSort())
4754 >>> a.range()
4755 Bool
4756 """
4757 return self.sort().range()
4758

Referenced by range().

◆ sort()

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

4728 def sort(self):
4729 """Return the array sort of the array expression `self`.
4730
4731 >>> a = Array('a', IntSort(), BoolSort())
4732 >>> a.sort()
4733 Array(Int, Bool)
4734 """
4735 return ArraySortRef(Z3_get_sort(self.ctx_ref(), self.as_ast()), self.ctx)
4736
Z3_sort Z3_API Z3_get_sort(Z3_context c, Z3_ast a)
Return the sort of an AST node.