Documentation

Lean.Elab.Tactic.Grind.Basic

An extra theorem passed to simp in sym => mode.

Instances For

    Cache key for Sym.simp variant invocations.

    Instances For
      Equations
      Instances For
        • fvarIds : Array FVarId
        • zetaDeltaAll : Bool
        • declNames : Array Name

          Global declarations: definitions to unfold and rfl-theorems to rewrite with.

        Instances For
          Equations
          Instances For
            Equations
            Instances For

              Cache key for Sym.dsimp variant invocations.

              Instances For
                Instances For
                  Instances For

                    Returns the list of goals. Goals may or may not already be assigned.

                    Equations
                    Instances For
                      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
                            Equations
                            Instances For
                              Equations
                              Instances For
                                @[instance_reducible, always_inline]
                                Equations
                                • One or more equations did not get rendered due to their size.
                                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

                                    Runs x with only the first unsolved goal as the goal. Fails if there are no goal to be solved.

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

                                      Non-backtracking try/catch.

                                      Equations
                                      Instances For
                                        @[inline]

                                        Backtracking try/catch. This is used for the MonadExcept instance for GrindTacticM.

                                        Equations
                                        Instances For

                                          Execute x with error recovery disabled

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

                                            Like throwErrorAt, but, if recovery is enabled, logs the error instead.

                                            Equations
                                            Instances For

                                              Like throwError, but, if recovery is enabled, logs the error instead.

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

                                                Save the current tactic state for a token stx. This method is a no-op if stx has no position information. We use this method to save the tactic state at punctuation such as ;

                                                Equations
                                                Instances For
                                                  @[inline]
                                                  def Lean.Elab.Tactic.Grind.withMacroExpansion {α : Type} (beforeStx afterStx : Syntax) (x : GrindTacticM α) :

                                                  Elaborate x with stx on the macro stack

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

                                                    Adapt a syntax transformation to a regular tactic evaluator.

                                                    Equations
                                                    Instances For

                                                      Execute x using the main goal local context and instances

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

                                                            Throws an error unless the tactic is being executed in sym => mode.

                                                            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
                                                                  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

                                                                      Runs tactic with only the first unsolved goal as the goal, and expects it leave no goals. Fails if there are no goal to be solved.

                                                                      Equations
                                                                      Instances For

                                                                        Close the main goal using the given tactic. If it fails, log the error and admit

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

                                                                            Creates the evaluator used to replay grind scripts from GrindM (e.g., Action.checkSeqAt). The returned function runs a script at the given goal in a fresh GrindTacticM context and returns the remaining goals.

                                                                            The context must mirror the one the script will run in when pasted by the user. In particular, sym must be set in sym => mode, otherwise scripts containing sym-only steps such as intros and by_contra are rejected.

                                                                            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