Zulip Chat Archive
Stream: maths
Topic: Schemes over fields and base change
Bryan Wang (Sep 09 2025 at 08:36):
Are there idiomatic ways to state the following:
- scheme over a field k
- base change of this scheme to a field extension L of k
From what I can see, getting a statement is not the problem, I'm just wondering if there is a standard or if one should maybe make a definition.
Christian Merten (Sep 09 2025 at 09:16):
It depends on the context: The options we use are:
import Mathlib
universe u
open AlgebraicGeometry CategoryTheory Limits
noncomputable section
variable (X : Scheme.{u}) (k L : Type u) [Field k] [Field L] [Algebra k L]
-- should be the default option
example (f : X ⟶ Spec(k)) :
pullback f (Spec.map (CommRingCat.ofHom <| algebraMap k L)) ⟶ Spec(L) :=
pullback.snd _ _
-- sometimes a good choice
example [X.Over Spec(k)] :
(pullback (X ↘ Spec(k))
(Spec.map (CommRingCat.ofHom <| algebraMap k L))).Over Spec(L) :=
⟨pullback.snd _ _⟩
-- only if really needed
example (X : Over Spec(k)) : Over Spec(L) :=
(Over.pullback (Spec.map (CommRingCat.ofHom <| algebraMap k L))).obj X
I admit this does not look great, but the main problem here is the Spec.map (CommRingCat.ofHom <| algebraMap k L))). There are two ways to fix this:
- rename
CommRingCat.ofHomtoCommRingCat.Hom.of, this would turn this intoSpec.map (.of <| algebraMap k L). - add a notation
Spec.map(f)elaborating toSpec.map (CommRingCat.ofHom f).
Christian Merten (Sep 09 2025 at 09:19):
If you give me a more concrete setting, I can also give a more explicit recommendation.
Kim Morrison (Sep 09 2025 at 22:30):
Christian Merten said:
- rename
CommRingCat.ofHomtoCommRingCat.Hom.of
:+1:
Bryan Wang (Sep 10 2025 at 00:31):
Thank you very much! I was thinking along the lines of e.g. for elliptic curves there is docs#WeierstrassCurve.baseChange, so perhaps we could have something similar for k-schemes
Antoine Chambert-Loir (Sep 12 2025 at 16:34):
@Christian Merten , would you insert these lines in the docstring of the relevant mathlib file? (probably the one definining schemes)
Christian Merten (Sep 12 2025 at 16:38):
I can do that, but I am wondering about the right place. Should we use the theory documentation section of the website for that? I.e. add a section "AlgebraicGeometry" here: https://leanprover-community.github.io/theories?
Antoine Chambert-Loir (Sep 12 2025 at 16:41):
That would be great but doesn't forbid the other way. For example, is there a way to link files in the mathlib library to a companion page for the relevant theory?
Christian Merten (Sep 12 2025 at 16:44):
We can just put a link to the website in the module docstring.
Last updated: Dec 20 2025 at 21:32 UTC