Documentation

Cvc.Term.Erased

structure Cvc.ETerm :

Type-erased version Term.

  • srt : Srt

    Sort of the underlying typed-term.

  • typed : Term self.srt.toType

    Typed version of a type-erased term.

Instances For
    structure Cvc.EValue :

    An erased value for some Srt.

    • srt : Srt

      Sort of the value.

    • val : Value self.srt.toType

      Underlying typed value as a Term.

    Instances For
      def Cvc.ETerm.ofTerm {α : Type} [A : IsSrt α] (term : Term α) :

      Constructor from a typed term.

      Equations
      Instances For

        String representation.

        Equations
        Instances For
          def Cvc.ETerm.asSrt? (erased : ETerm) (srt : Srt) :

          Attempts to Srt-type an erased term.

          Equations
          • { srt := termSrt, typed := term }.asSrt? srt = if h_srt : termSrt = srt then some (h_srt term) else none
          Instances For
            def Cvc.ETerm.asSrt (erased : ETerm) (srt : Srt) :

            Attempts to Srt-type an erased term.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def Cvc.ETerm.as? (erased : ETerm) (α : Type) [A : IsSrt α] :

              Attempts to retype an erased term.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Cvc.ETerm.as (erased : ETerm) (α : Type) [A : IsSrt α] :
                Res (Term α)

                Attempts to retype an erased term.

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

                  Retrieve the erased value of an erased term.

                  Equations
                  Instances For
                    def Cvc.Term.erase {α : Type} [IsSrt α] :
                    Term αETerm

                    Erases the type of a typed term.

                    Equations
                    Instances For
                      def Cvc.Term.ofErased? {α : Type} [A : IsSrt α] (erased : ETerm) :

                      Attempts to retype an erased term.

                      Equations
                      Instances For
                        def Cvc.Term.ofErased {α : Type} [A : IsSrt α] (erased : ETerm) :
                        Res (Term α)

                        Attempts to retype an erased term.

                        Equations
                        Instances For