Documentation

Aesop.RuleTac.ElabRuleTerm

def Aesop.elabGlobalRuleIdent? (stx : Lean.Term) :
Lean.Elab.TermElabM (Option Lean.Name)
Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def Aesop.matchInductiveTypeSynonym? (decl : Lean.Name) :
    Lean.MetaM (Option Lean.InductiveVal)
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def Aesop.elabInductiveRuleIdent? (stx : Lean.Term) (md : Lean.Meta.TransparencyMode) :
      Lean.Elab.TermElabM (Option (Lean.Name × Lean.InductiveVal))

      Elaborate an identifier for a rule that applies to inductive types, e.g. cases. The identifier must unambiguously refer to a global constant that is either an inductive type or reduces to one. For the reduction test, we use the larger transparency among default and md.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def Aesop.runTacticMAsTermElabM {α : Type} (goal : Lean.MVarId) (x : Lean.Elab.Tactic.TacticM α) :
        Lean.Elab.TermElabM α
        Equations
        Instances For
          def Aesop.runTacticMAsElabM {α : Type} (x : Lean.Elab.Tactic.TacticM α) :
          Equations
          Instances For
            def Aesop.withFullElaboration {α : Type} (x : Lean.Elab.TermElabM α) :
            Lean.Elab.TermElabM α
            Equations
            • Aesop.withFullElaboration x = Lean.Elab.Term.withSynthesize (Lean.Elab.Term.withoutErrToSorry (Lean.Elab.Term.withoutAutoBoundImplicit x))
            Instances For
              def Aesop.elabRuleTermForApplyLikeCore (goal : Lean.MVarId) (stx : Lean.Term) :
              Lean.Elab.TermElabM Lean.Expr
              Equations
              Instances For
                def Aesop.elabRuleTermForApplyLikeMetaM (goal : Lean.MVarId) (stx : Lean.Term) :
                Lean.MetaM Lean.Expr
                Equations
                Instances For
                  def Aesop.elabRuleTermForApplyLike (stx : Lean.Term) :
                  ElabM Lean.Expr
                  Equations
                  Instances For
                    def Aesop.elabSimpTheorems (stx : Lean.Syntax) (ctx : Lean.Meta.Simp.Context) (simprocs : Lean.Meta.Simp.SimprocsArray) (isSimpAll : Bool) :
                    Lean.Elab.Tactic.TacticM (Lean.Meta.Simp.Context × Lean.Meta.Simp.SimprocsArray)
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      def Aesop.mkSimpArgs (simpTheorem : Lean.Term) :
                      Lean.Syntax
                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        def Aesop.elabRuleTermForSimpCore (goal : Lean.MVarId) (term : Lean.Term) (ctx : Lean.Meta.Simp.Context) (simprocs : Lean.Meta.Simp.SimprocsArray) (isSimpAll : Bool) :
                        Lean.Elab.TermElabM (Lean.Meta.Simp.Context × Lean.Meta.Simp.SimprocsArray)
                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          def Aesop.checkElabRuleTermForSimp (term : Lean.Term) (isSimpAll : Bool) :
                          ElabM Unit
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            def Aesop.elabRuleTermForSimpMetaM (goal : Lean.MVarId) (term : Lean.Term) (ctx : Lean.Meta.Simp.Context) (simprocs : Lean.Meta.Simp.SimprocsArray) (isSimpAll : Bool) :
                            Lean.MetaM (Lean.Meta.Simp.Context × Lean.Meta.Simp.SimprocsArray)
                            Equations
                            Instances For