Sets ¶
Basic Set Term Builders ¶
- cvc5.pythonic. SetSort ( s ) ¶
-
Create a set sort over element sort s
- cvc5.pythonic. Set ( name , elem_sort ) ¶
-
Creates a symbolic set of elements
- cvc5.pythonic. EmptySet ( s ) ¶
-
Create the empty set
>>> EmptySet(IntSort()) Empty(Set(Int))
- cvc5.pythonic. Singleton ( s ) ¶
-
The single element set of just e
>>> Singleton(IntVal(1)) Singleton(1)
- cvc5.pythonic. FullSet ( s ) ¶
-
Create the full set
>>> FullSet(IntSort()) Full(Set(Int))
Set Operators ¶
- cvc5.pythonic. SetUnion ( * args ) ¶
-
Take the union of sets
>>> a = Const('a', SetSort(IntSort())) >>> b = Const('b', SetSort(IntSort())) >>> SetUnion(a, b) SetUnion(a, b)
- cvc5.pythonic. SetIntersect ( * args ) ¶
-
Take the intersection of sets
>>> a = Const('a', SetSort(IntSort())) >>> b = Const('b', SetSort(IntSort())) >>> SetIntersect(a, b) SetIntersect(a, b)
- cvc5.pythonic. SetAdd ( s , e ) ¶
-
Add element e to set s
>>> a = Const('a', SetSort(IntSort())) >>> SetAdd(a, 1) SetAdd(a, 1) >>> SetAdd(a, 1).arg(0) a
- cvc5.pythonic. SetDel ( s , e ) ¶
-
Remove element e to set s
>>> a = Const('a', SetSort(IntSort())) >>> SetDel(a, 1) SetDifference(a, Singleton(1))
- cvc5.pythonic. SetComplement ( s ) ¶
-
The complement of set s
>>> a = Const('a', SetSort(IntSort())) >>> SetComplement(a) SetComplement(a)
- cvc5.pythonic. SetDifference ( a , b ) ¶
-
The set difference of a and b
>>> a = Const('a', SetSort(IntSort())) >>> b = Const('b', SetSort(IntSort())) >>> SetDifference(a, b) SetDifference(a, b)
- cvc5.pythonic. SetMinus ( a , b ) ¶
-
The set difference of a and b
>>> a = Const('a', SetSort(IntSort())) >>> b = Const('b', SetSort(IntSort())) >>> SetMinus(a, b) SetDifference(a, b)
- cvc5.pythonic. IsMember ( e , s ) ¶
-
Check if e is a member of set s
>>> a = Const('a', SetSort(IntSort())) >>> IsMember(1, a) IsMember(1, a)
- cvc5.pythonic. IsSubset ( a , b ) ¶
-
Check if a is a subset of b
>>> a = Const('a', SetSort(IntSort())) >>> b = Const('b', SetSort(IntSort())) >>> IsSubset(a, b) IsSubset(a, b)
See the following operator overload for set terms:
-
is member:
cvc5.pythonic.SetRef.__getitem__()
Classes (with overloads) ¶
- class cvc5.pythonic. SetSortRef ( ast , ctx = None ) ¶
-
Array sorts.
- domain ( ) ¶
-
Return the domain of the set sort self .
>>> A = SetSort(IntSort()) >>> A.domain() Int
- range ( ) ¶
-
Return the “range” of the set sort self . Included for compatibility with arrays.
>>> A = SetSort(IntSort()) >>> A.range() Bool
- class cvc5.pythonic. SetRef ( ast , ctx = None , reverse_children = False ) ¶
-
Array expressions.
- __and__ ( other ) ¶
-
Intersection
>>> a = Const('a', SetSort(IntSort())) >>> b = Const('b', SetSort(IntSort())) >>> a & b SetIntersect(a, b)
- __getitem__ ( arg ) ¶
-
Return the SMT expression self[arg] . Included for compatibility with arrays.
>>> a = Set('a', IntSort()) >>> i = Int('i') >>> a[i] IsMember(i, a)
- __or__ ( other ) ¶
-
Union
>>> a = Const('a', SetSort(IntSort())) >>> b = Const('b', SetSort(IntSort())) >>> a | b SetUnion(a, b)
- default ( ) ¶
-
Always returns false.
Included for compatibility with Arrays.
>>> Set('a', IntSort()).default() False
- domain ( ) ¶
-
Shorthand for self.sort().domain() .
>>> a = Set('a', IntSort()) >>> a.domain() Int
- range ( ) ¶
-
Shorthand for self.sort().range() . Included for compatibility with arrays.
>>> a = Set('a', IntSort()) >>> a.range() Bool
- sort ( ) ¶
-
Return the set sort of the set expression self .
>>> a = Set('a', IntSort()) >>> a.sort() Set(Int)