Sort
- class cvc5. Sort
-
The sort of a cvc5 term.
Wrapper class for
cvc5::Sort
.- getAbstractedKind ( self )
-
- Returns :
-
The sort kind of an abstract sort, which denotes the kind
of sorts that this abstract sort denotes.
Warning
This method is experimental and may change in future versions.
- getArrayElementSort ( self )
-
- Returns :
-
The array element sort of an array sort.
- getArrayIndexSort ( self )
-
- Returns :
-
The array index sort of an array sort.
- getBagElementSort ( self )
-
- Returns :
-
The element sort of a bag sort.
- getBitVectorSize ( self )
-
- Returns :
-
The bit-width of the bit-vector sort.
- getDatatype ( self )
-
- Returns :
-
The underlying datatype of a datatype sort
- getDatatypeArity ( self )
-
- Returns :
-
The arity of a datatype sort.
- getDatatypeConstructorArity ( self )
-
- Returns :
-
The arity of a datatype constructor sort.
- getDatatypeConstructorCodomainSort ( self )
-
- Returns :
-
The codomain sort of a datatype constructor sort.
- getDatatypeConstructorDomainSorts ( self )
-
- Returns :
-
The domain sorts of a datatype constructor sort.
- getDatatypeSelectorCodomainSort ( self )
-
- Returns :
-
The codomain sort of a datatype selector sort.
- getDatatypeSelectorDomainSort ( self )
-
- Returns :
-
The domain sort of a datatype selector sort.
- getDatatypeTesterCodomainSort ( self )
-
- Returns :
-
the codomain sort of a datatype tester sort, which is the Boolean sort
- getDatatypeTesterDomainSort ( self )
-
- Returns :
-
The domain sort of a datatype tester sort.
- getFiniteFieldSize ( self )
-
- Returns :
-
The size of the finite field sort.
- getFloatingPointExponentSize ( self )
-
- Returns :
-
The bit-width of the exponent of the floating-point sort.
- getFloatingPointSignificandSize ( self )
-
- Returns :
-
The width of the significand of the floating-point sort.
- getFunctionArity ( self )
-
- Returns :
-
The arity of a function sort.
- getFunctionCodomainSort ( self )
-
- Returns :
-
The codomain sort of a function sort.
- getFunctionDomainSorts ( self )
-
- Returns :
-
The domain sorts of a function sort.
- getInstantiatedParameters ( self )
-
Get the sorts used to instantiate the sort parameters of a parametric sort (parametric datatype or uninterpreted sort constructor sort, see
instantiate()
).- Returns :
-
The sorts used to instantiate the sort parameters of a parametric sort
- getKind ( self )
-
Warning
This method is experimental and may change in future versions.
- Returns :
-
The
SortKind
of this sort.
- getSequenceElementSort ( self )
-
- Returns :
-
The element sort of a sequence sort.
- getSetElementSort ( self )
-
- Returns :
-
The element sort of a set sort.
- getSymbol ( self )
-
Note
Asserts
hasSymbol()
.- Returns :
-
The raw symbol of the sort.
- getTupleLength ( self )
-
- Returns :
-
The length of a tuple sort.
- getTupleSorts ( self )
-
- Returns :
-
The element sorts of a tuple sort.
- getUninterpretedSortConstructor ( self )
-
Get the associated uninterpreted sort constructor of an instantiated uninterpreted sort.
- Returns :
-
The uninterpreted sort constructor sort
- getUninterpretedSortConstructorArity ( self )
-
- Returns :
-
The arity of a sort constructor sort.
- hasSymbol ( self )
-
- Returns :
-
True iff this sort has a symbol.
- instantiate ( self , params )
-
Instantiate a parameterized datatype sort or uninterpreted sort constructor sort.
Create sorts parameter with
Solver.mkParamSort()
Warning
This method is experimental and may change in future versions.
- Parameters :
-
params – The list of sort parameters to instantiate with
- Returns :
-
The instantiated sort
- isAbstract ( self )
-
Determine if this is an abstract sort.
- Returns :
-
True if the sort is an abstract sort.
Warning
This method is experimental and may change in future versions.
- isArray ( self )
-
Determine if this is an array sort.
- Returns :
-
True if the sort is an array sort.
- isBag ( self )
-
Determine if this is a bag sort.
- Returns :
-
True if the sort is a bag sort.
- isBitVector ( self )
-
Determine if this is a bit-vector sort (SMT-LIB:
(_ BitVec i)
).- Returns :
-
True if the sort is a bit-vector sort.
- isBoolean ( self )
-
Determine if this is the Boolean sort (SMT-LIB:
Bool
).- Returns :
-
True if the sort is the Boolean sort.
- isDatatype ( self )
-
Determine if this is a datatype sort.
- Returns :
-
True if the sort is a datatype sort.
- isDatatypeConstructor ( self )
-
Determine if this is a datatype constructor sort.
- Returns :
-
True if the sort is a datatype constructor sort.
- isDatatypeSelector ( self )
-
Determine if this is a datatype selector sort.
- Returns :
-
True if the sort is a datatype selector sort.
- isDatatypeTester ( self )
-
Determine if this is a tester sort.
- Returns :
-
True if the sort is a selector sort.
- isDatatypeUpdater ( self )
-
Determine if this is a datatype updater sort.
- Returns :
-
True if the sort is a datatype updater sort.
- isFiniteField ( self )
-
Determine if this is a finite field sort.
- Returns :
-
True if the sort is an array sort.
- isFloatingPoint ( self )
-
Determine if this is a floatingpoint sort (SMT-LIB:
(_ FloatingPoint eb sb)
).- Returns :
-
True if the sort is a bit-vector sort.
- isFunction ( self )
-
Determine if this is a function sort.
- Returns :
-
True if the sort is a function sort.
- isInstantiated ( self )
-
Determine if this is an instantiated (parametric datatype or uninterpreted sort constructor) sort.
An instantiated sort is a sort that has been constructed from instantiating a sort parameters with sort arguments (see
instantiate()
).- Returns :
-
True if this is an instantiated sort.
- isInteger ( self )
-
Determine if this is the integer sort (SMT-LIB:
Int
).- Returns :
-
True if the sort is the integer sort.
- isNull ( self )
-
- Returns :
-
True if this Sort is a null sort.
- isPredicate ( self )
-
Determine if this is a predicate sort.
A predicate sort is a function sort that maps to the Boolean sort. All predicate sorts are also function sorts.
- Returns :
-
True if the sort is a predicate sort.
- isReal ( self )
-
Determine if this is the real sort (SMT-LIB: Real ).
- Returns :
-
True if the sort is the real sort.
- isRecord ( self )
-
Determine if this is a record sort.
Warning
This method is experimental and may change in future versions.
- Returns :
-
True if the sort is a record sort.
- isRegExp ( self )
-
Determine if this is the regular expression sort (SMT-LIB:
RegLan
).- Returns :
-
True if the sort is the regexp sort.
- isRoundingMode ( self )
-
Determine if this is the rounding mode sort (SMT-LIB:
RoundingMode
).- Returns :
-
True if the sort is the rounding mode sort.
- isSequence ( self )
-
Determine if this is a sequence sort.
- Returns :
-
True if the sort is a sequence sort.
- isSet ( self )
-
Determine if this is a set sort.
- Returns :
-
True if the sort is a set sort.
- isString ( self )
-
Determine if this is the string sort (SMT-LIB: String ).
- Returns :
-
True if the sort is the string sort.
- isTuple ( self )
-
Determine if this is a tuple sort.
- Returns :
-
True if the sort is a tuple sort.
- isUninterpretedSort ( self )
-
Determine if this is a sort uninterpreted.
- Returns :
-
True if the sort is uninterpreted.
- isUninterpretedSortConstructor ( self )
-
Determine if this is a sort constructor kind.
An uninterpreted sort constructor is an uninterpreted sort with arity > 0.
- Returns :
-
True if this a sort constructor kind.
- substitute ( self , sort_or_list_1 , sort_or_list_2 )
-
Substitution of Sorts.
Note that this replacement is applied during a pre-order traversal and only once to the sort. It is not run until fix point. In the case that sort_or_list_1 contains duplicates, the replacement earliest in the list takes priority.
For example,
(Array A B) .substitute([A, C], [(Array C D), (Array A B)])
will return(Array (Array C D) B)
.Warning
This method is experimental and may change in future versions.
- Parameters :
-
-
sort_or_list_1 – The subsort or subsorts to be substituted within this sort.
-
sort_or_list_2 – The sort or list of sorts replacing the substituted subsort.
-