|
| 1 | +open Lean Grind |
| 2 | + |
| 3 | +example [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] |
| 4 | + (a b c : α) : a ≤ b → b ≤ c → c < a → False := by |
| 5 | + grind |
| 6 | + |
| 7 | +example [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] |
| 8 | + (a b c d : α) : a ≤ b → b ≤ c → c < d → d ≤ a → False := by |
| 9 | + grind |
| 10 | + |
| 11 | +example [LE α] [Std.IsPreorder α] |
| 12 | + (a b c : α) : a ≤ b → b ≤ c → a ≤ c := by |
| 13 | + grind |
| 14 | + |
| 15 | +example [LE α] [Std.IsPreorder α] |
| 16 | + (a b c d : α) : a ≤ b → b ≤ c → c ≤ d → a ≤ d := by |
| 17 | + grind |
| 18 | + |
| 19 | +example [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] |
| 20 | + (a b c : α) : a ≤ b → b ≤ c → c < a → False := by |
| 21 | + grind -linarith |
| 22 | + |
| 23 | +example [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] |
| 24 | + (a b : α) : a ≤ 5 → b ≤ 8 → a > 6 ∨ b > 10 → False := by |
| 25 | + grind -linarith (splits := 0) |
| 26 | + |
| 27 | +example [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [CommRing α] [OrderedRing α] |
| 28 | + (a b c : α) : a + b*c + 2*c ≤ 5 → a + c > 5 - c - c*b → False := by |
| 29 | + grind -linarith (splits := 0) |
| 30 | + |
| 31 | +example [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] |
| 32 | + (a b c : α) : a - b ≤ 5 → -c + b ≤ -3 → c < a - 2 → False := by |
| 33 | + grind -linarith |
| 34 | + |
| 35 | +example [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] |
| 36 | + (a b c : α) : a - b ≤ 5 → -c + b < -3 → c < a - 2 → False := by |
| 37 | + grind -linarith |
| 38 | + |
| 39 | +example [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] |
| 40 | + (a b c : α) : a - b < 5 → -c + b < -3 → c < a - 2 → False := by |
| 41 | + grind -linarith |
| 42 | + |
| 43 | +example [LE α] [LT α] [Std.LawfulOrderLT α] [Std.IsPreorder α] [Ring α] [OrderedRing α] |
| 44 | + (a b c : α) : a - b < 5 → -c + b ≤ -3 → c < a - 2 → False := by |
| 45 | + grind -linarith |
| 46 | + |
| 47 | +example (a b c : Int) : a - b ≤ 5 → -c + b ≤ -3 → c < a - 2 → False := by |
| 48 | + grind -linarith -cutsat |
| 49 | + |
| 50 | +example (a b : Int) (h : a + b > 5) : (if a + b ≤ 0 then b else a) = a := by |
| 51 | + grind -linarith -cutsat (splits := 0) |
0 commit comments