File tree Expand file tree Collapse file tree 2 files changed +7
-3
lines changed
Mathlib/Tactic/Positivity Expand file tree Collapse file tree 2 files changed +7
-3
lines changed Original file line number Diff line number Diff line change @@ -122,7 +122,7 @@ variable {A : Type*} {e : A}
122
122
lemma lt_of_le_of_ne' {a b : A} [PartialOrder A] :
123
123
(a : A) ≤ b → b ≠ a → a < b := fun h₁ h₂ => lt_of_le_of_ne h₁ h₂.symm
124
124
125
- lemma pos_of_isNat {n : ℕ} [StrictOrderedSemiring A]
125
+ lemma pos_of_isNat {n : ℕ} [OrderedSemiring A] [Nontrivial A]
126
126
(h : NormNum.IsNat e n) (w : Nat.ble 1 n = true ) : 0 < (e : A) := by
127
127
rw [NormNum.IsNat.to_eq h rfl]
128
128
apply Nat.cast_pos.2
@@ -184,11 +184,12 @@ def normNumPositivity (e : Q($α)) : MetaM (Strictness zα pα e) := catchNone d
184
184
| .isBool .. => failure
185
185
| .isNat _ lit p =>
186
186
if 0 < lit.natLit! then
187
- let _a ← synthInstanceQ q(StrictOrderedSemiring $α)
187
+ let _a ← synthInstanceQ q(OrderedSemiring $α)
188
+ let _a ← synthInstanceQ q(Nontrivial $α)
188
189
assumeInstancesCommute
189
190
have p : Q(NormNum.IsNat $e $lit) := p
190
191
haveI' p' : Nat.ble 1 $lit =Q true := ⟨⟩
191
- pure (.positive q(@pos_of_isNat $α _ _ _ $p $p'))
192
+ pure (.positive q(@pos_of_isNat $α _ _ _ _ $p $p'))
192
193
else
193
194
let _a ← synthInstanceQ q(OrderedSemiring $α)
194
195
assumeInstancesCommute
Original file line number Diff line number Diff line change @@ -23,6 +23,9 @@ example : 0 ≤ 3 := by positivity
23
23
24
24
example : 0 < 3 := by positivity
25
25
26
+ example : (0 : ℝ≥0 ∞) < 1 := by positivity
27
+ example : (0 : ℝ≥0 ∞) < 2 := by positivity
28
+
26
29
/- ## Goals working directly from a hypothesis -/
27
30
-- set_option trace.Meta.debug true
28
31
-- sudo set_option trace.Tactic.positivity true
You can’t perform that action at this time.
0 commit comments