Zulip Chat Archive
Stream: general
Topic: naming issues
Kenny Lau (May 02 2018 at 07:41):
#check sub_pos_of_lt -- sub_pos_of_lt : ?M_4 < ?M_3 → 0 < ?M_3 - ?M_4 #check sub_neg_of_lt -- sub_neg_of_lt : ?M_3 < ?M_4 → ?M_3 - ?M_4 < 0 #check sub_nonpos_of_le -- sub_nonpos_of_le : ?M_3 ≤ ?M_4 → ?M_3 - ?M_4 ≤ 0 #check sub_nonneg_of_le -- sub_nonneg_of_le : ?M_4 ≤ ?M_3 → 0 ≤ ?M_3 - ?M_4
Kenny Lau (May 02 2018 at 07:41):
but I know the answer already: this is in core so we can't do nothing about it
Mario Carneiro (May 02 2018 at 08:57):
what's the issue?
Kenny Lau (May 02 2018 at 09:40):
what's the issue?
shouldn't one be lt
and the other be gt
?
Mario Carneiro (May 02 2018 at 09:43):
no? there is no usage of gt
in those lemmas
Kenny Lau (May 02 2018 at 09:43):
I mean, how can both be lt
Kenny Lau (May 02 2018 at 09:43):
so does lt imply sub_pos or sub_neg?
Mario Carneiro (May 02 2018 at 09:43):
both...
Mario Carneiro (May 02 2018 at 09:44):
it's just a matter of where the variables go
Mario Carneiro (May 02 2018 at 09:45):
in mathlib the analogous theorem is just called sub_pos
Kenny Lau (May 02 2018 at 09:45):
aha
Johan Commelin (May 02 2018 at 09:46):
Lol, we need Lean to generate the names for us, given the type. Then we can have provably correct names
Mario Carneiro (May 02 2018 at 09:46):
although the usage of pos
and neg
as names for >0 and <0 is problematic since it overlaps neg
meaning -x
Simon Hudon (May 02 2018 at 12:43):
maybe -x
should be called minus
instead of neg
?
Johan Commelin (Apr 07 2020 at 08:03):
What is the correct name for the following class?
class give_me_a_name (α : Type*) extends comm_monoid α, partial_order α := (mul_le_mul_left : ∀ a b : α, a ≤ b → ∀ c : α, c * a ≤ c * b) (lt_of_mul_lt_mul_left : ∀ a b c : α, a * b < a * c → b < c)
Kevin Buzzard (Apr 07 2020 at 08:06):
a pomonoid :-)
Alex J. Best (Apr 07 2020 at 08:11):
Cancellative partially ordered monoid?
Alex J. Best (Apr 07 2020 at 08:12):
Is it equivalent to $a b \le a c \iff b \le c$ ?
Alex J. Best (Apr 07 2020 at 08:13):
Ahh I guess its not right, if I take $\ZZ_{\ge 0}$ then $0 * 3 \le 0 * 1$ but $3 \le 1$ is false.
Kevin Buzzard (Apr 07 2020 at 08:20):
Yes, this all comes up from the general "group with 0" thing meant to encapsulate targets of valuations/norms such as
Alex J. Best (Apr 07 2020 at 08:22):
Yeah I found several references online to translation invariant monoids and pomonoids, but they all mean this stronger thing.
Johan Commelin (Apr 07 2020 at 08:22):
Alex J. Best said:
Cancellative partially ordered monoid?
You might want to call it an ordered_comm_monoid
... but those already exist: just replace *
with +
in the definition.
Last updated: Dec 20 2023 at 11:08 UTC