mathlib documentation

ring_theory.polynomial.tower

Algebra towers for polynomial #

This file proves some basic results about the algebra tower structure for the type polynomial R.

This structure itself is provided elsewhere as polynomial.is_scalar_tower

@[simp]
theorem polynomial.aeval_map_algebra_map {R : Type u_1} (A : Type u_2) {B : Type u_3} [comm_semiring R] [comm_semiring A] [semiring B] [algebra R A] [algebra A B] [algebra R B] [is_scalar_tower R A B] (x : B) (p : polynomial R) :
theorem polynomial.aeval_algebra_map_apply {R : Type u_1} {A : Type u_2} (B : Type u_3) [comm_semiring R] [comm_semiring A] [semiring B] [algebra R A] [algebra A B] [algebra R B] [is_scalar_tower R A B] (x : A) (p : polynomial R) :
@[simp]
theorem polynomial.aeval_algebra_map_eq_zero_iff {R : Type u_1} {A : Type u_2} (B : Type u_3) [comm_semiring R] [comm_semiring A] [semiring B] [algebra R A] [algebra A B] [algebra R B] [is_scalar_tower R A B] [no_zero_smul_divisors A B] [nontrivial B] (x : A) (p : polynomial R) :
theorem polynomial.aeval_algebra_map_eq_zero_iff_of_injective {R : Type u_1} {A : Type u_2} {B : Type u_3} [comm_semiring R] [comm_semiring A] [semiring B] [algebra R A] [algebra A B] [algebra R B] [is_scalar_tower R A B] {x : A} {p : polynomial R} (h : function.injective (algebra_map A B)) :
@[simp]
theorem subalgebra.aeval_coe {R : Type u_1} {A : Type u_2} [comm_semiring R] [comm_semiring A] [algebra R A] (S : subalgebra R A) (x : S) (p : polynomial R) :