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)