Documentation

EvmYul.Data.Stack

@[reducible, inline]
abbrev EvmYul.Stack (α : Type) :
Equations
Instances For
    def EvmYul.Stack.new {α : Type} :
    Equations
    Instances For
      def EvmYul.Stack.isEmpty {α : Type} (s : Stack α) :
      Equations
      Instances For
        def EvmYul.Stack.size {α : Type} (s : Stack α) :
        Equations
        Instances For
          def EvmYul.Stack.push {α : Type} (s : Stack α) (v : α) :
          Equations
          Instances For
            def EvmYul.Stack.pop {α : Type} :
            Stack αOption (Stack α × α)
            Equations
            Instances For
              def EvmYul.Stack.pop2 {α : Type} :
              Stack αOption (Stack α × α × α)
              Equations
              Instances For
                def EvmYul.Stack.pop3 {α : Type} :
                Stack αOption (Stack α × α × α × α)
                Equations
                Instances For
                  def EvmYul.Stack.pop4 {α : Type} :
                  Stack αOption (Stack α × α × α × α × α)
                  Equations
                  Instances For
                    def EvmYul.Stack.pop5 {α : Type} :
                    Stack αOption (Stack α × α × α × α × α × α)
                    Equations
                    Instances For
                      def EvmYul.Stack.pop6 {α : Type} :
                      Stack αOption (Stack α × α × α × α × α × α × α)
                      Equations
                      Instances For
                        def EvmYul.Stack.pop7 {α : Type} :
                        Stack αOption (Stack α × α × α × α × α × α × α × α)
                        Equations
                        Instances For
                          @[simp]
                          theorem EvmYul.Stack.isEmpty_push_false {α : Type} {x : α} {s : Stack α} :
                          @[simp]
                          theorem EvmYul.Stack.isEmpty_cons_false {α : Type} {x : α} {s : Stack α} :
                          @[simp]
                          theorem EvmYul.Stack.size_nil {α : Type} :
                          @[simp]
                          theorem EvmYul.Stack.size_new {α : Type} :
                          @[simp]
                          theorem EvmYul.Stack.size_cons {α : Type} {x : α} {s : Stack α} :
                          size (x :: s) = s.size + 1
                          @[simp]
                          theorem EvmYul.Stack.size_push {α : Type} {x : α} {s : Stack α} :
                          (s.push x).size = s.size + 1
                          @[simp]
                          theorem EvmYul.Stack.pop_push {α : Type} {x : α} {s : Stack α} :
                          (s.push x).pop = some (s, x)