lean4-htt/tests/pkg
Joachim Breitner ac9a1cb415
feat: add @[backward_defeq] attribute and local useBackward simp option (#13492)
This PR introduces stricter inference for the `@[defeq]` attribute and a
companion `@[backward_defeq]` attribute that preserves the pre-PR
behavior
as an opt-in.

### What changed

* `@[defeq]` is now inferred only when the equation holds at
  `.instances` transparency (the transparency `dsimp` operates at).
* `@[backward_defeq]` is the old set: every theorem whose `rfl` proof
the legacy inference would have accepted is tagged `@[backward_defeq]`,
  so `defeq ⊆ backward_defeq` holds by construction.
* The option `backward.defeqAttrib.useBackward` (default `false`) makes
  `dsimp` also use `@[backward_defeq]` theorems, restoring the pre-PR
  behavior for a specific proof or file.
* The option is eqn-affecting: its value at the point of a function's
  definition is recorded so that the equation lemmas later generated for
  that function use the same value, regardless of the ambient option at
  the use site.

### Mathlib adaption

A companion adaption branch (`lean-pr-testing-backward-defeq-attrib` on
mathlib4) builds cleanly against this PR and passes `lake test` without
warnings. Most adaption changes are scoped
`set_option backward.defeqAttrib.useBackward true in` additions on the
failing declarations; a small number of files needed proof-level edits
where the stored form of a `dsimp%`/`@[reassoc]`/`@[elementwise]`
/`@[simps]`/`@[to_app]`-generated lemma had drifted under the stricter
regime.

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 10:07:59 +00:00
..
builtin_attr chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
cbv_attr chore: disable cbv usage warning (#12986) 2026-03-19 14:12:04 +00:00
collectAxioms feat: support #print axioms under the module system (#13117) 2026-03-27 10:15:49 +00:00
debug fix: lake: error on executables with duplicate root module names (#13028) 2026-03-23 18:10:10 +00:00
def_clash chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
deprecated_arg feat: add deprecated_arg attribute (#13011) 2026-03-30 10:20:44 +00:00
deprecated_module feat: add deprecated_module (#13002) 2026-04-01 14:40:43 +00:00
deprecated_option feat: allow deprecating options (#13195) 2026-04-02 14:44:11 +00:00
deriving chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
frontend chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
homo feat: notify satellite solvers about asserted equalities in grind (#13532) 2026-04-26 19:45:15 +00:00
initialize chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
issue12825 fix: re-privatize constant name prefix in realizeConst to avoid diamond import collisions (#12964) 2026-03-18 13:54:50 +00:00
leanchecker refactor: remove Lean.Environment.replay from core (#12972) 2026-03-18 22:11:42 +00:00
linter_set chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
misc chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
mod_clash chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
module feat: add @[backward_defeq] attribute and local useBackward simp option (#13492) 2026-04-27 10:07:59 +00:00
path with spaces chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
prv chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
rebuild chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
setup chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
signal refactor: move Async and Http from Internal to Std (#13511) 2026-04-23 19:55:22 +00:00
structure_docstrings chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
sym_ext feat: add extensible state mechanism for SymM (#13080) 2026-03-24 03:58:45 +00:00
sym_simp_attr feat: add Sym.simp theorem set attributes (#13018) 2026-03-21 03:53:39 +00:00
test_extern chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
user_attr chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
user_attr_app chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
user_ext chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
user_opt chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
user_plugin chore: improve how test suite interacts with stages (#12913) 2026-03-16 15:20:03 +00:00
ver_clash chore: clean up old test artifacts (#13179) 2026-03-30 08:02:52 +00:00
.gitignore chore: migrate pkg tests (#12889) 2026-03-11 18:55:46 +00:00