Zulip Chat Archive
Stream: general
Topic: Strong positivity
Eric Wieser (Aug 10 2023 at 16:48):
Jeremy Avigad said:
With my American undergraduate and graduate training in mathematics, I interpret "x is positive" as "x > 0." Webster agrees with me:
https://www.merriam-webster.com/dictionary/positive
Wikipedia lists both interpretations:
https://en.wikipedia.org/wiki/Sign_(mathematics)#Terminology_for_signs
From that second page:
The same terminology is sometimes used for functions that yield real or other signed values. For example, a function would be called a positive function if its values are positive for all arguments of its domain, or a non-negative function if all of its values are non-negative.
Which is already not what 0 < f
means in Mathlib!
Yury G. Kudryashov (Aug 10 2023 at 16:58):
BTW, sometimes ∀ x, f x < g x
is the right notion (e.g., if we want to generalize docs#isOpen_Ioi)
Yury G. Kudryashov (Aug 10 2023 at 16:58):
But I don't know how to formulate it in terms of a PartialOrder
.
Yaël Dillies (Aug 10 2023 at 17:08):
Anatole Dedecker (Aug 10 2023 at 17:11):
It’s just docs#StrongLT apparently
Yury G. Kudryashov (Aug 10 2023 at 17:54):
Anatole Dedecker said:
It’s just docs#StrongLT apparently
But we don't have a generic StrongLT
that works for linear orders, Prod
s and Pi
s of them.
Yaël Dillies (Aug 10 2023 at 17:58):
Yeah, I thought about this problem, but haven't come up with a solution yet.
Eric Wieser (Aug 10 2023 at 18:08):
Is the solution not to make StrongLT a type class?
Jireh Loreaux (Aug 10 2023 at 18:33):
There's more annoyances too in the realm of strongly positive. In C star algebra theory an element a
is said to be strictly positive if it is positive (i.e., 0 \le a
) and the hereditary C star subalgebra it generates is the full algebra. If you represent that C star algebra faithfully on a Hilbert space, that condition is that the element corresponding to a
is positive and zero is not an eigenvalue (or equivalently, for all x
, 0 < inner (a x) x
), which is the link to strongly positive.
Yaël Dillies (Aug 10 2023 at 18:47):
Eric Wieser said:
Is the solution not to make StrongLT a type class?
If it were a typeclass, we would still need to state something about it. Else it's just notation.
Yaël Dillies (Aug 10 2023 at 19:02):
In particular, what should StrongLT
mean on alpha x beta x gamma
? With the obvious definition, it would mean x.1 < y.1 and (x.2.1 < y.2.1 and x.2.2 <= y.2.2 or x.2.1 <= y.2.1 and x.2.2 < y.2.2
, which is not the same as x.1 < y.1 and x.2.1 < y.2.1 and x.2.2 < y.2.2
.
One solution would be to have an instance LinearOrder alpha -> StrongLT alpha
and then the instance StrongLT alpha -> StrongLT beta -> StrongLT (alpha x beta)
.
Notification Bot (Aug 10 2023 at 19:15):
13 messages were moved here from #general > RFC: naming convention for nonneg
/pos
by Eric Wieser.
Last updated: Dec 20 2023 at 11:08 UTC