Zulip Chat Archive
Stream: new members
Topic: semilattice, dvd, associated
Damiano Testa (Apr 09 2021 at 10:17):
Is it possible to move all that is here starting from Johan's comment directed a me to the new topic? Or should I simply start a new topic?
Mario Carneiro (Apr 09 2021 at 10:18):
anyone can change topics retroactively
Damiano Testa (Apr 09 2021 at 10:19):
Ok, topic name changed! Now, let's continue, since I found it quite interesting!
Kevin Buzzard (Apr 09 2021 at 10:21):
Yeah, if (∀ a : M, m ∣ a ↔ n ∣ a) ↔ associated m n
is missing then that's one thing, and then for nat you need associated iff equal.
Damiano Testa (Apr 09 2021 at 10:22):
So, I would define a relation on a monoid to simply be that r a b
if b
is divisible by a
. To "remove" loops, I would need to quotient by them.
How do you form quotients by relations?
Damiano Testa (Apr 09 2021 at 10:23):
Once that is done, I would prove that the relation is induces a partial order on the quotient.
Kevin Buzzard (Apr 09 2021 at 10:38):
I think you need commutativity to make this sensible. To form a quotient by a relation check out the section on quotients in #tpil or my notes on quotients from my course https://xenaproject.wordpress.com/2021/03/04/formalising-mathematics-workshop-7-quotients/
Mario Carneiro (Apr 09 2021 at 10:46):
Also, I'm suggesting here that the construction of a partial order quotienting a preorder is independent of anything about divisibility
Mario Carneiro (Apr 09 2021 at 10:47):
although it has some relations to associated
and other things when you instantiate the construction in this setting
Damiano Testa (Apr 09 2021 at 10:47):
Yes, I was going to take a "general" approach, where each step "resets the bar".
Eric Wieser (Apr 09 2021 at 16:21):
How bad an idea is this statement
/-- `dvd` is injective in the left argument -/
lemma dvd_left_injective : function.injective ((∣) : ℕ → ℕ → Prop) :=
λ m n h, let h := congr_fun h in dvd_antisymm ((h n).mpr (dvd_refl _)) ((h m).mp (dvd_refl _))
Eric Wieser (Apr 09 2021 at 16:33):
From which the original statement recovers as
lemma dvd_right_iff_eq {m n : ℕ} : (∀ a : ℕ, m ∣ a ↔ n ∣ a) ↔ m = n :=
iff.trans (forall_congr $ λ _, eq_iff_iff.symm) $
function.funext_iff.symm.trans dvd_left_injective.eq_iff
Kevin Buzzard (Apr 09 2021 at 16:34):
That's a great way of thinking about it!
Damiano Testa (Apr 09 2021 at 18:43):
That is a very funny way of expressing the result! I had never thought about it like this!
Damiano Testa (Apr 09 2021 at 18:44):
Eric, if you want, I can add it to PR #7132, unless you want to PR it on its own.
Eric Wieser (Apr 09 2021 at 19:47):
I think your original version is better, but perhaps proving mine in terms of yours is fine to have too, if only to leave in as a puzzle for the reader to teach them more about equality in lean
Damiano Testa (Apr 11 2021 at 17:04):
I have been playing with the circle of ideas that was discussed here: I now have a (very easy) proof that divisibility in a monoid
is a preorder
.
I also proved that two elements that divide each other in a cancel_comm_monoid
are "associated": they differ by a unit.
The next step would be to form the quotient of a preorder
to obtain a partial_order
.
Finally, in the case of the partial_order
obtained as above from a cancel_comm_monoid
, I will want to establish that the "fibres" of this quotient are torsors under the group of units (this is essentially already available).
My next main obstacle is that I do not know how to form quotients. I found quotient
, but there is very little guidance on how to use it. Also, it is in the folder of files that I have been warned to not touch, so I feel a little worried about even browsing it!
Should I simply pull up my sleeves and learn how to use quotient
, or is there some easier file that I can look at?
Yakov Pechersky (Apr 11 2021 at 17:15):
You can read Kevin's post on https://xenaproject.wordpress.com/2021/03/04/formalising-mathematics-workshop-7-quotients/, and look at the exercises in https://github.com/ImperialCollegeLondon/formalising-mathematics/tree/master/src/week_7
Yakov Pechersky (Apr 11 2021 at 17:16):
The basic aspect of it, if you have a setoid X
, which you get from some equivalence on X, which is just a relation r : X -> X -> Prop
such that reflexive r
, symmetric r
, transitive r
, you can form a quotient
.
Damiano Testa (Apr 11 2021 at 17:21):
Yakov, thanks for the pointer: I will take a look!
Last updated: Dec 20 2023 at 11:08 UTC