Documentation

Lean.Elab.Tactic.Do.VCGen.Basic

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

        Number of join point arguments.

      • altIdx : Nat

        Index of the match alternative.

      • altParams : Array Expr

        Parameter FVars of the match alternative.

      • altLCtxIdx : Nat

        The size of the local context in the alternative after the match has been split and all splitter parameters have been introduced. This is so that we can construct the Σ Lᵢ part of the hyps field.

      • hyps : MVarId

        MVar to be filled with the stateful hypotheses of the match arm. This should include bindings from the local context Lᵢ of the call site and is of the form (x,y,z ∈ Lᵢ) Σ Lᵢ, ⌜x = a ∧ y = b ∧ z = c⌝ ∧ Hᵢ, where ..., Lᵢ ⊢ Hᵢ ⊢ₛ wp[jp x y z] Q is the call site. The Σ Lᵢ is short for something like let x := ...; ∃ y (h : y = ...), ∃ z, ∃ (h₂ : p).

      • joinPrf : Expr

        The proof that jump sites should use to discharge Hᵢ ⊢ₛ wp[jp a b c] Q.

      Instances For
        Instances For
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              Equations
              Instances For
                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  def Lean.Elab.Tactic.Do.emitVC (subGoal : Expr) (name : Name) :
                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def Lean.Elab.Tactic.Do.withJP {α : Type} (jp : FVarId) (info : JumpSiteInfo) :
                      VCGenM αVCGenM α
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        Equations
                        Instances For
                          def Lean.Elab.Tactic.Do.withLetDeclShared {α : Type} (name : Name) (type val : Expr) (k : BoolExpr(ExprVCGenM Expr)VCGenM α) (kind : LocalDeclKind := LocalDeclKind.default) :
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            TODO: Fix this when rewriting the do elaborator

                            Equations
                            Instances For

                              Reduces (1) Prod projection functions and (2) Projs in application heads, and (3) beta reduces. Will not unfold projection functions unless further beta reduction happens.

                              Equations
                              Instances For
                                def Lean.Elab.Tactic.Do.mkSpecContext (optConfig lemmas : Syntax) (ignoreStarArg : Bool := false) :
                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For