Documentation

Auto.EvaluateAuto.TestTactics

Solves the goal using sorry if ci does not contain unknown constants, and throws and error if ci contains unknown constants

When we evaluate tactics on a theorem T, we replay the file that defines T and calls the tactic on the environment env just before the declaration of T. Since there are commands that define multiple constants simultaneously, it is possible that the proof or type of T contains constants not present in env. We run testUnknownConstant to detect such situations.

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

            Tactic sequence: intros; aesop Only guaranteed to work for aesop @ Lean v4.14.0

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

              Tactic sequence: intros; aesop (add unsafe premise₁) ⋯ (add unsafe premiseₙ) Only guaranteed to work for aesop @ Lean v4.14.0

              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
                      def EvalAuto.useAuto (ignoreNonQuasiHigherOrder : Bool) (config : SolverConfig) (timeout : Nat) (ci : Lean.ConstantInfo) :
                      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.

                          Use runWithEffectOfCommands to run tactics at the place just before the command that created the constant name

                          Note: Use initSrcSearchPath to get SearchPath of source files

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

                              Timeout for each tactic

                            • Tactics to run at each constant declaration

                            • logFile : Option String

                              Optional file for saving the log of the evaluation

                            • resultFile : Option String

                              Optional file for saving the result of the evaluation

                            • On some problems, certain tactics may go into infinite loops not guarded by Core.checkMaxHeartbeats. These instances should be recorded here and avoided (throw error immediately) during evaluation.

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

                              Effectively runTacticsAtConstantDeclaration at each constant in modName which satisfies filter

                              Note: Use initSrcSearchPath to get SearchPath of source files

                              For the i-th theorem name in names, its entry in the result file has the following form: <i> #[<result> <time> <heartbeats>, ⋯, <result> <time> <heartbeats>] <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
                                  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
                                      • maxHeartbeats : Nat

                                        Timeout for each tactic

                                      • Tactics to run at each constant declaration

                                      • resultFolder : String

                                        Folder for saving the result of the evaluation

                                      • nprocs : Nat

                                        Number of processes to use

                                      • memoryLimitKb : Option Nat

                                        Memory limit for each evaluation process, in kb

                                      • timeLimitS : Option Nat

                                        Total time limit for each evaluation process, in seconds

                                      • moduleFilter : Lean.NameBool

                                        Specify modules to run tactics on

                                      • On some problems, certain tactics may go into infinite loops not guarded by Core.checkMaxHeartbeats. These instances should be recorded here and avoided (throw error immediately) during evaluation.

                                      Instances For

                                        This should be run after import Mathlib and import Auto.EvaluateAuto.TestTactics, and should be run with a cwd where lake env creates an environment in which Mathlib and lean-auto are available

                                        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

                                              Read results generated by evalTacticsAtMathlibHumanTheorems

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

                                                Similar to readETMHTResult, but will not throw error if a .result file is empty. Instead, its return value contains all the paths to the .result files that are empty.

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

                                                  Read results generated by evalTacticsAtMathlibHumanTheorems and store them in a single file gatheredResult in config.resultFolder

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

                                                    Similar to gatherETMHTResult, but will not throw error if a .result file is empty. Instead, its saves ⟨all the paths to the .result files that are empty⟩ in nonRetPaths.

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

                                                      Read evaluateFiles.txt generated by evalTacticsAtMathlibHumanTheorems

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