Documentation

Cvc.Typed.Theory.Array

Arrays, typed #

def Cvc.Typed.Term.store [Ω] {ι κ : Type} [Ord ι] (arr : Term (TotalMap ι κ)) (idx : Term ι) (elm : Term κ) :
Env (Term (TotalMap ι κ))

Writes an element at an index, yielding the updated array.

Equations
Instances For
    def Cvc.Typed.Term.eqRange [Ω] {ι κ : Type} [Ord ι] (lft rgt : Term (TotalMap ι κ)) (lo hi : Term ι) :

    Equality of two arrays at every index from lo to hi, both included.

    Needs cvc5's arrays-exp option, and an integer, real, bit-vector or floating-point index.

    Equations
    Instances For
      def Cvc.Typed.Term.select [Ω] {ι κ : Type} [Ord ι] (arr : Term (TotalMap ι κ)) (idx : Term ι) :
      Env (Term κ)

      Reads the element stored at an index.

      Equations
      Instances For
        def Cvc.Typed.Term.mkConstArray [Ω] {ι κ : Type} [Ord ι] [ToTyp ι] [ToTyp κ] (default : Term κ) :
        Env (Term (TotalMap ι κ))

        The array mapping every index, of sort ι, to default.

        Equations
        Instances For
          inductive Cvc.Typed.View.Array [Ω] :
          Typ → Type

          Array's operators, taken apart one level, indexed by the sort each produces.

          Instances For
            inductive Cvc.Typed.View.Array.OnTotalMap [Ω] (ξ : Type) [Ord ξ] [ToTyp ξ] (ζ : Type) [ToTyp ζ] :

            Array's operators with a result of sort TotalMap.

            Instances For

              Array's operators with a result of sort Bool.

              Instances For
                inductive Cvc.Typed.View.Array.OnAny [Ω] (β : Type) [ToTyp β] :

                Array's operators whose result's sort is a type variable.

                Instances For

                  Takes a term apart one level, at its sort, if Array owns its operator and the term's sort fits it.

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

                    Values #

                    def Cvc.Typed.Term.isConstArray [Ω] {α β : Type} [Ord α] (term : Term (TotalMap α β)) :

                    Determine if this term is a constant array.

                    Equations
                    Instances For
                      def Cvc.Typed.Term.mkArrayValue {α β : Type} [Ω] [Ord α] [ToTyp α] [ValueToTerm α] [ValueToTerm β] :
                      TotalMap α β → Env (Term (TotalMap α β))

                      The array term denoting a total map.

                      Equations
                      Instances For
                        def Cvc.Typed.Term.getArrayValue {α β : Type} [Ω] [Ord α] [TermToValue α] [TermToValue β] :
                        Term (TotalMap α β) → Env (TotalMap α β)

                        The total map a constant array term denotes.

                        Equations
                        Instances For
                          @[instance_reducible]
                          Equations