lean4-htt/src/Lean/Meta/Tactic
Joachim Breitner fe0cb97c5d
feat: use lazy MessageData for omega errors (#4360)
presumably this avoids unnecessary work when `omega` is used in tactic
combinators where the error message is never seen. Measurement did not
show
any significant changes, though.

With an artificial sleep in
```diff
diff --git a/src/Lean/Elab/Tactic/Omega/Frontend.lean b/src/Lean/Elab/Tactic/Omega/Frontend.lean
index fd297eef60..31ea3f6bd0 100644
--- a/src/Lean/Elab/Tactic/Omega/Frontend.lean
+++ b/src/Lean/Elab/Tactic/Omega/Frontend.lean
@@ -538,6 +538,7 @@ def formatErrorMessage (p : Problem) : OmegaM MessageData := do
     else
       let as ← atoms
       return .ofLazyM (es := as) do
+        IO.sleep 10000
         let mask ← mentioned as p.constraints
         let names ← varNames mask
         return m!"a possible counterexample may satisfy the constraints\n" ++
```
I can observe that `omega` is slow and `try omega` fast, so it seems to
work at least.
2024-06-14 20:21:37 +00:00
..
AC feat: add a linter for local vars that clash with their constructors (#4301) 2024-06-14 13:03:09 +00:00
Grind feat: add grind core module (#4249) 2024-05-22 03:50:36 +00:00
LinearArith perf: use with_reducible in special-purpose decreasing_trivial macros (#3991) 2024-04-29 15:12:27 +00:00
Simp feat: dsimprocs for ite and dite (#4430) 2024-06-11 23:36:18 +00:00
AC.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Acyclic.lean fix: regression on match expressions with builtin literals (#3521) 2024-02-27 18:49:44 +00:00
Apply.lean feat: use lazy MessageData for omega errors (#4360) 2024-06-14 20:21:37 +00:00
Assert.lean chore: add dates to @[deprecated] attributes (#3967) 2024-05-14 03:24:57 +00:00
Assumption.lean chore: add dates to @[deprecated] attributes (#3967) 2024-05-14 03:24:57 +00:00
AuxLemma.lean feat: propagate maxHeartbeats to kernel (#4113) 2024-05-09 17:44:19 +00:00
Backtrack.lean chore: upstream solve_by_elim (#3408) 2024-02-21 01:16:04 +00:00
Cases.lean fix: split (for if-expressions) should work on non-propositional goals (#4349) 2024-06-05 04:43:46 +00:00
Cleanup.lean chore: add dates to @[deprecated] attributes (#3967) 2024-05-14 03:24:57 +00:00
Clear.lean chore: add dates to @[deprecated] attributes (#3967) 2024-05-14 03:24:57 +00:00
Congr.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Constructor.lean chore: add dates to @[deprecated] attributes (#3967) 2024-05-14 03:24:57 +00:00
Contradiction.lean chore: add dates to @[deprecated] attributes (#3967) 2024-05-14 03:24:57 +00:00
Delta.lean chore: add dates to @[deprecated] attributes (#3967) 2024-05-14 03:24:57 +00:00
ElimInfo.lean feat: custom eliminators for induction and cases tactics, and beautiful eliminators for Nat (#3629) 2024-03-09 15:31:51 +00:00
FunInd.lean fix: FunInd: support structural recursion on reflexive types (#4327) 2024-06-05 07:54:48 +00:00
FVarSubst.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
Generalize.lean chore: add dates to @[deprecated] attributes (#3967) 2024-05-14 03:24:57 +00:00
Grind.lean feat: add grind core module (#4249) 2024-05-22 03:50:36 +00:00
IndependentOf.lean chore: upstream solve_by_elim (#3408) 2024-02-21 01:16:04 +00:00
Induction.lean feat: add grind.cases tactic (#4235) 2024-05-21 02:03:33 +00:00
Injection.lean fix: regression on match expressions with builtin literals (#3521) 2024-02-27 18:49:44 +00:00
Intro.lean chore: add dates to @[deprecated] attributes (#3967) 2024-05-14 03:24:57 +00:00
LibrarySearch.lean chore: Std -> Batteries renaming (#4108) 2024-05-08 05:04:25 +00:00
LinearArith.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
NormCast.lean feat: use attribute command to add and erase simprocs (#3511) 2024-02-26 23:41:49 +00:00
Refl.lean chore: add dates to @[deprecated] attributes (#3967) 2024-05-14 03:24:57 +00:00
Rename.lean chore: add dates to @[deprecated] attributes (#3967) 2024-05-14 03:24:57 +00:00
Repeat.lean refactor: termination arguments as Expr, not Syntax (#3658) 2024-03-14 23:51:53 +00:00
Replace.lean chore: add dates to @[deprecated] attributes (#3967) 2024-05-14 03:24:57 +00:00
Revert.lean chore: add dates to @[deprecated] attributes (#3967) 2024-05-14 03:24:57 +00:00
Rewrite.lean fix: rw should not include existing goal metavariables in the resulting subgoals (#4385) 2024-06-11 02:50:58 +00:00
Rewrites.lean fix: do not lift (<- ...) over pure if-then-else (#3820) 2024-04-01 21:33:59 +00:00
Rfl.lean feat: change apply_rfl tactic so that it does not operate on = (#3784) 2024-03-27 12:04:22 +00:00
Simp.lean feat: report diagnostic information for simp at exception 2024-05-01 03:19:39 +02:00
SolveByElim.lean fix: solveByElim would add symm hypotheses to local context and make impossible-to-elaborate terms (#3962) 2024-04-22 04:13:22 +00:00
Split.lean fix: improve split discriminant generalization strategy (#4401) 2024-06-07 21:35:09 +00:00
SplitIf.lean fix: split (for if-expressions) should work on non-propositional goals (#4349) 2024-06-05 04:43:46 +00:00
Subst.lean fix: substVars in functional inductions removed valuable information (#3695) 2024-03-16 14:55:31 +00:00
Symm.lean chore: upstream solve_by_elim (#3408) 2024-02-21 01:16:04 +00:00
TryThis.lean chore: remove @ from rw? suggestions, and enable hover on constants in #check (#3911) 2024-04-19 01:27:02 +00:00
Unfold.lean perf: add prelude to all Lean modules 2024-02-18 14:55:17 -08:00
UnifyEq.lean fix: missing withIncRecDepth and unifyEqs? and add support for offsets at unifyEq? (#4224) 2024-05-20 13:42:36 +00:00
Util.lean chore: add dates to @[deprecated] attributes (#3967) 2024-05-14 03:24:57 +00:00