lean4-htt/src
Leonardo de Moura 675244de76
feat: [grind_eq] attribute for the grind tactic (#6539)
This PR introduces the `[grind_eq]` attribute, designed to annotate
equational theorems and functions for heuristic instantiations in the
`grind` tactic.
When applied to an equational theorem, the `[grind_eq]` attribute
instructs the `grind` tactic to automatically use the annotated theorem
to instantiate patterns during proof search. If applied to a function,
it marks all equational theorems associated with that function.

```lean
@[grind_eq]
theorem foo_idempotent : foo (foo x) = foo x := ...

@[grind_eq] def f (a : Nat) :=
  match a with
  | 0 => 10
  | x+1 => g (f x)
```

In the example above, the `grind` tactic will add instances of the
theorem `foo_idempotent` to the local context whenever it encounters the
pattern `foo (foo x)`. Similarly, functions annotated with `[grind_eq]`
will propagate this annotation to their associated equational theorems.
2025-01-05 21:38:05 +00:00
..
bin chore: CMAKE_CXX_SYSROOT_FLAG is also needed for linking (#6297) 2024-12-03 16:14:22 +00:00
cmake feat: compile against Windows SDK headers under Windows (#5753) 2024-10-22 13:00:02 +00:00
include/lean feat: add support for Float32 to the Lean runtime (#6348) 2024-12-09 21:33:43 +00:00
Init feat: add term offset support to the grind E-matching modulo (#6533) 2025-01-05 02:20:17 +00:00
initialize
kernel doc: refine kernel code comments (#6150) 2024-11-23 17:13:51 +00:00
lake feat: lake: local package overrides (#6411) 2024-12-20 05:33:50 +00:00
Lean feat: [grind_eq] attribute for the grind tactic (#6539) 2025-01-05 21:38:05 +00:00
library feat: add Float32 support (#6366) 2024-12-11 02:55:58 +00:00
runtime fix: sharecommon bug (#6415) 2024-12-19 02:52:56 +00:00
shell
Std chore: import cleanup in Init (#6522) 2025-01-04 04:13:13 +00:00
util feat: lean --error=kind (#6362) 2024-12-14 01:31:14 +00:00
cadical.mk feat: ship cadical (#4325) 2024-08-23 09:13:27 +00:00
CMakeLists.txt chore: CMAKE_CXX_SYSROOT_FLAG is also needed for linking (#6297) 2024-12-03 16:14:22 +00:00
config.h.in
githash.h.in
Init.lean feat: partial_fixpoint: monotonicity tactic (#6506) 2025-01-02 11:07:05 +00:00
lakefile.toml.in
lean-toolchain
Lean.lean chore: remove SplitIf.ext cache (#5571) 2024-10-17 09:36:00 +00:00
lean.mk.in
Leanc.lean
Std.lean refactor: move IO.Channel and IO.Mutex to Std.Sync (#6282) 2024-12-03 09:36:50 +00:00
stdlib.make.in fix: rm new shared libs before build for Windows (#5541) 2024-10-02 04:06:03 +00:00
stdlib_flags.h feat: add debug.proofAsSorry (#6300) 2024-12-03 23:21:38 +00:00
version.h.in chore: tag prerelease builds with -pre (#5943) 2024-11-06 14:47:52 +00:00