Zulip Chat Archive
Stream: general
Topic: New chapter in MIL
Patrick Massot (Oct 24 2023 at 14:09):
There is a new chapter in Mathematics in Lean. As usual we are interested in any corrections you could have, or any information about what is difficult to understand.
Jireh Loreaux (Oct 24 2023 at 17:49):
for typos and things like that, would you prefer a list or a PR?
Patrick Massot (Oct 24 2023 at 17:55):
A PR is better of course. The relevant repo is https://github.com/avigad/mathematics_in_lean_source
Jireh Loreaux (Oct 24 2023 at 19:51):
https://github.com/avigad/mathematics_in_lean_source/pull/142 for the PR about typos and style. It should be an easy review. Overall, this chapter flowed really well; I think it's great!
Two things I noticed while reading:
- Early on when discussing morphisms, the proofs used
f.map_mul
orf.map_inv
as opposed tomap_mul f
andmap_inv f
. Of course this is minor, but at the same time, it doesn't seem like these kinds of generic hom-class lemmas were discussed in the previous chapter (7.2: Hierarchies - Morphisms), so maybe the point to do it is here? - Upon introducing the polynomial notation
R[X]
, I think that special emphasis should be placed on the fact that this is only syntax, theX
has no meaning. It's not likeR[Y]
gives you polynomials in a different indeterminate. The same goes forPolynomial.X
which gets abbreviated toX
in the examples. On a cursory read, I can imagine a newcomer (especially students) being confused about the fact thatY
doesn't work if you replaceX
everywhere.
Patrick Massot (Oct 24 2023 at 19:58):
Thank you very much for your patience correcting all those white space issues in particular. Your remarks are also useful. I don't have time to work on them now but I'll open an issue.
Eric Wieser (Oct 24 2023 at 20:12):
As a slight aside, my takeaway from
More generally, given an ring morphism
f : R →+* S
one can evaluateP : R[X]
at a point
inS
usingPolynomial.eval₂
. This one produces an actual function fromR[X]
toS
since it does not assume the existence of aAlgebra R S
instance, so dot notation works as
you would expect.#check (Complex.ofReal : ℝ →+* ℂ)
is that we should remove docs#Complex.ofReal because it's just algebraMap
!
Jireh Loreaux (Oct 24 2023 at 20:16):
Isn't the point that we need some def
to apply the @[coe]
attribute to though?
Eric Wieser (Oct 24 2023 at 20:17):
That's docs#Complex.ofReal'
Last updated: Dec 20 2023 at 11:08 UTC