lean4-htt/tests
Leonardo de Moura 0d2a574f96
feat: user-defined grind attributes (#11765)
This PR implements user-defined `grind` attributes. They are useful for
users that want to implement tactics using the `grind` infrastructure
(e.g., `progress*` in Aeneas). New `grind` attributes are declared using
the command
```lean
register_grind_attr my_grind
```
The command is similar to `register_simp_attr`. After the new attribute
is declared. Recall that similar to `register_simp_attr`, the new
attribute cannot be used in the same file it is declared.
```lean
opaque f : Nat → Nat
opaque g : Nat → Nat

@[my_grind] theorem fax : f (f x) = f x := sorry

example theorem fax2 : f (f (f x)) = f x := by
  fail_if_success grind
  grind [my_grind]
```

TODO: remove leftovers after update stage0
2025-12-22 02:57:25 +00:00
..
bench refactor: remove IteratorCollect (#11706) 2025-12-17 23:02:33 +00:00
bench-radar chore: measure dynamic symbols in benchmarks (#11568) 2025-12-11 16:10:27 +00:00
compiler chore: minor String API improvements (#11439) 2025-12-01 11:44:14 +00:00
elabissues
ir
lake fix: lake: meta import transitivity (#11683) 2025-12-16 08:28:52 +00:00
lean feat: user-defined grind attributes (#11765) 2025-12-22 02:57:25 +00:00
pkg feat: user-defined grind attributes (#11765) 2025-12-22 02:57:25 +00:00
playground
plugin
simpperf
.gitignore
common.sh feat: module system is no longer experimental (#11637) 2025-12-12 21:20:26 +00:00
lakefile.toml feat: module system is no longer experimental (#11637) 2025-12-12 21:20:26 +00:00
lean-toolchain