lean4-htt/src/Init/Grind
Leonardo de Moura 6881177e38
feat: grind order negative constraints (#10600)
This PR implements support for negative constraints in `grind order`.
Examples:

```lean
open Lean Grind
example [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsLinearPreorder α]
    (a b c d : α) : a ≤ b → ¬ (c ≤ b) → ¬ (d ≤ c) → d < a → False := by
  grind -linarith (splits := 0)

example [LE α] [Std.IsLinearPreorder α]
    (a b c d : α) : a ≤ b → ¬ (c ≤ b) → ¬ (d ≤ c) → ¬ (a ≤ d) → False := by
  grind -linarith (splits := 0)

example [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsLinearPreorder α] [CommRing α] [OrderedRing α]
    (a b c d : α) : a - b ≤ 5 → ¬ (c ≤ b) → ¬ (d ≤ c + 2) → d ≤ a - 8 → False := by
  grind -linarith (splits := 0)
```
2025-09-28 01:50:27 +00:00
..
Module feat: NatModule equation normalization theorem (#10280) 2025-09-06 23:32:26 +00:00
Ordered feat: helper theorems for grind order (#10589) 2025-09-27 04:04:44 +00:00
Ring feat: internalization for grind order (#10562) 2025-09-26 03:49:06 +00:00
AC.lean refactor: use deriving LawfulBEq in Init (#10411) 2025-09-16 16:26:32 +00:00
Attr.lean doc: extra grind docstrings (#10486) 2025-09-22 03:27:48 +00:00
Cases.lean feat: attribute [grind cases eager] PProd MProd (#9121) 2025-07-01 04:02:47 +00:00
Ext.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Injective.lean feat: support for injective functions in grind (#10483) 2025-09-21 06:31:46 +00:00
Lemmas.lean fix: equality congruence proofs in grind (#9767) 2025-08-06 16:40:27 +00:00
Module.lean feat: NatModule equation normalization theorem (#10280) 2025-09-06 23:32:26 +00:00
Norm.lean chore: missing grind normalization (#10463) 2025-09-19 18:50:39 +00:00
Offset.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Order.lean feat: grind order negative constraints (#10600) 2025-09-28 01:50:27 +00:00
Ordered.lean feat: upstream several Rat lemmas from mathlib (#10077) 2025-08-25 06:02:27 +00:00
PP.lean feat: overhaul meta system (#10362) 2025-09-17 21:04:29 +00:00
Propagator.lean feat: make private the default in module (#9044) 2025-06-28 16:30:53 +00:00
Ring.lean feat: non-commutative ring normalizer in grind (#10375) 2025-09-14 07:35:08 +00:00
Tactics.lean fix: Nat adapter in grind order (#10599) 2025-09-28 00:26:37 +00:00
ToInt.lean refactor: use deriving LawfulBEq in Init (#10411) 2025-09-16 16:26:32 +00:00
ToIntLemmas.lean chore: avoid confusing public import all combination (#10051) 2025-08-22 12:04:42 +00:00
Util.lean refactor: module-ize remainder of Std (#9195) 2025-07-17 11:43:57 +00:00