Documentation

Lean.Meta.Tactic.Grind.Main

Returns the ExtensionState for the default grind attribute.

Instances For
    Instances For
      Instances For
        Instances For
          def Lean.Meta.Grind.GrindM.run {α : Type} (x : GrindM α) (params : Params) (evalTactic? : Option EvalTactic := none) :
          Instances For

            Asserts extra facts provided as grind parameters.

            Instances For

              Returns a new goal for the given metavariable.

              Instances For
                Instances For

                  When Config.revert := false, we preprocess the hypotheses, and add them to the grind state. It starts at goal.nextDeclIdx. If num? is some num, then at most num local declarations are processed. Otherwise, all remaining local declarations are processed.

                  Remark: this function assumes the local context does not contains holes with none in decls.

                  Instances For
                    Instances For
                      def Lean.Meta.Grind.GrindM.runAtGoal {α : Type} (mvarId : MVarId) (params : Params) (k : GoalGrindM α) (evalTactic? : Option EvalTactic := none) :
                      Instances For
                        def Lean.Meta.Grind.main (mvarId : MVarId) (params : Params) :
                        Instances For

                          A helper combinator for executing a grind-based terminal tactic. Given an input goal mvarId, it cleans up local hypotheses corresponding to internal details, creates an auxiliary meta-variable mvarId', and executes k mvarId'. withNewMCtxDepth is used to prevent metavariables from being accidentally assigned by grind's isDefEq calls. After grind finishes, delayed metavariable assignments are resolved, and the resulting proof is assigned to the original goal.

                          See issue #11806 and issue #12242 for motivating examples.

                          Instances For