lean4-htt/src/Lean
Leonardo de Moura b3753ba6db
feat: grind propagators for Nat operators (#11522)
This PR implements `grind` propagators for `Nat` operators that have a
simproc associated with them, but do not have any theory solver support.
Examples:

```lean
example (a b : Nat) : a = 3 → b = 6 → a &&& b = 2 := by grind
example (a b : Nat) : a = 3 → b = 6 → a ||| b = 7 := by grind
example (a b : Nat) : a = 3 → b = 6 → a ^^^ b = 5 := by grind
example (a b : Nat) : a = 3 → b = 6 → a <<< b = 192 := by grind
example (a b : Nat) : a = 1135 → b = 6 → a >>> b = 17 := by grind
```

Closes #11498
2025-12-05 05:41:34 +00:00
..
Compiler feat: constant folding for Nat.mul (#11517) 2025-12-04 23:38:56 +00:00
Data fix: Char -> Bool as default instance for string search (#11503) 2025-12-04 09:25:16 +00:00
DocString chore: minor String API improvements (#11439) 2025-12-01 11:44:14 +00:00
Elab feat: add not_value constraint to grind_pattern (#11520) 2025-12-05 04:19:34 +00:00
ErrorExplanations feat: improve error messages for invalid field access (#11456) 2025-12-02 17:46:12 +00:00
Language refactor: port shell option processing to Lean (v2) (#11434) 2025-12-02 17:41:51 +00:00
LibrarySuggestions fix: improve "no library suggestions engine registered" error message (#11464) 2025-12-02 00:55:46 +00:00
Linter feat: document that backward options may disappear (#11304) 2025-11-24 17:49:46 +00:00
Meta feat: grind propagators for Nat operators (#11522) 2025-12-05 05:41:34 +00:00
Parser refactor: String functions foldr, all, any, contains to go trough String.Slice (#11357) 2025-11-25 15:42:43 +00:00
ParserCompiler chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
PrettyPrinter refactor: deprecate String.posOf and variants in favor of unified String.find (#11276) 2025-11-23 18:39:53 +00:00
Server chore: minor String API improvements (#11439) 2025-12-01 11:44:14 +00:00
Util feat: document that backward options may disappear (#11304) 2025-11-24 17:49:46 +00:00
Widget chore: rename String.Range to Lean.Syntax.Range (#10852) 2025-10-21 07:32:25 +00:00
AddDecl.lean test: avoid testing colliding private inductives (#11041) 2025-11-01 11:47:52 +00:00
Attributes.lean chore: make declMetaExt persistent for shake (#11201) 2025-11-16 20:11:56 +00:00
AuxRecursor.lean feat: sparse casesOn constructions (#11072) 2025-11-05 15:49:11 +00:00
BuiltinDocAttr.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Class.lean
Compiler.lean chore: remove public section from end of files (#10684) 2025-10-06 13:30:48 +00:00
CoreM.lean feat: catch and provide context for misuse of NNG-style induction pattern (#11347) 2025-11-25 18:44:40 +00:00
Data.lean chore: remove public section from end of files (#10684) 2025-10-06 13:30:48 +00:00
Declaration.lean chore: >6 month old deprecations (#10969) 2025-10-26 22:48:41 +00:00
DeclarationRange.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
DefEqAttrib.lean
DocString.lean
Elab.lean feat: with_weak_namespace command (#11338) 2025-11-25 02:37:40 +00:00
EnvExtension.lean feat: shake import minimizer aware of the module system and arbitrary elaboration dependencies (#10575) 2025-09-28 16:00:00 +00:00
Environment.lean feat: recordIndirectModUse (#11437) 2025-12-01 20:02:38 +00:00
ErrorExplanation.lean chore: rename String.ValidPos to String.Pos (#11240) 2025-11-24 16:40:21 +00:00
ErrorExplanations.lean feat: improve error messages for invalid field access (#11456) 2025-12-02 17:46:12 +00:00
Exception.lean feat: hint about inaccessible private declaration on dot notation failure (#10803) 2025-10-17 09:31:56 +00:00
Expr.lean feat: @[suggest_for] attribute to inform replacements (#11367) 2025-12-04 13:20:37 +00:00
ExtraModUses.lean feat: recordIndirectModUse (#11437) 2025-12-01 20:02:38 +00:00
HeadIndex.lean
Hygiene.lean chore: do not set unused Option.Decl.group (#11307) 2025-11-21 16:44:38 +00:00
IdentifierSuggestion.lean feat: @[suggest_for] attribute to inform replacements (#11367) 2025-12-04 13:20:37 +00:00
ImportingFlag.lean
InternalExceptionId.lean
KeyedDeclsAttribute.lean fix: some ExtraModUses (#10620) 2025-10-03 15:50:40 +00:00
LabelAttribute.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Level.lean fix: move the monad argument for ForIn, ForIn', and ForM (#10204) 2025-11-25 12:20:37 +00:00
LibrarySuggestions.lean fix: make library suggestions available in module files (#11373) 2025-11-26 05:39:27 +00:00
Linter.lean chore: remove public section from end of files (#10684) 2025-10-06 13:30:48 +00:00
LoadDynlib.lean refactor: use String.Slice in String.take and variants (#11180) 2025-11-18 16:13:48 +00:00
LocalContext.lean fix: move the monad argument for ForIn, ForIn', and ForM (#10204) 2025-11-25 12:20:37 +00:00
Log.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Message.lean feat: improve error messages for invalid field access (#11456) 2025-12-02 17:46:12 +00:00
Meta.lean
MetavarContext.lean fix: remove superfluous Monad instances from some spec lemmas (#10564) (#10618) 2025-09-29 15:02:43 +00:00
Modifiers.lean chore: more module system fixes and refinements for finishing batteries port (#10819) 2025-10-21 08:19:50 +00:00
MonadEnv.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Namespace.lean
Parser.lean feat: hexnum parser (#10716) 2025-10-08 21:12:03 +00:00
ParserCompiler.lean doc: correct typos in documentation and comments (#11465) 2025-12-02 06:38:05 +00:00
PrettyPrinter.lean chore: do not set unused Option.Decl.group (#11307) 2025-11-21 16:44:38 +00:00
PrivateName.lean
ProjFns.lean
ReducibilityAttrs.lean feat: allow setting reducibilityCoreExt in async contexts (#11301) 2025-11-21 09:23:14 +00:00
Replay.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
ReservedNameAction.lean
ResolveName.lean chore: more module system fixes and refinements for finishing batteries port (#10819) 2025-10-21 08:19:50 +00:00
Runtime.lean
ScopedEnvExtension.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
Server.lean feat: revamp server logging (#10787) 2025-10-28 16:26:59 +00:00
Setup.lean fix: symbol clashes between packages (#11082) 2025-11-19 02:24:44 +00:00
Shell.lean refactor: port shell option processing to Lean (v2) (#11434) 2025-12-02 17:41:51 +00:00
Structure.lean chore: remove redundant imports in core (#10750) 2025-10-16 20:27:46 +00:00
SubExpr.lean refactor: use String.split instead of String.splitOn or String.splitToList (#11250) 2025-11-19 09:35:19 +00:00
Syntax.lean fix: move the monad argument for ForIn, ForIn', and ForM (#10204) 2025-11-25 12:20:37 +00:00
ToExpr.lean feat: support for Rat scientific literals (#10961) 2025-10-26 02:05:26 +00:00
ToLevel.lean
Util.lean feat: instantiate tactic parameter optimizer (#10916) 2025-10-23 01:22:33 +00:00
Widget.lean chore: remove public section from end of files (#10684) 2025-10-06 13:30:48 +00:00