Zulip Chat Archive

Stream: general

Topic: bot_le v zero_le


Kevin Buzzard (Mar 20 2022 at 00:24):

import tactic

#check @bot_le -- ∀ {a : α}, ⊥ ≤ a
#check @zero_le -- ∀ (a : α), 0 ≤ a

Why the difference in binders? I omitted the typeclasses; for bot_le it's [has_le α] [order_bot α] and for zero_le it's [canonically_ordered_add_monoid α]

Eric Wieser (Mar 20 2022 at 09:16):

I think the style guides are ambiguous with how to deal with ≤

Eric Wieser (Mar 20 2022 at 09:17):

On the one hand, the argument could be explicit because ≤ is like =

Eric Wieser (Mar 20 2022 at 09:18):

On the other, A ≤ B is often defeq to x ∈ A → x ∈ B, where x, A, and maybe B would then usually be made explicit

Yaël Dillies (Mar 20 2022 at 09:56):

I would make it explicit. is rarely defeq to x ∈ A → x ∈ B, especially when dealing with a 0 in the order and even lemmas often have (over)explicit arguments.

Kevin Buzzard (Mar 20 2022 at 11:05):

In my experience <= is often defeq to the implication because I'm usually dealing with submodules, ideals, subspaces etc rather than these order types

Damiano Testa (Mar 20 2022 at 12:24):

I often found that I wished an argument was explicit, rather than being annoyed by it being not implicit. Hence, my preference would be to make them explicit!

Adam Topaz (Mar 20 2022 at 14:35):

+1 from me for making it explicit.

Adam Topaz (Mar 20 2022 at 14:36):

Same goes for docs#inf_le_left and its friends

Yaël Dillies (Mar 20 2022 at 14:47):

For the record, I just wrote @inf_comm _ _ a :grinning:


Last updated: Dec 20 2023 at 11:08 UTC