Documentation

Cvc.Types.Array

Arrays #

The Lean type denoting an SMT array: a default element plus the finitely many indices that differ from it. Indices are held in a Std.TreeMap, so the index type must be ordered.

Converting a total map to a term and back is done by Cvc.Untyped.Theory.Array and Cvc.Typed.Theory.Array.

structure Cvc.TotalMap (α β : Type) [Ord α] :

A total map from α (the indices) to β (the elements), used to encode SMT-LIB arrays.

  • defaultElem : β

    Default element that all indices not captured by map are mapped to.

  • map : Std.TreeMap α β compare

    Maps indices to elements.

Instances For
    def Cvc.TotalMap.mkConst {α : Type} [Ord α] {β : Type} (defaultElem : β) :
    TotalMap α β
    Equations
    Instances For
      instance Cvc.TotalMap.instNonempty {α : Type} [Ord α] {β : Type} [B : Nonempty β] :
      @[instance_reducible]
      instance Cvc.TotalMap.instInhabited {α : Type} [Ord α] {β : Type} [Inhabited β] :
      Equations
      @[instance_reducible]
      instance Cvc.TotalMap.instToTyp {α : Type} [Ord α] {β : Type} [ToTyp α] [ToTyp β] :
      ToTyp (TotalMap α β)
      Equations

      Basic operations #

      def Cvc.TotalMap.insert {α β : Type} [Ord α] (map : TotalMap α β) (key : α) (val : β) :
      TotalMap α β
      Equations
      Instances For
        def Cvc.TotalMap.get? {α β : Type} [Ord α] (map : TotalMap α β) (key : α) :
        Equations
        Instances For
          def Cvc.TotalMap.get {α β : Type} [Ord α] (map : TotalMap α β) (key : α) :
          β
          Equations
          Instances For

            String representation #

            def Cvc.TotalMap.foldlStrings {α β : Type} [Ord α] [ToString α] [ToString β] (map : TotalMap α β) {γ : Type u_1} (f : γ → Bool → String → γ) (init : γ) :
            γ
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def Cvc.TotalMap.lines {α β : Type} [Ord α] [ToString α] [ToString β] (map : TotalMap α β) :
              Equations
              Instances For
                def Cvc.TotalMap.toString {α β : Type} [Ord α] [ToString α] [ToString β] (map : TotalMap α β) :

                String representation.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[instance_reducible]
                  instance Cvc.TotalMap.instToString {α β : Type} [Ord α] [ToString α] [ToString β] :
                  Equations