lean4-htt/tests
Leonardo de Moura 0173444d24
feat: heterogeneous contructor injectivity in grind (#11491)
This PR implements heterogeneous contructor injectivity in `grind`.

Example:
```lean
opaque double : Nat → Nat

inductive Parity : Nat -> Type
  | even (n) : Parity (double n)
  | odd  (n) : Parity (Nat.succ (double n))

opaque q : Nat → Nat → Prop
axiom qax : q a b → double a = double b
attribute [grind →] qax

example
  (motive : (x : Nat) → Parity x → Sort u_1)
  (h_2 : (j : Nat) → motive (double j) (Parity.even j))
  (j n : Nat)
  (heq_1 : q j n) -- Implies that `double j = double n`
  (heq_2 : Parity.even n ≍ Parity.even j):
  h_2 n ≍ h_2 j := by
grind
```

Closes #11449
2025-12-03 04:01:19 +00:00
..
bench doc: correct typos in documentation and comments (#11465) 2025-12-02 06:38:05 +00:00
bench-radar chore: update and add benchmark metrics (#11420) 2025-11-28 14:40:43 +00:00
compiler chore: minor String API improvements (#11439) 2025-12-01 11:44:14 +00:00
elabissues
ir
lake feat: lake: resolve module clashes on import (#11270) 2025-12-03 00:46:20 +00:00
lean feat: heterogeneous contructor injectivity in grind (#11491) 2025-12-03 04:01:19 +00:00
pkg feat: lake: resolve module clashes on import (#11270) 2025-12-03 00:46:20 +00:00
playground
plugin
simpperf
.gitignore
common.sh
lakefile.toml
lean-toolchain