lean4-htt/tests
Leonardo de Moura 47228b94fd
feat: arbitrary grind parameters (#11268)
This PR implements support for arbitrary `grind` parameters. The feature
is similar to the one available in `simp`, where a proof term is treated
as a local universe-polymorphic lemma. This feature relies on `grind
-revert` (see #11248). For example, users can now write:

```lean
def snd (p : α × β) : β := p.2
theorem snd_eq (a : α) (b : β) : snd (a, b) = b := rfl

/--
trace: [grind.ematch.instance] snd_eq (a + 1): snd (a + 1, Type) = Type
[grind.ematch.instance] snd_eq (a + 1): snd (a + 1, true) = true
-/
#guard_msgs (trace) in
set_option trace.grind.ematch.instance true in
example (a : Nat) : (snd (a + 1, true), snd (a + 1, Type), snd (2, 2)) = (true, Type, snd (2, 2)) := by
  grind [snd_eq (a + 1)]
```

Note that in the example above, `snd_eq` is instantiated only twice, but
with different universe parameters.
As described in #11248, the new feature cannot be used with `grind
+revert`.
2025-11-19 21:01:01 +00:00
..
bench test: benchmark for large partial match (#11199) 2025-11-16 11:20:31 +00:00
compiler refactor: use String.Slice in String.take and variants (#11180) 2025-11-18 16:13:48 +00:00
elabissues
ir
lake fix: symbol clashes between packages (#11082) 2025-11-19 02:24:44 +00:00
lean feat: arbitrary grind parameters (#11268) 2025-11-19 21:01:01 +00:00
pkg fix: symbol clashes between packages (#11082) 2025-11-19 02:24:44 +00:00
playground
plugin chore: re-enable tests (#10923) 2025-10-23 08:38:57 +00:00
simpperf
.gitignore
common.sh chore: make workspaceSymbol benchmarks modules (#11094) 2025-11-05 18:40:39 +00:00
lakefile.toml fix: detect private references in inferred type of public def (#10762) 2025-10-15 12:51:54 +00:00
lean-toolchain