Documentation

Lean.Meta.Tactic.Grind.Main

Returns the ExtensionState for the default grind attribute.

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

      Returns the extensions used by the lia tactic.

      lia keeps the structural part of the default grind attribute (cases types, funCC, and extensionality theorems), but instead of the full @[grind] E-matching lemma set it only uses the dedicated @[lia] lemma set. This lets cutsat benefit from a small amount of instantiation (e.g. Nat.max_def) without pulling in everything tagged @[grind].

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        Instances For
          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.Meta.Grind.GrindM.run {α : Type} (x : GrindM α) (params : Params) (evalTactic? : Option EvalTactic := none) :
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Asserts extra facts provided as grind parameters.

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

                  Returns a new goal for the given metavariable.

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

                        Checks whether any E-matching lemmas were activated but do not appear in the final proof term. Controlled by set_option grind.unusedLemmaThreshold. Uses grind's instance-marking infrastructure for precise tracking.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        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.

                          Equations
                          Instances For
                            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.Meta.Grind.GrindM.runAtGoal {α : Type} (mvarId : MVarId) (params : Params) (k : GoalGrindM α) (evalTactic? : Option EvalTactic := none) :
                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For
                                  def Lean.Meta.Grind.main (mvarId : MVarId) (params : Params) :
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  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.

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