Zulip Chat Archive
Stream: Is there code for X?
Topic: Extending a RingHom by adjoining new elements
Weiyi Wang (Oct 18 2025 at 19:55):
How would I write this definition? (Or is something like this already in Mathlib?)
import Mathlib
/-- Extend a ring hom from subring by adjoining a new element and specifying the corresponding value -/
def ringHomExtend {F G : Type*} [Ring F] [Ring G]
(F' : Subring F) (f : F' →+* G) (x : F) (hx : x ∉ F') (y : G) :
Subring.closure (F' ∪ {x}) →+* G := sorry
Aaron Liu (Oct 18 2025 at 20:04):
Does that always work?
Aaron Liu (Oct 18 2025 at 20:05):
What if the x satisfies equations over F that are not satisfied by y?
Weiyi Wang (Oct 18 2025 at 20:06):
That's a good question
Weiyi Wang (Oct 18 2025 at 20:08):
:melting_face: welp, that means I need to rethink the whole idea of the thing I wanted to prove
Weiyi Wang (Oct 18 2025 at 20:16):
I am aware that I am likely going to run into XY problem if I keep asking following this path, but just out of curiosity, let's say I add additional condition saying x is transcendental, would this work and how to write it?
Aaron Liu (Oct 18 2025 at 20:23):
If x is transcendental, then Subring.closure (F' ∪ {x}) is isomorphic to F'[X], and you can use the universal property of polynomials
Kevin Buzzard (Oct 19 2025 at 19:34):
In this generality (no commutativity, no domain assumption) I am not at all sure what "transcendental" even means.
Kevin Buzzard (Oct 19 2025 at 19:35):
Certainly what Aaron says is false because there's no reason x will commute with F'.
Aaron Liu (Oct 19 2025 at 19:47):
oh I guess if it's not a commutative ring then polynomials don't have the same universal property
Weiyi Wang (Oct 19 2025 at 19:50):
That's my bad. The case I am considering is commutative. This is some really early prototype code that by no means captures the correct generality
Last updated: Dec 20 2025 at 21:32 UTC