lean4-htt/tests
Leonardo de Moura b0a12cb49f
feat: mark Nat power and divisibility theorems for grind (#11519)
This PR marks `Nat` power and divisibility theorems for `grind`. We use
the new `grind_pattern` constraints to control theorem instantiation.
Examples:

```lean
example {x m n : Nat} (h : x = 4 ^ (m + 1) * n) : x % 4 = 0 := by
  grind

example (a m n o p : Nat) : a ∣ n → a ∣ m * n * o * p := by
  grind

example {a b x m n : Nat}
    : n > 0 → x = b * 4^m * a → a = 9^n → m > 0 → x % 6 = 0 := by
  grind

example {a n : Nat}
    : m > 4 → a = 2^(m^n) → a % 2 = 0 := by
  grind
```

Closes #11515

Remark: We are adding support for installing extra theorems to `lia`
(aka `cutsat`). The example at #11515 can already be solved by `grind`
with this PR, but we still need to add the new theorems to the set for
`lia`.

cc @kim-em
2025-12-05 03:49:01 +00:00
..
bench test: add big match on nat lit benchmarks (#11502) 2025-12-04 08:21:56 +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: mark Nat power and divisibility theorems for grind (#11519) 2025-12-05 03:49:01 +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