Documentation

cvc5

@[extern kind_toString]

Produces a string representation.

@[extern kind_hash]

Produces a hash.

@[extern sortKind_toString]

Produces a string representation.

@[extern sortKind_hash]

Produces a hash.

@[extern proofRule_toString]

Produces a string representation.

@[extern proofRule_hash]

Produces a hash.

@[extern skolemId_toString]

Produces a string representation.

@[extern skolemId_hash]

Produces a hash.

@[extern proofRewriteRule_toString]

Produces a string representation.

@[extern proofRewriteRule_hash]

Produces a hash.

@[extern unknownExplanation_toString]

Produces a string representation.

@[extern unknownExplanation_hash]

Produces a hash.

@[extern roundingMode_toString]

Produces a string representation.

@[extern roundingMode_hash]

Produces a hash.

@[extern blockModelsMode_toString]

Produces a string representation.

@[extern blockModelsMode_hash]

Produces a hash.

@[extern learnedLitType_toString]

Produces a string representation.

@[extern learnedLitType_hash]

Produces a hash.

@[extern proofComponent_toString]

Produces a string representation.

@[extern proofComponent_hash]

Produces a hash.

@[extern proofFormat_toString]

Produces a string representation.

@[extern proofFormat_hash]

Produces a hash.

@[extern findSynthTarget_toString]

Produces a string representation.

@[extern findSynthTarget_hash]

Produces a hash.

@[extern inputLanguage_toString]

Produces a string representation.

@[extern inputLanguage_hash]

Produces a hash.

Encapsulation of a three-valued solver result, with explanations.

Equations
Instances For

    The sort of a cvc5 term.

    Equations
    Instances For

      A cvc5 operator.

      An operator is a term that represents certain operators, instantiated with its required parameters, e.g., a Term of kind Kind.BITVECTOR_EXTRACT.

      Equations
      Instances For

        A cvc5 term.

        Equations
        Instances For

          A cvc5 proof.

          Proofs are trees and every proof object corresponds to the root step of a proof. The branches of the root step are the premises of the step.

          Equations
          Instances For

            Manager for cvc5 terms.

            Equations
            Instances For
              inductive cvc5.Error :

              Error type.

              Instances For

                A cvc5 solver.

                Equations
                Instances For
                  @[reducible, inline]
                  abbrev cvc5.SolverT (m : TypeType u_1) (α : Type) :
                  Type u_1

                  Solver error/state-monad transformer.

                  Equations
                  Instances For
                    @[reducible, inline]
                    abbrev cvc5.SolverM (α : Type) :

                    Solver error/state-monad wrapped in IO.

                    Equations
                    Instances For

                      String representation of an error.

                      Equations
                      Instances For
                        def cvc5.Error.unwrap! {α : Type u_1} [Inhabited α] :
                        Except Error αα

                        Panics on errors, otherwise yields the ok result.

                        Equations
                        Instances For
                          @[extern result_beq]

                          Comparison for structural equality.

                          @[extern result_hash]

                          Hash function for cvc5 sorts.

                          @[extern result_isSat]

                          True if this result is from a satisfiable checkSat or checkSatAssuming query.

                          @[extern result_isUnsat]

                          True if this result is from a unsatisfiable checkSat or checkSatAssuming query.

                          @[extern result_isUnknown]

                          True if this result is from a checkSat or checkSatAssuming query and cvc5 was not able to determine (un)satisfiability.

                          @[extern result_getUnknownExplanation]

                          An explanation for an unknown query result.

                          Note that if the result is (un)sat, this function returns UnknownExplanation.UNKNOWN_REASON.

                          An explanation for an unknown query result, none if the result in not unknown.

                          Equations
                          Instances For
                            @[extern result_toString]

                            A string representation of this result.

                            @[extern sort_null]

                            The null sort.

                            @[extern sort_beq]

                            Comparison for structural equality.

                            @[extern sort_blt]

                            Less than comparison.

                            @[extern sort_bgt]

                            Greater than comparison.

                            @[extern sort_ble]

                            Less than or equal comparison.

                            @[extern sort_bge]

                            Greater than or equal comparison.

                            Comparison of two sorts.

                            Equations
                            Instances For
                              Equations
                              Equations
                              Equations
                              Equations
                              @[extern sort_hash]

                              Hash function for cvc5 sorts.

                              @[extern sort_getKind]

                              Get the kind of this sort.

                              @[extern sort_isNull]

                              Determine if this is the null sort (cvc5.Sort).

                              @[extern sort_isBoolean]

                              Determine if this is the Boolean sort (SMT-LIB: Bool).

                              @[extern sort_isInteger]

                              Determine if this is the Integer sort (SMT-LIB: Int).

                              @[extern sort_isReal]

                              Determine if this is the Real sort (SMT-LIB: Real).

                              @[extern sort_isString]

                              Determine if this is the String sort (SMT-LIB: String).

                              @[extern sort_isRegExp]

                              Determine if this is the regular expression sort (SMT-LIB: RegLan).

                              @[extern sort_isRoundingMode]

                              Determine if this is the rounding mode sort (SMT-LIB: RoundingMode).

                              @[extern sort_isBitVector]

                              Determine if this is a bit-vector sort (SMT-LIB: (_ BitVec i)).

                              @[extern sort_isFloatingPoint]

                              Determine if this is a floating-point sort (SMT-LIB: (_ FloatingPoint eb sb)).

                              @[extern sort_isDatatype]

                              Determine if this is a datatype sort.

                              @[extern sort_isDatatypeConstructor]

                              Determine if this is a datatype constructor sort.

                              @[extern sort_isDatatypeSelector]

                              Determine if this is a datatype selector sort.

                              @[extern sort_isDatatypeTester]

                              Determine if this is a datatype tester sort.

                              @[extern sort_isDatatypeUpdater]

                              Determine if this is a datatype updater sort.

                              @[extern sort_isFunction]

                              Determine if this is a function sort.

                              @[extern sort_isPredicate]

                              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.

                              @[extern sort_isTuple]

                              Determine if this is a tuple sort.

                              @[extern sort_isNullable]

                              Determine if this is a nullable sort.

                              @[extern sort_isRecord]

                              Determine if this is a record sort.

                              Warning: this function is experimental and may change in future versions.

                              @[extern sort_isArray]

                              Determine if this is an array sort.

                              @[extern sort_isFiniteField]

                              Determine if this is a finite field sort.

                              @[extern sort_isSet]

                              Determine if this is a Set sort.

                              @[extern sort_isBag]

                              Determine if this is a Bag sort.

                              @[extern sort_isSequence]

                              Determine if this is a Sequence sort.

                              @[extern sort_isAbstract]

                              Determine if this is an abstract sort.

                              @[extern sort_isUninterpretedSort]

                              Determine if this is an uninterpreted sort.

                              @[extern sort_isUninterpretedSortConstructor]

                              Determine if this is an uninterpreted sort constructor.

                              An uninterpreted sort constructor has arity > 0 and can be instantiated to construct uninterpreted sorts with given sort parameters.

                              @[extern sort_isInstantiated]

                              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 with sort arguments --- see also cvc5.Sort.instantiate.

                              @[extern sort_toString]

                              A string representation of this sort.

                              @[extern sort_hasSymbol]

                              Determine if this term has a symbol (a name).

                              For example, free constants and variables have symbols.

                              Determine if this term has a symbol (a name).

                              For example, free constants and variables have symbols.

                              Equations
                              Instances For

                                Determine if this term has a symbol (a name).

                                For example, free constants and variables have symbols.

                                Equations
                                Instances For

                                  Get the symbol of this sort.

                                  The symbol of this sort is the string that was provided when consrtucting it via one of Solver.mkUninterpretedSort, Solver.mkUnresolvedSort, or Solver.mkUninterpretedSortConstructorSort.

                                  Equations
                                  Instances For

                                    Get the symbol of this sort.

                                    The symbol of this sort is the string that was provided when consrtucting it via one of Solver.mkUninterpretedSort, Solver.mkUnresolvedSort, or Solver.mkUninterpretedSortConstructorSort.

                                    Equations
                                    Instances For
                                      @[extern sort_getSymbol]

                                      Get the symbol of this sort.

                                      The symbol of this sort is the string that was provided when consrtucting it via one of Solver.mkUninterpretedSort, Solver.mkUnresolvedSort, or Solver.mkUninterpretedSortConstructorSort.

                                      The arity of a function sort.

                                      Equations
                                      Instances For
                                        @[extern sort_getFunctionArity]

                                        The arity of a function sort.

                                        The arity of a function sort.

                                        Equations
                                        Instances For
                                          @[extern sort_getFunctionDomainSorts]

                                          The domain sorts of a function sort.

                                          The domain sorts of a function sort.

                                          Equations
                                          Instances For

                                            The codomain sort of a function sort.

                                            Equations
                                            Instances For

                                              The codomain sort of a function sort.

                                              Equations
                                              Instances For
                                                @[extern sort_getFunctionCodomainSort]

                                                The codomain sort of a function sort.

                                                @[extern sort_getArrayIndexSort]

                                                The array index sort of an array index.

                                                The array index sort of an array index.

                                                Equations
                                                Instances For

                                                  The array index sort of an array index.

                                                  Equations
                                                  Instances For
                                                    @[extern sort_getArrayElementSort]

                                                    The array element sort of an array index.

                                                    The array element sort of an array index.

                                                    Equations
                                                    Instances For

                                                      The array element sort of an array index.

                                                      Equations
                                                      Instances For
                                                        @[extern sort_getSetElementSort]

                                                        The element sort of a set sort.

                                                        The element sort of a set sort.

                                                        Equations
                                                        Instances For

                                                          The element sort of a set sort.

                                                          Equations
                                                          Instances For
                                                            @[extern sort_getBagElementSort]

                                                            The element sort of a bag sort.

                                                            The element sort of a bag sort.

                                                            Equations
                                                            Instances For

                                                              The element sort of a bag sort.

                                                              Equations
                                                              Instances For

                                                                The element sort of a sequence sort.

                                                                Equations
                                                                Instances For
                                                                  @[extern sort_getSequenceElementSort]

                                                                  The element sort of a sequence sort.

                                                                  The element sort of a sequence sort.

                                                                  Equations
                                                                  Instances For
                                                                    @[extern sort_getAbstractedKind]

                                                                    The sort kind of an abstract sort, which denotes the kind of sorts that this abstract sort denotes.

                                                                    The sort kind of an abstract sort, which denotes the kind of sorts that this abstract sort denotes.

                                                                    Equations
                                                                    Instances For

                                                                      The sort kind of an abstract sort, which denotes the kind of sorts that this abstract sort denotes.

                                                                      Equations
                                                                      Instances For
                                                                        @[extern sort_getUninterpretedSortConstructorArity]

                                                                        The arity of an uninterpreted sort constructor sort.

                                                                        @[extern sort_getBitVectorSize]

                                                                        The bit-width of the bit-vector sort.

                                                                        The bit-width of the bit-vector sort.

                                                                        Equations
                                                                        Instances For

                                                                          The bit-width of the bit-vector sort.

                                                                          Equations
                                                                          Instances For

                                                                            The size of the finite field sort.

                                                                            Equations
                                                                            Instances For

                                                                              The size of the finite field sort.

                                                                              Equations
                                                                              Instances For
                                                                                @[extern sort_getFiniteFieldSize]

                                                                                The size of the finite field sort.

                                                                                The bit-width of the exponent of the floating-point sort.

                                                                                Equations
                                                                                Instances For
                                                                                  @[extern sort_getFloatingPointExponentSize]

                                                                                  The bit-width of the exponent of the floating-point sort.

                                                                                  The bit-width of the exponent of the floating-point sort.

                                                                                  Equations
                                                                                  Instances For
                                                                                    @[extern sort_getFloatingPointSignificandSize]

                                                                                    The width of the significand of the floating-point sort.

                                                                                    The width of the significand of the floating-point sort.

                                                                                    Equations
                                                                                    Instances For

                                                                                      The width of the significand of the floating-point sort.

                                                                                      Equations
                                                                                      Instances For

                                                                                        The length of a tuple sort.

                                                                                        Equations
                                                                                        Instances For
                                                                                          @[extern sort_getTupleLength]

                                                                                          The length of a tuple sort.

                                                                                          The length of a tuple sort.

                                                                                          Equations
                                                                                          Instances For
                                                                                            @[extern sort_getTupleSorts]

                                                                                            The element sorts of a tuple sort.

                                                                                            The element sorts of a tuple sort.

                                                                                            Equations
                                                                                            Instances For

                                                                                              The element sorts of a tuple sort.

                                                                                              Equations
                                                                                              Instances For
                                                                                                @[extern sort_getNullableElementSort]

                                                                                                The element sort of a nullable sort.

                                                                                                The element sort of a nullable sort.

                                                                                                Equations
                                                                                                Instances For

                                                                                                  The element sort of a nullable sort.

                                                                                                  Equations
                                                                                                  Instances For
                                                                                                    @[extern sort_getUninterpretedSortConstructor]

                                                                                                    Get the associated uninterpreted sort constructor of an instantiated uninterpreted sort.

                                                                                                    Get the associated uninterpreted sort constructor of an instantiated uninterpreted sort.

                                                                                                    Equations
                                                                                                    Instances For

                                                                                                      Get the associated uninterpreted sort constructor of an instantiated uninterpreted sort.

                                                                                                      Equations
                                                                                                      Instances For

                                                                                                        Instantiate a parameterized datatype sort or uninterpreted sort constructor sort.

                                                                                                        Create sort parameters with TermManager.mkParamSort symbol.

                                                                                                        • params The list of sort parameters to instantiate with.
                                                                                                        Equations
                                                                                                        Instances For

                                                                                                          Instantiate a parameterized datatype sort or uninterpreted sort constructor sort.

                                                                                                          Create sort parameters with TermManager.mkParamSort symbol.

                                                                                                          • params The list of sort parameters to instantiate with.
                                                                                                          Equations
                                                                                                          Instances For
                                                                                                            @[extern sort_instantiate]

                                                                                                            Instantiate a parameterized datatype sort or uninterpreted sort constructor sort.

                                                                                                            Create sort parameters with TermManager.mkParamSort symbol.

                                                                                                            • params The list of sort parameters to instantiate with.

                                                                                                            Simultaneous 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 sorts contains duplicates, the replacement earliest in the vector takes priority.

                                                                                                            Warning: This function is experimental and may change in future versions.

                                                                                                            • sorts The sub-sorts to be substituted within this sort.
                                                                                                            • replacements The sort replacing the substituted sub-sorts.
                                                                                                            Equations
                                                                                                            Instances For

                                                                                                              Simultaneous 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 sorts contains duplicates, the replacement earliest in the vector takes priority.

                                                                                                              Warning: This function is experimental and may change in future versions.

                                                                                                              • sorts The sub-sorts to be substituted within this sort.
                                                                                                              • replacements The sort replacing the substituted sub-sorts.
                                                                                                              Equations
                                                                                                              Instances For
                                                                                                                @[extern sort_substitute]
                                                                                                                opaque cvc5.Sort.substitute :
                                                                                                                «Sort»(sorts replacements : Array «Sort») → Except Error «Sort»

                                                                                                                Simultaneous 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 sorts contains duplicates, the replacement earliest in the vector takes priority.

                                                                                                                Warning: This function is experimental and may change in future versions.

                                                                                                                • sorts The sub-sorts to be substituted within this sort.
                                                                                                                • replacements The sort replacing the substituted sub-sorts.
                                                                                                                Equations
                                                                                                                @[extern op_null]
                                                                                                                opaque cvc5.Op.null :
                                                                                                                UnitOp

                                                                                                                The null operator.

                                                                                                                @[extern op_beq]
                                                                                                                opaque cvc5.Op.beq :
                                                                                                                OpOpBool

                                                                                                                Syntactic equality operator.

                                                                                                                @[extern op_getKind]
                                                                                                                opaque cvc5.Op.getKind :
                                                                                                                OpKind

                                                                                                                Get the kind of this operator.

                                                                                                                @[extern op_isNull]
                                                                                                                opaque cvc5.Op.isNull :
                                                                                                                OpBool

                                                                                                                Determine if this operator is nullary.

                                                                                                                @[extern op_isIndexed]

                                                                                                                Determine if this operator is indexed.

                                                                                                                @[extern op_getNumIndices]

                                                                                                                Get the number of indices of this operator.

                                                                                                                @[extern op_get]
                                                                                                                opaque cvc5.Op.get (op : Op) :

                                                                                                                Get the index at position i of an indexed operator.

                                                                                                                @[extern op_toString]

                                                                                                                Get the string representation of this operator.

                                                                                                                Equations
                                                                                                                @[extern term_null]

                                                                                                                The null term.

                                                                                                                @[extern term_beq]
                                                                                                                opaque cvc5.Term.beq :
                                                                                                                TermTermBool

                                                                                                                Syntactic equality operator.

                                                                                                                @[extern term_hash]
                                                                                                                @[extern term_isNull]

                                                                                                                Determine if this term is nullary.

                                                                                                                @[extern term_getKind]

                                                                                                                Get the kind of this term.

                                                                                                                @[extern term_getSort]

                                                                                                                Get the sort of this term.

                                                                                                                @[extern term_hasOp]

                                                                                                                Determine if this term has an operator.

                                                                                                                @[extern term_hasSymbol]

                                                                                                                Determine if this term has a symbol (a name).

                                                                                                                For example, free constants and variables have symbols.

                                                                                                                @[extern term_getId]

                                                                                                                Get the id of this term.

                                                                                                                @[extern term_getNumChildren]

                                                                                                                Get the number of children of this term.

                                                                                                                @[extern term_isSkolem]

                                                                                                                Is this term a skolem?

                                                                                                                @[extern term_get]

                                                                                                                Get the child term of this term at a given index.

                                                                                                                Get the operator of a term with an operator.

                                                                                                                Requires that this term has an operator (see hasOp).

                                                                                                                Equations
                                                                                                                Instances For
                                                                                                                  @[extern term_getOp]

                                                                                                                  Get the operator of a term with an operator.

                                                                                                                  Requires that this term has an operator (see hasOp).

                                                                                                                  Get the operator of a term with an operator.

                                                                                                                  Requires that this term has an operator (see hasOp).

                                                                                                                  Equations
                                                                                                                  Instances For
                                                                                                                    @[extern term_getBooleanValue]

                                                                                                                    Get the value of a Boolean term as a native Boolean value.

                                                                                                                    Requires term to have sort Bool.

                                                                                                                    Get the value of a Boolean term as a native Boolean value.

                                                                                                                    Requires term to have sort Bool.

                                                                                                                    Equations
                                                                                                                    Instances For

                                                                                                                      Get the value of a Boolean term as a native Boolean value.

                                                                                                                      Requires term to have sort Bool.

                                                                                                                      Equations
                                                                                                                      Instances For
                                                                                                                        @[extern term_getBitVectorValue]

                                                                                                                        Get the string representation of a bit-vector value.

                                                                                                                        Requires term to have a bit-vector sort.

                                                                                                                        • base: 2 for binary, 10 for decimal, and 16 for hexadecimal.

                                                                                                                        Get the string representation of a bit-vector value.

                                                                                                                        Requires term to have a bit-vector sort.

                                                                                                                        • base: 2 for binary, 10 for decimal, and 16 for hexadecimal.
                                                                                                                        Equations
                                                                                                                        Instances For

                                                                                                                          Get the string representation of a bit-vector value.

                                                                                                                          Requires term to have a bit-vector sort.

                                                                                                                          • base: 2 for binary, 10 for decimal, and 16 for hexadecimal.
                                                                                                                          Equations
                                                                                                                          Instances For

                                                                                                                            Get the native integral value of an integral value.

                                                                                                                            Equations
                                                                                                                            Instances For
                                                                                                                              @[extern term_getIntegerValue]

                                                                                                                              Get the native integral value of an integral value.

                                                                                                                              Get the native integral value of an integral value.

                                                                                                                              Equations
                                                                                                                              Instances For

                                                                                                                                Get the native rational value of a real, rational-compatible value.

                                                                                                                                Equations
                                                                                                                                Instances For
                                                                                                                                  @[extern term_getRationalValue]

                                                                                                                                  Get the native rational value of a real, rational-compatible value.

                                                                                                                                  Get the native rational value of a real, rational-compatible value.

                                                                                                                                  Equations
                                                                                                                                  Instances For

                                                                                                                                    Get the symbol of this term.

                                                                                                                                    Requires that this term has a symbol (see hasSymbol).

                                                                                                                                    The symbol of the term is the string that was provided when constructing it via TermManager.mkConst or TermManager.mkVar.

                                                                                                                                    Equations
                                                                                                                                    Instances For

                                                                                                                                      Get the symbol of this term.

                                                                                                                                      Requires that this term has a symbol (see hasSymbol).

                                                                                                                                      The symbol of the term is the string that was provided when constructing it via TermManager.mkConst or TermManager.mkVar.

                                                                                                                                      Equations
                                                                                                                                      Instances For
                                                                                                                                        @[extern term_getSymbol]

                                                                                                                                        Get the symbol of this term.

                                                                                                                                        Requires that this term has a symbol (see hasSymbol).

                                                                                                                                        The symbol of the term is the string that was provided when constructing it via TermManager.mkConst or TermManager.mkVar.

                                                                                                                                        Get skolem identifier of this term.

                                                                                                                                        Requires isSkolem.

                                                                                                                                        Equations
                                                                                                                                        Instances For
                                                                                                                                          @[extern term_getSkolemId]

                                                                                                                                          Get skolem identifier of this term.

                                                                                                                                          Requires isSkolem.

                                                                                                                                          Get skolem identifier of this term.

                                                                                                                                          Requires isSkolem.

                                                                                                                                          Equations
                                                                                                                                          Instances For

                                                                                                                                            Get the skolem indices of this term.

                                                                                                                                            Requires isSkolem.

                                                                                                                                            Returns the skolem indices of this term. This is a list of terms that the skolem function is indexed by. For example, the array diff skolem SkolemId.ARRAY_DEQ_DIFF is indexed by two arrays.

                                                                                                                                            Equations
                                                                                                                                            Instances For
                                                                                                                                              @[extern term_getSkolemIndices]

                                                                                                                                              Get the skolem indices of this term.

                                                                                                                                              Requires isSkolem.

                                                                                                                                              Returns the skolem indices of this term. This is a list of terms that the skolem function is indexed by. For example, the array diff skolem SkolemId.ARRAY_DEQ_DIFF is indexed by two arrays.

                                                                                                                                              Get the skolem indices of this term.

                                                                                                                                              Requires isSkolem.

                                                                                                                                              Returns the skolem indices of this term. This is a list of terms that the skolem function is indexed by. For example, the array diff skolem SkolemId.ARRAY_DEQ_DIFF is indexed by two arrays.

                                                                                                                                              Equations
                                                                                                                                              Instances For
                                                                                                                                                def cvc5.Term.forIn {m : Type u → Type u_1} {β : Type u} [Monad m] (t : Term) (b : β) (f : Termβm (ForInStep β)) :
                                                                                                                                                m β
                                                                                                                                                Equations
                                                                                                                                                Instances For
                                                                                                                                                  def cvc5.Term.forIn.loop {m : Type u → Type u_1} {β : Type u} [Monad m] (t : Term) (f : Termβm (ForInStep β)) (i : Nat) (h : i t.getNumChildren) (b : β) :
                                                                                                                                                  m β
                                                                                                                                                  Equations
                                                                                                                                                  Instances For
                                                                                                                                                    instance cvc5.Term.instForIn {m : Type u_1 → Type u_2} :
                                                                                                                                                    Equations

                                                                                                                                                    Get the children of a term.

                                                                                                                                                    Equations
                                                                                                                                                    • One or more equations did not get rendered due to their size.
                                                                                                                                                    Instances For

                                                                                                                                                      Boolean negation.

                                                                                                                                                      Equations
                                                                                                                                                      Instances For
                                                                                                                                                        @[extern term_not]

                                                                                                                                                        Boolean negation.

                                                                                                                                                        Boolean negation.

                                                                                                                                                        Equations
                                                                                                                                                        Instances For
                                                                                                                                                          @[extern term_and]
                                                                                                                                                          opaque cvc5.Term.and (lft rgt : Term) :

                                                                                                                                                          Boolean and.

                                                                                                                                                          def cvc5.Term.and! (v0 v1 : Term) :

                                                                                                                                                          Boolean and.

                                                                                                                                                          Equations
                                                                                                                                                          Instances For

                                                                                                                                                            Boolean and.

                                                                                                                                                            Equations
                                                                                                                                                            Instances For
                                                                                                                                                              def cvc5.Term.or! (v0 v1 : Term) :

                                                                                                                                                              Boolean or.

                                                                                                                                                              Equations
                                                                                                                                                              Instances For
                                                                                                                                                                def cvc5.Term.or? (v0 v1 : Term) :

                                                                                                                                                                Boolean or.

                                                                                                                                                                Equations
                                                                                                                                                                Instances For
                                                                                                                                                                  @[extern term_or]
                                                                                                                                                                  opaque cvc5.Term.or (lft rgt : Term) :

                                                                                                                                                                  Boolean or.

                                                                                                                                                                  @[extern term_xor]
                                                                                                                                                                  opaque cvc5.Term.xor (lft rgt : Term) :

                                                                                                                                                                  Boolean exclusive or.

                                                                                                                                                                  def cvc5.Term.xor! (v0 v1 : Term) :

                                                                                                                                                                  Boolean exclusive or.

                                                                                                                                                                  Equations
                                                                                                                                                                  Instances For

                                                                                                                                                                    Boolean exclusive or.

                                                                                                                                                                    Equations
                                                                                                                                                                    Instances For
                                                                                                                                                                      def cvc5.Term.eq? (v0 v1 : Term) :

                                                                                                                                                                      Equality.

                                                                                                                                                                      Equations
                                                                                                                                                                      Instances For
                                                                                                                                                                        @[extern term_eq]
                                                                                                                                                                        opaque cvc5.Term.eq (lft rgt : Term) :

                                                                                                                                                                        Equality.

                                                                                                                                                                        def cvc5.Term.eq! (v0 v1 : Term) :

                                                                                                                                                                        Equality.

                                                                                                                                                                        Equations
                                                                                                                                                                        Instances For

                                                                                                                                                                          Boolean implication.

                                                                                                                                                                          Equations
                                                                                                                                                                          Instances For
                                                                                                                                                                            def cvc5.Term.imp! (v0 v1 : Term) :

                                                                                                                                                                            Boolean implication.

                                                                                                                                                                            Equations
                                                                                                                                                                            Instances For
                                                                                                                                                                              @[extern term_imp]
                                                                                                                                                                              opaque cvc5.Term.imp (lft rgt : Term) :

                                                                                                                                                                              Boolean implication.

                                                                                                                                                                              @[extern term_ite]
                                                                                                                                                                              opaque cvc5.Term.ite (cnd thn els : Term) :

                                                                                                                                                                              If-then-else.

                                                                                                                                                                              • cnd: condition, must be a Boolean term;
                                                                                                                                                                              • thn: then-branch of some sort S;
                                                                                                                                                                              • els: else-branch of the same sort S.
                                                                                                                                                                              def cvc5.Term.ite! (v0 v1 v2 : Term) :

                                                                                                                                                                              If-then-else.

                                                                                                                                                                              • cnd: condition, must be a Boolean term;
                                                                                                                                                                              • thn: then-branch of some sort S;
                                                                                                                                                                              • els: else-branch of the same sort S.
                                                                                                                                                                              Equations
                                                                                                                                                                              Instances For
                                                                                                                                                                                def cvc5.Term.ite? (v0 v1 v2 : Term) :

                                                                                                                                                                                If-then-else.

                                                                                                                                                                                • cnd: condition, must be a Boolean term;
                                                                                                                                                                                • thn: then-branch of some sort S;
                                                                                                                                                                                • els: else-branch of the same sort S.
                                                                                                                                                                                Equations
                                                                                                                                                                                Instances For
                                                                                                                                                                                  @[extern term_toString]

                                                                                                                                                                                  A string representation of this term.

                                                                                                                                                                                  @[extern proof_null]

                                                                                                                                                                                  The null proof.

                                                                                                                                                                                  @[extern proof_getRule]

                                                                                                                                                                                  Get the proof rule used by the root step of the root.

                                                                                                                                                                                  Get the proof rewrite rule used by the root step of the proof.

                                                                                                                                                                                  Requires that getRule does not return ProofRule.DSL_REWRITE or ProofRule.REWRITE.

                                                                                                                                                                                  Equations
                                                                                                                                                                                  Instances For
                                                                                                                                                                                    @[extern proof_getRewriteRule]

                                                                                                                                                                                    Get the proof rewrite rule used by the root step of the proof.

                                                                                                                                                                                    Requires that getRule does not return ProofRule.DSL_REWRITE or ProofRule.REWRITE.

                                                                                                                                                                                    Get the proof rewrite rule used by the root step of the proof.

                                                                                                                                                                                    Requires that getRule does not return ProofRule.DSL_REWRITE or ProofRule.REWRITE.

                                                                                                                                                                                    Equations
                                                                                                                                                                                    Instances For
                                                                                                                                                                                      @[extern proof_getResult]

                                                                                                                                                                                      The conclusion of the root step of the proof.

                                                                                                                                                                                      @[extern proof_getChildren]

                                                                                                                                                                                      The premises of the root step of the proof.

                                                                                                                                                                                      @[extern proof_getArguments]

                                                                                                                                                                                      The arguments of the root step of the proof as a vector of terms.

                                                                                                                                                                                      Some of those terms might be strings.

                                                                                                                                                                                      @[extern proof_beq]
                                                                                                                                                                                      opaque cvc5.Proof.beq :
                                                                                                                                                                                      ProofProofBool

                                                                                                                                                                                      Operator overloading for referential equality of two proofs.

                                                                                                                                                                                      @[extern proof_hash]

                                                                                                                                                                                      Hash function for proofs.

                                                                                                                                                                                      @[extern termManager_new]

                                                                                                                                                                                      Constructor.

                                                                                                                                                                                      @[extern termManager_getBooleanSort]

                                                                                                                                                                                      Get the Boolean sort.

                                                                                                                                                                                      @[extern termManager_getIntegerSort]

                                                                                                                                                                                      Get the Integer sort.

                                                                                                                                                                                      @[extern termManager_getRealSort]

                                                                                                                                                                                      Get the Real sort.

                                                                                                                                                                                      @[extern termManager_getRegExpSort]

                                                                                                                                                                                      Get the regular expression sort.

                                                                                                                                                                                      @[extern termManager_getRoundingModeSort]

                                                                                                                                                                                      Get the rounding mode sort.

                                                                                                                                                                                      @[extern termManager_getStringSort]

                                                                                                                                                                                      Get the string sort.

                                                                                                                                                                                      Create an array sort.

                                                                                                                                                                                      • indexSort The array index sort.
                                                                                                                                                                                      • elemSort The array element sort.
                                                                                                                                                                                      Equations
                                                                                                                                                                                      Instances For

                                                                                                                                                                                        Create an array sort.

                                                                                                                                                                                        • indexSort The array index sort.
                                                                                                                                                                                        • elemSort The array element sort.
                                                                                                                                                                                        Equations
                                                                                                                                                                                        Instances For
                                                                                                                                                                                          @[extern termManager_mkArraySort]
                                                                                                                                                                                          opaque cvc5.TermManager.mkArraySort :
                                                                                                                                                                                          TermManager(indexSort elemSort : «Sort») → Except Error «Sort»

                                                                                                                                                                                          Create an array sort.

                                                                                                                                                                                          • indexSort The array index sort.
                                                                                                                                                                                          • elemSort The array element sort.

                                                                                                                                                                                          Create a bit-vector sort.

                                                                                                                                                                                          • size The bit-width of the bit-vector sort.
                                                                                                                                                                                          Equations
                                                                                                                                                                                          Instances For

                                                                                                                                                                                            Create a bit-vector sort.

                                                                                                                                                                                            • size The bit-width of the bit-vector sort.
                                                                                                                                                                                            Equations
                                                                                                                                                                                            Instances For
                                                                                                                                                                                              @[extern termManager_mkBitVectorSort]

                                                                                                                                                                                              Create a bit-vector sort.

                                                                                                                                                                                              • size The bit-width of the bit-vector sort.

                                                                                                                                                                                              Create a floating-point sort.

                                                                                                                                                                                              • exp The bit-width of the exponent of the floating-point sort.
                                                                                                                                                                                              • sig The bit-width of the significand of the floating-point sort.
                                                                                                                                                                                              Equations
                                                                                                                                                                                              Instances For
                                                                                                                                                                                                @[extern termManager_mkFloatingPointSort]

                                                                                                                                                                                                Create a floating-point sort.

                                                                                                                                                                                                • exp The bit-width of the exponent of the floating-point sort.
                                                                                                                                                                                                • sig The bit-width of the significand of the floating-point sort.

                                                                                                                                                                                                Create a floating-point sort.

                                                                                                                                                                                                • exp The bit-width of the exponent of the floating-point sort.
                                                                                                                                                                                                • sig The bit-width of the significand of the floating-point sort.
                                                                                                                                                                                                Equations
                                                                                                                                                                                                Instances For
                                                                                                                                                                                                  @[reducible, inline]

                                                                                                                                                                                                  Create a finite-field sort from a given string of base n.

                                                                                                                                                                                                  • size The modulus of the field. Must be a prime.
                                                                                                                                                                                                  Equations
                                                                                                                                                                                                  Instances For
                                                                                                                                                                                                    @[reducible, inline]

                                                                                                                                                                                                    Create a finite-field sort from a given string of base n.

                                                                                                                                                                                                    • size The modulus of the field. Must be a prime.
                                                                                                                                                                                                    Equations
                                                                                                                                                                                                    Instances For
                                                                                                                                                                                                      @[reducible, inline]

                                                                                                                                                                                                      Create a finite-field sort from a given string of base n.

                                                                                                                                                                                                      • size The modulus of the field. Must be a prime.
                                                                                                                                                                                                      Equations
                                                                                                                                                                                                      Instances For

                                                                                                                                                                                                        Create function sort.

                                                                                                                                                                                                        • sorts The sort of the function arguments.
                                                                                                                                                                                                        • codomain The sort of the function return value.
                                                                                                                                                                                                        Equations
                                                                                                                                                                                                        Instances For
                                                                                                                                                                                                          @[extern termManager_mkFunctionSort]

                                                                                                                                                                                                          Create function sort.

                                                                                                                                                                                                          • sorts The sort of the function arguments.
                                                                                                                                                                                                          • codomain The sort of the function return value.

                                                                                                                                                                                                          Create function sort.

                                                                                                                                                                                                          • sorts The sort of the function arguments.
                                                                                                                                                                                                          • codomain The sort of the function return value.
                                                                                                                                                                                                          Equations
                                                                                                                                                                                                          Instances For

                                                                                                                                                                                                            Create a predicate sort.

                                                                                                                                                                                                            This is equivalent to calling mkFunctionSort with Boolean sort as the codomain.

                                                                                                                                                                                                            • sorts The list of sorts of the predicate.
                                                                                                                                                                                                            Equations
                                                                                                                                                                                                            Instances For

                                                                                                                                                                                                              Create a predicate sort.

                                                                                                                                                                                                              This is equivalent to calling mkFunctionSort with Boolean sort as the codomain.

                                                                                                                                                                                                              • sorts The list of sorts of the predicate.
                                                                                                                                                                                                              Equations
                                                                                                                                                                                                              Instances For
                                                                                                                                                                                                                @[extern termManager_mkPredicateSort]

                                                                                                                                                                                                                Create a predicate sort.

                                                                                                                                                                                                                This is equivalent to calling mkFunctionSort with Boolean sort as the codomain.

                                                                                                                                                                                                                • sorts The list of sorts of the predicate.

                                                                                                                                                                                                                Create a tuple sort.

                                                                                                                                                                                                                • sorts The sorts of the elements of the tuple.
                                                                                                                                                                                                                Equations
                                                                                                                                                                                                                Instances For

                                                                                                                                                                                                                  Create a tuple sort.

                                                                                                                                                                                                                  • sorts The sorts of the elements of the tuple.
                                                                                                                                                                                                                  Equations
                                                                                                                                                                                                                  Instances For
                                                                                                                                                                                                                    @[extern termManager_mkTupleSort]

                                                                                                                                                                                                                    Create a tuple sort.

                                                                                                                                                                                                                    • sorts The sorts of the elements of the tuple.

                                                                                                                                                                                                                    Create an uninterpreted sort constructor sort.

                                                                                                                                                                                                                    An uninterpreted sort constructor is an uninterpreted sort with arity > 0.

                                                                                                                                                                                                                    • arity The arity of the sort (must be > 0).
                                                                                                                                                                                                                    • symbol The symbol of the sort.
                                                                                                                                                                                                                    Equations
                                                                                                                                                                                                                    Instances For
                                                                                                                                                                                                                      @[extern termManager_mkUninterpretedSortConstructorSort]

                                                                                                                                                                                                                      Create an uninterpreted sort constructor sort.

                                                                                                                                                                                                                      An uninterpreted sort constructor is an uninterpreted sort with arity > 0.

                                                                                                                                                                                                                      • arity The arity of the sort (must be > 0).
                                                                                                                                                                                                                      • symbol The symbol of the sort.

                                                                                                                                                                                                                      Create an uninterpreted sort constructor sort.

                                                                                                                                                                                                                      An uninterpreted sort constructor is an uninterpreted sort with arity > 0.

                                                                                                                                                                                                                      • arity The arity of the sort (must be > 0).
                                                                                                                                                                                                                      • symbol The symbol of the sort.
                                                                                                                                                                                                                      Equations
                                                                                                                                                                                                                      Instances For

                                                                                                                                                                                                                        Create a set parameter.

                                                                                                                                                                                                                        • elemSort The sort of the set elements.
                                                                                                                                                                                                                        Equations
                                                                                                                                                                                                                        Instances For
                                                                                                                                                                                                                          @[extern termManager_mkSetSort]

                                                                                                                                                                                                                          Create a set parameter.

                                                                                                                                                                                                                          • elemSort The sort of the set elements.

                                                                                                                                                                                                                          Create a set parameter.

                                                                                                                                                                                                                          • elemSort The sort of the set elements.
                                                                                                                                                                                                                          Equations
                                                                                                                                                                                                                          Instances For

                                                                                                                                                                                                                            Create a set parameter.

                                                                                                                                                                                                                            • elemSort The sort of the set elements.
                                                                                                                                                                                                                            Equations
                                                                                                                                                                                                                            Instances For

                                                                                                                                                                                                                              Create a set parameter.

                                                                                                                                                                                                                              • elemSort The sort of the set elements.
                                                                                                                                                                                                                              Equations
                                                                                                                                                                                                                              Instances For
                                                                                                                                                                                                                                @[extern termManager_mkBagSort]

                                                                                                                                                                                                                                Create a set parameter.

                                                                                                                                                                                                                                • elemSort The sort of the set elements.

                                                                                                                                                                                                                                Create a set parameter.

                                                                                                                                                                                                                                • elemSort The sort of the set elements.
                                                                                                                                                                                                                                Equations
                                                                                                                                                                                                                                Instances For

                                                                                                                                                                                                                                  Create a set parameter.

                                                                                                                                                                                                                                  • elemSort The sort of the set elements.
                                                                                                                                                                                                                                  Equations
                                                                                                                                                                                                                                  Instances For
                                                                                                                                                                                                                                    @[extern termManager_mkSequenceSort]

                                                                                                                                                                                                                                    Create a set parameter.

                                                                                                                                                                                                                                    • elemSort The sort of the set elements.
                                                                                                                                                                                                                                    @[extern termManager_mkAbstractSort]

                                                                                                                                                                                                                                    Create an abstract sort. An abstract sort represents a sort for a given kind whose parameters and arguments are unspecified.

                                                                                                                                                                                                                                    The kind k must be the kind of a sort that can be abstracted, i.e. a sort that has indices or arguments sorts. For example, SortKind.ARRAY_SORT and SortKind.BITVECTOR_SORT can be passed as the kind k to this function, while SortKind.INTEGER_SORT and SortKind.STRING_SORT cannot.

                                                                                                                                                                                                                                    NB: Providing the kind SortKind.ABSTRACT_SORT as an argument to this function returns the (fully) unspecified sort, denoted ?.

                                                                                                                                                                                                                                    NB: Providing a kind k that has no indices and a fixed arity of argument sorts will return the sort of kind k whose arguments are the unspecified sort. For example, mkAbstractSort SortKind.ARRAY_SORT will return the sort (ARRAY_SORT ? ?) instead of the abstract sort whose abstract kind is SortKind.ARRAY_SORT.

                                                                                                                                                                                                                                    Create an abstract sort. An abstract sort represents a sort for a given kind whose parameters and arguments are unspecified.

                                                                                                                                                                                                                                    The kind k must be the kind of a sort that can be abstracted, i.e. a sort that has indices or arguments sorts. For example, SortKind.ARRAY_SORT and SortKind.BITVECTOR_SORT can be passed as the kind k to this function, while SortKind.INTEGER_SORT and SortKind.STRING_SORT cannot.

                                                                                                                                                                                                                                    NB: Providing the kind SortKind.ABSTRACT_SORT as an argument to this function returns the (fully) unspecified sort, denoted ?.

                                                                                                                                                                                                                                    NB: Providing a kind k that has no indices and a fixed arity of argument sorts will return the sort of kind k whose arguments are the unspecified sort. For example, mkAbstractSort SortKind.ARRAY_SORT will return the sort (ARRAY_SORT ? ?) instead of the abstract sort whose abstract kind is SortKind.ARRAY_SORT.

                                                                                                                                                                                                                                    Equations
                                                                                                                                                                                                                                    Instances For

                                                                                                                                                                                                                                      Create an abstract sort. An abstract sort represents a sort for a given kind whose parameters and arguments are unspecified.

                                                                                                                                                                                                                                      The kind k must be the kind of a sort that can be abstracted, i.e. a sort that has indices or arguments sorts. For example, SortKind.ARRAY_SORT and SortKind.BITVECTOR_SORT can be passed as the kind k to this function, while SortKind.INTEGER_SORT and SortKind.STRING_SORT cannot.

                                                                                                                                                                                                                                      NB: Providing the kind SortKind.ABSTRACT_SORT as an argument to this function returns the (fully) unspecified sort, denoted ?.

                                                                                                                                                                                                                                      NB: Providing a kind k that has no indices and a fixed arity of argument sorts will return the sort of kind k whose arguments are the unspecified sort. For example, mkAbstractSort SortKind.ARRAY_SORT will return the sort (ARRAY_SORT ? ?) instead of the abstract sort whose abstract kind is SortKind.ARRAY_SORT.

                                                                                                                                                                                                                                      Equations
                                                                                                                                                                                                                                      Instances For
                                                                                                                                                                                                                                        @[extern termManager_mkUninterpretedSort]

                                                                                                                                                                                                                                        Create an uninterpreted sort.

                                                                                                                                                                                                                                        • symbol The name of the sort.
                                                                                                                                                                                                                                        @[extern termManager_mkNullableSort]

                                                                                                                                                                                                                                        Create a nullable sort.

                                                                                                                                                                                                                                        • sort The sort of the element of the nullable.

                                                                                                                                                                                                                                        Create a nullable sort.

                                                                                                                                                                                                                                        • sort The sort of the element of the nullable.
                                                                                                                                                                                                                                        Equations
                                                                                                                                                                                                                                        Instances For

                                                                                                                                                                                                                                          Create a nullable sort.

                                                                                                                                                                                                                                          • sort The sort of the element of the nullable.
                                                                                                                                                                                                                                          Equations
                                                                                                                                                                                                                                          Instances For
                                                                                                                                                                                                                                            @[extern termManager_mkParamSort]

                                                                                                                                                                                                                                            Create a sort parameter.

                                                                                                                                                                                                                                            • symbol The name of the sort.

                                                                                                                                                                                                                                            Warning: This function is experimental and may change in future versions.

                                                                                                                                                                                                                                            @[extern termManager_mkBoolean]

                                                                                                                                                                                                                                            Create a Boolean constant.

                                                                                                                                                                                                                                            • b: The Boolean constant.
                                                                                                                                                                                                                                            def cvc5.TermManager.mkReal (tm : TermManager) (num : Int) (den : Int := 1) (den_ne_0 : den 0 := by simp <;> omega) :

                                                                                                                                                                                                                                            Create a real-value term from numerator/denominator Int-s.

                                                                                                                                                                                                                                            Equations
                                                                                                                                                                                                                                            Instances For
                                                                                                                                                                                                                                              @[extern termManager_mkOpOfIndices]

                                                                                                                                                                                                                                              Create operator of Kind:

                                                                                                                                                                                                                                              • Kind.BITVECTOR_EXTRACT
                                                                                                                                                                                                                                              • Kind.BITVECTOR_REPEAT
                                                                                                                                                                                                                                              • Kind.BITVECTOR_ROTATE_LEFT
                                                                                                                                                                                                                                              • Kind.BITVECTOR_ROTATE_RIGHT
                                                                                                                                                                                                                                              • Kind.BITVECTOR_SIGN_EXTEND
                                                                                                                                                                                                                                              • Kind.BITVECTOR_ZERO_EXTEND
                                                                                                                                                                                                                                              • Kind.DIVISIBLE
                                                                                                                                                                                                                                              • Kind.FLOATINGPOINT_TO_FP_FROM_FP
                                                                                                                                                                                                                                              • Kind.FLOATINGPOINT_TO_FP_FROM_IEEE_BV
                                                                                                                                                                                                                                              • Kind.FLOATINGPOINT_TO_FP_FROM_REAL
                                                                                                                                                                                                                                              • Kind.FLOATINGPOINT_TO_FP_FROM_SBV
                                                                                                                                                                                                                                              • Kind.FLOATINGPOINT_TO_FP_FROM_UBV
                                                                                                                                                                                                                                              • Kind.FLOATINGPOINT_TO_SBV
                                                                                                                                                                                                                                              • Kind.FLOATINGPOINT_TO_UBV
                                                                                                                                                                                                                                              • Kind.INT_TO_BITVECTOR
                                                                                                                                                                                                                                              • Kind.TUPLE_PROJECT

                                                                                                                                                                                                                                              See cvc5.Kind for a description of the parameters.

                                                                                                                                                                                                                                              • kind The kind of the operator.
                                                                                                                                                                                                                                              • args The arguments (indices) of the operator.

                                                                                                                                                                                                                                              If args is empty, the Op simply wraps the cvc5.Kind. The Kind can be used in Solver.mkTerm directly without creating an Op first.

                                                                                                                                                                                                                                              Create operator of Kind:

                                                                                                                                                                                                                                              • Kind.BITVECTOR_EXTRACT
                                                                                                                                                                                                                                              • Kind.BITVECTOR_REPEAT
                                                                                                                                                                                                                                              • Kind.BITVECTOR_ROTATE_LEFT
                                                                                                                                                                                                                                              • Kind.BITVECTOR_ROTATE_RIGHT
                                                                                                                                                                                                                                              • Kind.BITVECTOR_SIGN_EXTEND
                                                                                                                                                                                                                                              • Kind.BITVECTOR_ZERO_EXTEND
                                                                                                                                                                                                                                              • Kind.DIVISIBLE
                                                                                                                                                                                                                                              • Kind.FLOATINGPOINT_TO_FP_FROM_FP
                                                                                                                                                                                                                                              • Kind.FLOATINGPOINT_TO_FP_FROM_IEEE_BV
                                                                                                                                                                                                                                              • Kind.FLOATINGPOINT_TO_FP_FROM_REAL
                                                                                                                                                                                                                                              • Kind.FLOATINGPOINT_TO_FP_FROM_SBV
                                                                                                                                                                                                                                              • Kind.FLOATINGPOINT_TO_FP_FROM_UBV
                                                                                                                                                                                                                                              • Kind.FLOATINGPOINT_TO_SBV
                                                                                                                                                                                                                                              • Kind.FLOATINGPOINT_TO_UBV
                                                                                                                                                                                                                                              • Kind.INT_TO_BITVECTOR
                                                                                                                                                                                                                                              • Kind.TUPLE_PROJECT

                                                                                                                                                                                                                                              See cvc5.Kind for a description of the parameters.

                                                                                                                                                                                                                                              • kind The kind of the operator.
                                                                                                                                                                                                                                              • args The arguments (indices) of the operator.

                                                                                                                                                                                                                                              If args is empty, the Op simply wraps the cvc5.Kind. The Kind can be used in Solver.mkTerm directly without creating an Op first.

                                                                                                                                                                                                                                              Equations
                                                                                                                                                                                                                                              Instances For

                                                                                                                                                                                                                                                Create operator of Kind:

                                                                                                                                                                                                                                                • Kind.BITVECTOR_EXTRACT
                                                                                                                                                                                                                                                • Kind.BITVECTOR_REPEAT
                                                                                                                                                                                                                                                • Kind.BITVECTOR_ROTATE_LEFT
                                                                                                                                                                                                                                                • Kind.BITVECTOR_ROTATE_RIGHT
                                                                                                                                                                                                                                                • Kind.BITVECTOR_SIGN_EXTEND
                                                                                                                                                                                                                                                • Kind.BITVECTOR_ZERO_EXTEND
                                                                                                                                                                                                                                                • Kind.DIVISIBLE
                                                                                                                                                                                                                                                • Kind.FLOATINGPOINT_TO_FP_FROM_FP
                                                                                                                                                                                                                                                • Kind.FLOATINGPOINT_TO_FP_FROM_IEEE_BV
                                                                                                                                                                                                                                                • Kind.FLOATINGPOINT_TO_FP_FROM_REAL
                                                                                                                                                                                                                                                • Kind.FLOATINGPOINT_TO_FP_FROM_SBV
                                                                                                                                                                                                                                                • Kind.FLOATINGPOINT_TO_FP_FROM_UBV
                                                                                                                                                                                                                                                • Kind.FLOATINGPOINT_TO_SBV
                                                                                                                                                                                                                                                • Kind.FLOATINGPOINT_TO_UBV
                                                                                                                                                                                                                                                • Kind.INT_TO_BITVECTOR
                                                                                                                                                                                                                                                • Kind.TUPLE_PROJECT

                                                                                                                                                                                                                                                See cvc5.Kind for a description of the parameters.

                                                                                                                                                                                                                                                • kind The kind of the operator.
                                                                                                                                                                                                                                                • args The arguments (indices) of the operator.

                                                                                                                                                                                                                                                If args is empty, the Op simply wraps the cvc5.Kind. The Kind can be used in Solver.mkTerm directly without creating an Op first.

                                                                                                                                                                                                                                                Equations
                                                                                                                                                                                                                                                Instances For
                                                                                                                                                                                                                                                  @[reducible, inline]
                                                                                                                                                                                                                                                  abbrev cvc5.TermManager.mkOp :
                                                                                                                                                                                                                                                  TermManager(kind : Kind) → (args : optParam (Array Nat) #[]) → Except Error Op

                                                                                                                                                                                                                                                  Create operator of Kind:

                                                                                                                                                                                                                                                  • Kind.BITVECTOR_EXTRACT
                                                                                                                                                                                                                                                  • Kind.BITVECTOR_REPEAT
                                                                                                                                                                                                                                                  • Kind.BITVECTOR_ROTATE_LEFT
                                                                                                                                                                                                                                                  • Kind.BITVECTOR_ROTATE_RIGHT
                                                                                                                                                                                                                                                  • Kind.BITVECTOR_SIGN_EXTEND
                                                                                                                                                                                                                                                  • Kind.BITVECTOR_ZERO_EXTEND
                                                                                                                                                                                                                                                  • Kind.DIVISIBLE
                                                                                                                                                                                                                                                  • Kind.FLOATINGPOINT_TO_FP_FROM_FP
                                                                                                                                                                                                                                                  • Kind.FLOATINGPOINT_TO_FP_FROM_IEEE_BV
                                                                                                                                                                                                                                                  • Kind.FLOATINGPOINT_TO_FP_FROM_REAL
                                                                                                                                                                                                                                                  • Kind.FLOATINGPOINT_TO_FP_FROM_SBV
                                                                                                                                                                                                                                                  • Kind.FLOATINGPOINT_TO_FP_FROM_UBV
                                                                                                                                                                                                                                                  • Kind.FLOATINGPOINT_TO_SBV
                                                                                                                                                                                                                                                  • Kind.FLOATINGPOINT_TO_UBV
                                                                                                                                                                                                                                                  • Kind.INT_TO_BITVECTOR
                                                                                                                                                                                                                                                  • Kind.TUPLE_PROJECT

                                                                                                                                                                                                                                                  See cvc5.Kind for a description of the parameters.

                                                                                                                                                                                                                                                  • kind The kind of the operator.
                                                                                                                                                                                                                                                  • args The arguments (indices) of the operator.

                                                                                                                                                                                                                                                  If args is empty, the Op simply wraps the cvc5.Kind. The Kind can be used in Solver.mkTerm directly without creating an Op first.

                                                                                                                                                                                                                                                  Equations
                                                                                                                                                                                                                                                  Instances For
                                                                                                                                                                                                                                                    @[reducible, inline]
                                                                                                                                                                                                                                                    abbrev cvc5.TermManager.mkOp! (v0 : TermManager) (v1 : Kind) (v2 : Array Nat) :

                                                                                                                                                                                                                                                    Create operator of Kind:

                                                                                                                                                                                                                                                    • Kind.BITVECTOR_EXTRACT
                                                                                                                                                                                                                                                    • Kind.BITVECTOR_REPEAT
                                                                                                                                                                                                                                                    • Kind.BITVECTOR_ROTATE_LEFT
                                                                                                                                                                                                                                                    • Kind.BITVECTOR_ROTATE_RIGHT
                                                                                                                                                                                                                                                    • Kind.BITVECTOR_SIGN_EXTEND
                                                                                                                                                                                                                                                    • Kind.BITVECTOR_ZERO_EXTEND
                                                                                                                                                                                                                                                    • Kind.DIVISIBLE
                                                                                                                                                                                                                                                    • Kind.FLOATINGPOINT_TO_FP_FROM_FP
                                                                                                                                                                                                                                                    • Kind.FLOATINGPOINT_TO_FP_FROM_IEEE_BV
                                                                                                                                                                                                                                                    • Kind.FLOATINGPOINT_TO_FP_FROM_REAL
                                                                                                                                                                                                                                                    • Kind.FLOATINGPOINT_TO_FP_FROM_SBV
                                                                                                                                                                                                                                                    • Kind.FLOATINGPOINT_TO_FP_FROM_UBV
                                                                                                                                                                                                                                                    • Kind.FLOATINGPOINT_TO_SBV
                                                                                                                                                                                                                                                    • Kind.FLOATINGPOINT_TO_UBV
                                                                                                                                                                                                                                                    • Kind.INT_TO_BITVECTOR
                                                                                                                                                                                                                                                    • Kind.TUPLE_PROJECT

                                                                                                                                                                                                                                                    See cvc5.Kind for a description of the parameters.

                                                                                                                                                                                                                                                    • kind The kind of the operator.
                                                                                                                                                                                                                                                    • args The arguments (indices) of the operator.

                                                                                                                                                                                                                                                    If args is empty, the Op simply wraps the cvc5.Kind. The Kind can be used in Solver.mkTerm directly without creating an Op first.

                                                                                                                                                                                                                                                    Equations
                                                                                                                                                                                                                                                    Instances For
                                                                                                                                                                                                                                                      @[reducible, inline]

                                                                                                                                                                                                                                                      Create operator of Kind:

                                                                                                                                                                                                                                                      • Kind.BITVECTOR_EXTRACT
                                                                                                                                                                                                                                                      • Kind.BITVECTOR_REPEAT
                                                                                                                                                                                                                                                      • Kind.BITVECTOR_ROTATE_LEFT
                                                                                                                                                                                                                                                      • Kind.BITVECTOR_ROTATE_RIGHT
                                                                                                                                                                                                                                                      • Kind.BITVECTOR_SIGN_EXTEND
                                                                                                                                                                                                                                                      • Kind.BITVECTOR_ZERO_EXTEND
                                                                                                                                                                                                                                                      • Kind.DIVISIBLE
                                                                                                                                                                                                                                                      • Kind.FLOATINGPOINT_TO_FP_FROM_FP
                                                                                                                                                                                                                                                      • Kind.FLOATINGPOINT_TO_FP_FROM_IEEE_BV
                                                                                                                                                                                                                                                      • Kind.FLOATINGPOINT_TO_FP_FROM_REAL
                                                                                                                                                                                                                                                      • Kind.FLOATINGPOINT_TO_FP_FROM_SBV
                                                                                                                                                                                                                                                      • Kind.FLOATINGPOINT_TO_FP_FROM_UBV
                                                                                                                                                                                                                                                      • Kind.FLOATINGPOINT_TO_SBV
                                                                                                                                                                                                                                                      • Kind.FLOATINGPOINT_TO_UBV
                                                                                                                                                                                                                                                      • Kind.INT_TO_BITVECTOR
                                                                                                                                                                                                                                                      • Kind.TUPLE_PROJECT

                                                                                                                                                                                                                                                      See cvc5.Kind for a description of the parameters.

                                                                                                                                                                                                                                                      • kind The kind of the operator.
                                                                                                                                                                                                                                                      • args The arguments (indices) of the operator.

                                                                                                                                                                                                                                                      If args is empty, the Op simply wraps the cvc5.Kind. The Kind can be used in Solver.mkTerm directly without creating an Op first.

                                                                                                                                                                                                                                                      Equations
                                                                                                                                                                                                                                                      Instances For

                                                                                                                                                                                                                                                        Create operator of kind:

                                                                                                                                                                                                                                                        • Kind.DIVISIBLE (to support arbitrary precision integers)

                                                                                                                                                                                                                                                        See cvc5.Kind for a description of the parameters.

                                                                                                                                                                                                                                                        • kind The kind of the operator.
                                                                                                                                                                                                                                                        • arg The string argument to this operator.
                                                                                                                                                                                                                                                        Equations
                                                                                                                                                                                                                                                        Instances For

                                                                                                                                                                                                                                                          Create operator of kind:

                                                                                                                                                                                                                                                          • Kind.DIVISIBLE (to support arbitrary precision integers)

                                                                                                                                                                                                                                                          See cvc5.Kind for a description of the parameters.

                                                                                                                                                                                                                                                          • kind The kind of the operator.
                                                                                                                                                                                                                                                          • arg The string argument to this operator.
                                                                                                                                                                                                                                                          Equations
                                                                                                                                                                                                                                                          Instances For
                                                                                                                                                                                                                                                            @[extern termManager_mkOpOfString]
                                                                                                                                                                                                                                                            opaque cvc5.TermManager.mkOpOfString :
                                                                                                                                                                                                                                                            TermManager(kind : Kind) → (arg : String) → Except Error Op

                                                                                                                                                                                                                                                            Create operator of kind:

                                                                                                                                                                                                                                                            • Kind.DIVISIBLE (to support arbitrary precision integers)

                                                                                                                                                                                                                                                            See cvc5.Kind for a description of the parameters.

                                                                                                                                                                                                                                                            • kind The kind of the operator.
                                                                                                                                                                                                                                                            • arg The string argument to this operator.

                                                                                                                                                                                                                                                            Create n-ary term of given kind.

                                                                                                                                                                                                                                                            • kind The kind of the term.
                                                                                                                                                                                                                                                            • children The children of the term.
                                                                                                                                                                                                                                                            Equations
                                                                                                                                                                                                                                                            Instances For
                                                                                                                                                                                                                                                              @[extern termManager_mkTerm]
                                                                                                                                                                                                                                                              opaque cvc5.TermManager.mkTerm :
                                                                                                                                                                                                                                                              TermManager(kind : Kind) → (children : optParam (Array Term) #[]) → Except Error Term

                                                                                                                                                                                                                                                              Create n-ary term of given kind.

                                                                                                                                                                                                                                                              • kind The kind of the term.
                                                                                                                                                                                                                                                              • children The children of the term.

                                                                                                                                                                                                                                                              Create n-ary term of given kind.

                                                                                                                                                                                                                                                              • kind The kind of the term.
                                                                                                                                                                                                                                                              • children The children of the term.
                                                                                                                                                                                                                                                              Equations
                                                                                                                                                                                                                                                              Instances For
                                                                                                                                                                                                                                                                @[extern termManager_mkTermOfOp]
                                                                                                                                                                                                                                                                opaque cvc5.TermManager.mkTermOfOp :
                                                                                                                                                                                                                                                                TermManager(op : Op) → (children : optParam (Array Term) #[]) → Except Error Term

                                                                                                                                                                                                                                                                Create n-ary term of given kind from a given operator.

                                                                                                                                                                                                                                                                Create operators with mkOp.

                                                                                                                                                                                                                                                                • op The operator.
                                                                                                                                                                                                                                                                • children The children of the term.

                                                                                                                                                                                                                                                                Create n-ary term of given kind from a given operator.

                                                                                                                                                                                                                                                                Create operators with mkOp.

                                                                                                                                                                                                                                                                • op The operator.
                                                                                                                                                                                                                                                                • children The children of the term.
                                                                                                                                                                                                                                                                Equations
                                                                                                                                                                                                                                                                Instances For

                                                                                                                                                                                                                                                                  Create n-ary term of given kind from a given operator.

                                                                                                                                                                                                                                                                  Create operators with mkOp.

                                                                                                                                                                                                                                                                  • op The operator.
                                                                                                                                                                                                                                                                  • children The children of the term.
                                                                                                                                                                                                                                                                  Equations
                                                                                                                                                                                                                                                                  Instances For
                                                                                                                                                                                                                                                                    @[extern solver_getVersion]
                                                                                                                                                                                                                                                                    opaque cvc5.Solver.getVersion {m : TypeType u_1} [Monad m] :

                                                                                                                                                                                                                                                                    Get a string representation of the version of this solver.

                                                                                                                                                                                                                                                                    @[extern solver_setOption]
                                                                                                                                                                                                                                                                    opaque cvc5.Solver.setOption {m : TypeType u_1} [Monad m] (option value : String) :

                                                                                                                                                                                                                                                                    Set option.

                                                                                                                                                                                                                                                                    • option: The option name.
                                                                                                                                                                                                                                                                    • value: The option value.
                                                                                                                                                                                                                                                                    @[extern solver_resetAssertions]

                                                                                                                                                                                                                                                                    Remove all assertions.

                                                                                                                                                                                                                                                                    @[extern solver_setLogic]
                                                                                                                                                                                                                                                                    opaque cvc5.Solver.setLogic {m : TypeType u_1} [Monad m] (logic : String) :

                                                                                                                                                                                                                                                                    Set logic.

                                                                                                                                                                                                                                                                    • logic: The logic to set.
                                                                                                                                                                                                                                                                    @[extern solver_simplify]
                                                                                                                                                                                                                                                                    opaque cvc5.Solver.simplify {m : TypeType u_1} [Monad m] (term : Term) (applySubs : Bool := false) :

                                                                                                                                                                                                                                                                    Simplify a term or formula based on rewriting and (optionally) applying substitutions for solved variables.

                                                                                                                                                                                                                                                                    If applySubs is true, then for example, if (= x 0) was asserted to this solver, this function may replace occurrences of x with 0.

                                                                                                                                                                                                                                                                    • t The term to simplify.
                                                                                                                                                                                                                                                                    • applySubs True to apply substitutions for solved variables.
                                                                                                                                                                                                                                                                    @[extern solver_declareFun]
                                                                                                                                                                                                                                                                    opaque cvc5.Solver.declareFun {m : TypeType u_1} [Monad m] (symbol : String) (sorts : Array «Sort») (sort : «Sort») (fresh : Bool := true) :

                                                                                                                                                                                                                                                                    Declare n-ary function symbol.

                                                                                                                                                                                                                                                                    SMT-LIB:

                                                                                                                                                                                                                                                                    \verbatim embed:rst:leading-asterisk .. code:: smtlib

                                                                                                                                                                                                                                                                     (declare-fun <symbol> ( <sort>* ) <sort>)
                                                                                                                                                                                                                                                                    

                                                                                                                                                                                                                                                                    \endverbatim

                                                                                                                                                                                                                                                                    • symbol: The name of the function.
                                                                                                                                                                                                                                                                    • sorts: The sorts of the parameters to this function.
                                                                                                                                                                                                                                                                    • sort: The sort of the return value of this function.
                                                                                                                                                                                                                                                                    • fresh: If true, then this method always returns a new Term. Otherwise, this method will always return the same Term for each call with the given sorts and symbol where fresh is false.
                                                                                                                                                                                                                                                                    @[extern solver_assertFormula]
                                                                                                                                                                                                                                                                    opaque cvc5.Solver.assertFormula {m : TypeType u_1} [Monad m] :

                                                                                                                                                                                                                                                                    Assert a formula.

                                                                                                                                                                                                                                                                    • term: The formula to assert.
                                                                                                                                                                                                                                                                    @[extern solver_checkSat]
                                                                                                                                                                                                                                                                    opaque cvc5.Solver.checkSat {m : TypeType u_1} [Monad m] :

                                                                                                                                                                                                                                                                    Check satisfiability.

                                                                                                                                                                                                                                                                    @[extern solver_checkSatAssuming]
                                                                                                                                                                                                                                                                    opaque cvc5.Solver.checkSatAssuming {m : TypeType u_1} [Monad m] (assumptions : Array Term) :

                                                                                                                                                                                                                                                                    Check satisfiability assuming the given formulas.

                                                                                                                                                                                                                                                                    • assumptions: The formulas to assume.
                                                                                                                                                                                                                                                                    @[extern solver_getProof]
                                                                                                                                                                                                                                                                    opaque cvc5.Solver.getProof {m : TypeType u_1} [Monad m] :

                                                                                                                                                                                                                                                                    Get a proof associated with the most recent call to checkSat.

                                                                                                                                                                                                                                                                    Requires to enable option produce-proofs.

                                                                                                                                                                                                                                                                    @[extern solver_getValue]
                                                                                                                                                                                                                                                                    opaque cvc5.Solver.getValue {m : TypeType u_1} [Monad m] (term : Term) :

                                                                                                                                                                                                                                                                    Get the values of the given term in the current model.

                                                                                                                                                                                                                                                                    SMT-LIB:

                                                                                                                                                                                                                                                                    \verbatim embed:rst:leading-asterisk .. code:: smtlib

                                                                                                                                                                                                                                                                    (get-value ( <term>* ))
                                                                                                                                                                                                                                                                    

                                                                                                                                                                                                                                                                    \endverbatim

                                                                                                                                                                                                                                                                    • terms: The term for which the value is queried.
                                                                                                                                                                                                                                                                    @[extern solver_getValues]
                                                                                                                                                                                                                                                                    opaque cvc5.Solver.getValues {m : TypeType u_1} [Monad m] (terms : Array Term) :

                                                                                                                                                                                                                                                                    Get the values of the given terms in the current model.

                                                                                                                                                                                                                                                                    SMT-LIB:

                                                                                                                                                                                                                                                                    \verbatim embed:rst:leading-asterisk .. code:: smtlib

                                                                                                                                                                                                                                                                    (get-value ( <term>* ))
                                                                                                                                                                                                                                                                    

                                                                                                                                                                                                                                                                    \endverbatim

                                                                                                                                                                                                                                                                    • terms: The terms for which the values are queried.
                                                                                                                                                                                                                                                                    @[extern solver_proofToString]
                                                                                                                                                                                                                                                                    opaque cvc5.Solver.proofToString {m : TypeType u_1} [Monad m] :

                                                                                                                                                                                                                                                                    Prints a proof as a string in a selected proof format mode.

                                                                                                                                                                                                                                                                    Other aspects of printing are taken from the solver options.

                                                                                                                                                                                                                                                                    • proof: A proof, usually obtained from getProof.
                                                                                                                                                                                                                                                                    @[extern solver_parseCommands]
                                                                                                                                                                                                                                                                    opaque cvc5.Solver.parseCommands {m : TypeType u_1} [Monad m] :

                                                                                                                                                                                                                                                                    Parse a string containing SMT-LIB commands.

                                                                                                                                                                                                                                                                    Commands that produce a result such as (check-sat), (get-model), ... are executed but the results are ignored.

                                                                                                                                                                                                                                                                    def cvc5.Solver.run {m : TypeType u_1} [Monad m] {α : Type} (tm : TermManager) (query : SolverT m α) :
                                                                                                                                                                                                                                                                    m (Except Error α)

                                                                                                                                                                                                                                                                    Run a query given a term manager tm.

                                                                                                                                                                                                                                                                    Equations
                                                                                                                                                                                                                                                                    • One or more equations did not get rendered due to their size.
                                                                                                                                                                                                                                                                    Instances For
                                                                                                                                                                                                                                                                      def cvc5.Solver.run! {m : TypeType u_1} [Monad m] {α : Type} [Inhabited α] (tm : TermManager) (query : SolverT m α) :
                                                                                                                                                                                                                                                                      m α

                                                                                                                                                                                                                                                                      Run a query given a term manager tm.

                                                                                                                                                                                                                                                                      Equations
                                                                                                                                                                                                                                                                      • One or more equations did not get rendered due to their size.
                                                                                                                                                                                                                                                                      Instances For