Documentation

Cvc.Symbols.Defs

@[reducible, inline]
Equations
Instances For
    class Cvc.Symbols (Struct : Symbols.Repr) :

    Abstraction over an heterogeneous, strongly-typed function symbol structure.

    Users will typically manipulate structures dealing with heterogeneously-typed symbols so that they can represent, for instance, the state of a transition systems. This class abstracts over such structures so that cvc.lean can provide helpers for declaring function symbols, retrieving their (strongly-typed) value, etc.

    Instances
      def Cvc.Symbols.map {Struct : Symbols.Repr} [Syms : Symbols Struct] {R G : Symbol.Repr} (symbols : Struct R) (f : {α : Type} → [inst : IsSrt α] → R αG α) :
      Struct G

      Maps over the symbols in a Struct F.

      Equations
      Instances For
        @[defaultInstance 1000]
        instance Cvc.Symbols.instForIn {Struct : Symbols.Repr} [Syms : Symbols Struct] {m : TypeType} {R : Symbol.Repr} :
        ForIn m (Struct R) ((α : Type) × (x : IsSrt α) × R α)
        Equations
        • One or more equations did not get rendered due to their size.
        @[reducible, inline]
        abbrev Cvc.Symbols.Idents {Struct : Symbols.Repr} [Syms : Symbols Struct] :
        Equations
        Instances For
          @[reducible, inline]
          abbrev Cvc.Symbols.Terms {Struct : Symbols.Repr} [Syms : Symbols Struct] :
          Equations
          Instances For
            @[reducible, inline]
            abbrev Cvc.Symbols.Values {Struct : Symbols.Repr} [Syms : Symbols Struct] :
            Equations
            Instances For
              @[reducible, inline]
              abbrev Cvc.Symbols.Model {Struct : Symbols.Repr} [Syms : Symbols Struct] :
              Equations
              Instances For
                @[reducible, inline]
                abbrev Cvc.Symbols.FunT {Struct : Symbols.Repr} [Syms : Symbols Struct] (m : TypeType u_1) (α : Type) :
                Type u_1
                Equations
                Instances For
                  @[reducible, inline]
                  abbrev Cvc.Symbols.FunctionT {Struct : Symbols.Repr} [Syms : Symbols Struct] (m : TypeType u_1) (α : Type) :
                  Type u_1
                  Equations
                  Instances For
                    @[reducible, inline]
                    abbrev Cvc.Symbols.PredT {Struct : Symbols.Repr} [Syms : Symbols Struct] (m : TypeType u_1) :
                    Type u_1
                    Equations
                    Instances For
                      @[reducible, inline]
                      abbrev Cvc.Symbols.PredicateT {Struct : Symbols.Repr} [Syms : Symbols Struct] (m : TypeType u_1) :
                      Type u_1
                      Equations
                      Instances For
                        @[reducible, inline]
                        abbrev Cvc.Symbols.RelT {Struct : Symbols.Repr} [Syms : Symbols Struct] (m : TypeType u_1) :
                        Type u_1
                        Equations
                        Instances For
                          @[reducible, inline]
                          abbrev Cvc.Symbols.RelationT {Struct : Symbols.Repr} [Syms : Symbols Struct] (m : TypeType u_1) :
                          Type u_1
                          Equations
                          Instances For
                            @[reducible, inline]
                            abbrev Cvc.Symbols.Fun {Struct : Symbols.Repr} [Syms : Symbols Struct] (α : Type) :
                            Equations
                            Instances For
                              @[reducible, inline]
                              abbrev Cvc.Symbols.Function {Struct : Symbols.Repr} [Syms : Symbols Struct] (α : Type) :
                              Equations
                              Instances For
                                @[reducible, inline]
                                abbrev Cvc.Symbols.Pred {Struct : Symbols.Repr} [Syms : Symbols Struct] :
                                Equations
                                Instances For
                                  @[reducible, inline]
                                  abbrev Cvc.Symbols.Predicate {Struct : Symbols.Repr} [Syms : Symbols Struct] :
                                  Equations
                                  Instances For
                                    @[reducible, inline]
                                    abbrev Cvc.Symbols.Rel {Struct : Symbols.Repr} [Syms : Symbols Struct] :
                                    Equations
                                    Instances For
                                      @[reducible, inline]
                                      abbrev Cvc.Symbols.Relation {Struct : Symbols.Repr} [Syms : Symbols Struct] :
                                      Equations
                                      Instances For

                                        Ident-specific helpers #

                                        def Cvc.Symbols.Idents.mapM {Struct : Symbols.Repr} [Syms : Symbols Struct] (idents : Idents) {m : TypeType} {R : Symbol.Repr} [Monad m] (f : {α : Type} → [inst : IsSrt α] → Symbol.Ident αm (R α)) :
                                        m (Struct R)
                                        Equations
                                        Instances For
                                          def Cvc.Symbols.Idents.map {Struct : Symbols.Repr} [Syms : Symbols Struct] (idents : Idents) {R : Symbol.Repr} (f : {α : Type} → [inst : IsSrt α] → Symbol.Ident αR α) :
                                          Struct R
                                          Equations
                                          Instances For
                                            def Cvc.Symbols.Idents.declare {Struct : Symbols.Repr} [Syms : Symbols Struct] (idents : Idents) :
                                            Equations
                                            Instances For

                                              Term-specific helpers #

                                              def Cvc.Symbols.Terms.mapM {Struct : Symbols.Repr} [Syms : Symbols Struct] (terms : Terms) {m : TypeType} {R : Symbol.Repr} [Monad m] (f : {α : Type} → [inst : IsSrt α] → Symbol.Term αm (R α)) :
                                              m (Struct R)
                                              Equations
                                              Instances For
                                                def Cvc.Symbols.Terms.map {Struct : Symbols.Repr} [Syms : Symbols Struct] (terms : Terms) {R : Symbol.Repr} (f : {α : Type} → [inst : IsSrt α] → Symbol.Term αR α) :
                                                Struct R
                                                Equations
                                                Instances For
                                                  def Cvc.Symbols.Terms.getValues {Struct : Symbols.Repr} [Syms : Symbols Struct] (terms : Terms) :

                                                  Retrieves the values of all symbols in a sat context.

                                                  Equations
                                                  Instances For
                                                    def Cvc.Symbols.Terms.getModel {Struct : Symbols.Repr} [Syms : Symbols Struct] (terms : Terms) :

                                                    Retrieves the values of all symbols in a sat context.

                                                    Equations
                                                    Instances For

                                                      Generates all Cvc.Symbols aliases.

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

                                                        Generates all Cvc.Symbols aliases.

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