Zulip Chat Archive
Stream: maths
Topic: is_scalar_tower for polynomial rings
Kevin Buzzard (Nov 10 2021 at 15:30):
How am I supposed to be doing this?
import tactic
import data.polynomial.degree
import ring_theory.noetherian
noncomputable theory
variables (R : Type) [comm_ring R]
example (I : ideal (polynomial R)) : submodule R (polynomial R) :=
-- what a mathematician would call I
submodule.restrict_scalars R I -- type class error
/-
failed to synthesize type class instance for
R : Type,
_inst_1 : comm_ring R,
I : ideal (polynomial R)
⊢ is_scalar_tower R (polynomial R) (polynomial R)
-/
-- is this what I'm supposed to be doing?
instance : algebra R (polynomial R) := by refine ring_hom.to_algebra (polynomial.C)
-- next line still fails
instance : is_scalar_tower R (polynomial R) (polynomial R) := infer_instance -- still doesn't work
Riccardo Brasca (Nov 10 2021 at 15:35):
You need to import data.polynomial.algebra_map
, and then you have docs#polynomial.algebra_of_algebra, so instance : algebra R (polynomial R)
will be there.
Anne Baanen (Nov 10 2021 at 15:36):
As Riccardo said just before me:
import tactic
import data.polynomial.algebra_map -- missing import
import ring_theory.noetherian
noncomputable theory
variables (R : Type) [comm_ring R]
example (I : ideal (polynomial R)) : submodule R (polynomial R) :=
-- what a mathematician would call I
submodule.restrict_scalars R I
Kevin Buzzard (Nov 10 2021 at 15:37):
nice -- also works in my use case. Thanks!
Last updated: Dec 20 2023 at 11:08 UTC