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

                            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\

                                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