Zulip Chat Archive

Stream: mathlib4

Topic: Speculative inequality tactics


Heather Macbeth (Sep 20 2025 at 12:43):

(Among other things, we don't have a negativity discharger tactic.)

Jovan Gerbscheid (Sep 20 2025 at 12:45):

Though if we had such a discharger tactic, I would expect it to be implemented as part of the positivity tactic.

Jovan Gerbscheid (Sep 20 2025 at 12:48):

So that it could for example also do this:

example (n m : ) (hn : n < 0) (hm : m < 0) : 0 < n * m := by
  positivity

Aaron Liu (Sep 20 2025 at 12:49):

that feels like some sort of negativity

Aaron Liu (Sep 20 2025 at 12:50):

should we still call it positivity if it's doing negativity too?

Jovan Gerbscheid (Sep 20 2025 at 12:51):

Yes? It's already doing non-zero-ness as well, and we don't call it positivity_non_zero_ness

Jovan Gerbscheid (Sep 20 2025 at 12:52):

Although maybe one day we will have a tactic subsuming gcongr and positivity, and then we'll need a new name for it.

Notification Bot (Sep 20 2025 at 13:07):

7 messages were moved here from #PR reviews > #29364 `field_simp` for inequalities by Heather Macbeth.

Lawrence Wu (llllvvuu) (Sep 20 2025 at 14:55):

sign? would also solve the name length issue

Michael Rothgang (Sep 20 2025 at 14:56):

From a user's POV, I'd rather have user-facing tactics positivity and negativity. Internally, these might be implemented as some kind of sign tactic.

Jovan Gerbscheid (Sep 20 2025 at 16:12):

Would you still want to call it negativity if the goal was -bla < 0, where bla is some complicated expression which is positive by the positivity tactic?

Michael Rothgang (Sep 20 2025 at 16:33):

Yes - the goal is to prove something is negative after all. (And indeed, in the example you give, negativity should probably do something equivalent to positivity on bla.)


Last updated: Dec 20 2025 at 21:32 UTC