@[simp]
theorem Polynomial.aeval_apply_X {A : Type u_1} {B : Type u_2} [CommSemiring A] [Semiring B] [Algebra A B] (φ : Polynomial A →ₐ[A] B) :
theorem Polynomial.eq_of_ideal_span_eq_of_monic {R : Type u_1} [CommSemiring R] {p q : Polynomial R} (hp : p.Monic) (hq : q.Monic) (h : Ideal.span {p} = Ideal.span {q}) :
theorem RingHom.subsingleton_of_ker_eq_top {R : Type u_1} {S : Type u_2} [Semiring R] [Semiring S] {f : R →+* S} :
ker f = ⊤ → Subsingleton S
Alias of the forward direction of RingHom.ker_eq_top_iff.
noncomputable def Polynomial.AlgHomEquiv (A : Type u_1) (B : Type u_2) [CommSemiring A] [Semiring B] [Algebra A B] :
Equations
- Polynomial.AlgHomEquiv A B = { toFun := fun (y : B) => Polynomial.aeval y, invFun := fun (f : Polynomial A →ₐ[A] B) => f Polynomial.X, left_inv := ⋯, right_inv := ⋯ }
Instances For
@[simp]
theorem Polynomial.AlgHomEquiv_apply (A : Type u_1) (B : Type u_2) [CommSemiring A] [Semiring B] [Algebra A B] (y : B) :
@[simp]
theorem Polynomial.AlgHomEquiv_symm_apply (A : Type u_1) (B : Type u_2) [CommSemiring A] [Semiring B] [Algebra A B] (f : Polynomial A →ₐ[A] B) :
noncomputable def MvPolynomial.AlgHomEquiv (A : Type u_1) (B : Type u_2) (σ : Type u_3) [CommSemiring A] [CommSemiring B] [Algebra A B] :
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem MvPolynomial.AlgHomEquiv_apply (A : Type u_1) (B : Type u_2) (σ : Type u_3) [CommSemiring A] [CommSemiring B] [Algebra A B] (y : σ → B) :
@[simp]
theorem MvPolynomial.AlgHomEquiv_symm_apply (A : Type u_1) (B : Type u_2) (σ : Type u_3) [CommSemiring A] [CommSemiring B] [Algebra A B] (f : MvPolynomial σ A →ₐ[A] B) (i : σ) :
theorem Algebra.IsGenerator.aeval_surjective {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} (hx : IsGenerator R x) :
noncomputable def Algebra.IsGenerator.adjoinEquiv {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} (hx : IsGenerator R x) :
Equations
- hx.adjoinEquiv = (R[x].equivOfEq ⊤ ⋯).trans Subalgebra.topEquiv
Instances For
theorem Algebra.IsGenerator.adjoinEquiv_apply {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} (hx : IsGenerator R x) (y : ↥R[x]) :
theorem Algebra.IsGenerator.adjoinEquiv_symm_apply {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} (hx : IsGenerator R x) (y : S) :
theorem Algebra.IsGenerator.finite_iff_isIntegral {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} (hx : IsGenerator R x) :
theorem Algebra.IsGenerator.of_root_mem_adjoin {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} (hx : IsGenerator R x) {y : S} (hy : x ∈ R[y]) :
IsGenerator R y
theorem Algebra.IsGenerator.add_algebraMap {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} (hx : IsGenerator R x) (r : R) :
IsGenerator R (x + (algebraMap R S) r)
theorem Algebra.IsGenerator.algebraMap_mul {S : Type u_2} [Ring S] {F : Type u_3} [Field F] [Algebra F S] {x : S} (hx : IsGenerator F x) {r : F} (hr : r ≠ 0) :
IsGenerator F ((algebraMap F S) r * x)
noncomputable def Algebra.IsGenerator.liftEquiv {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} (hx : IsGenerator R x) {T : Type u_3} [Ring T] [Algebra R T] :
{ y : T // ∀ (g : Polynomial R), (Polynomial.aeval x) g = 0 → (Polynomial.aeval y) g = 0 } ≃ (S →ₐ[R] T)
Equations
- hx.liftEquiv = ((Polynomial.AlgHomEquiv R T).subtypeEquiv ⋯).trans ((Polynomial.aeval x).liftOfSurjective' ⋯)
Instances For
@[simp]
theorem Algebra.IsGenerator.liftEquiv_aeval_apply {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} (hx : IsGenerator R x) {T : Type u_3} [Ring T] [Algebra R T] {y : T} (hy : ∀ (g : Polynomial R), (Polynomial.aeval x) g = 0 → (Polynomial.aeval y) g = 0) (g : Polynomial R) :
@[simp]
theorem Algebra.IsGenerator.liftEquiv_comp_aeval {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} (hx : IsGenerator R x) {T : Type u_3} [Ring T] [Algebra R T] {y : T} (hy : ∀ (g : Polynomial R), (Polynomial.aeval x) g = 0 → (Polynomial.aeval y) g = 0) :
@[simp]
theorem Algebra.IsGenerator.liftEquiv_root {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} (hx : IsGenerator R x) {T : Type u_3} [Ring T] [Algebra R T] {y : T} (hy : ∀ (g : Polynomial R), (Polynomial.aeval x) g = 0 → (Polynomial.aeval y) g = 0) :
theorem Algebra.isUnit_iff_subsingleton_of_ker_aeval {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : RingHom.ker (Polynomial.aeval x) = Ideal.span {g}) :
theorem Algebra.subsingleton_of_ker_aeval {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : RingHom.ker (Polynomial.aeval x) = Ideal.span {g}) :
IsUnit g → Subsingleton S
Alias of the forward direction of Algebra.isUnit_iff_subsingleton_of_ker_aeval.
theorem Algebra.isUnit_of_ker_aeval {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} [Subsingleton S] (h : RingHom.ker (Polynomial.aeval x) = Ideal.span {g}) :
IsUnit g
theorem Algebra.nontrivial_of_ker_aeval {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : RingHom.ker (Polynomial.aeval x) = Ideal.span {g}) (hg : ¬IsUnit g) :
theorem Algebra.not_isUnit_of_ker_aeval {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} [Nontrivial S] (h : RingHom.ker (Polynomial.aeval x) = Ideal.span {g}) :
theorem Algebra.aeval_eq_zero_iff_of_ker_aeval_eq_span_singleton {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : RingHom.ker (Polynomial.aeval x) = Ideal.span {g}) {f : Polynomial R} :
structure Algebra.IsSimpleGenerator {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] (x : S) (g : Polynomial R) extends Algebra.IsGenerator R x :
Instances For
theorem Algebra.IsSimpleGenerator.def {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] (x : S) (g : Polynomial R) :
theorem Algebra.IsSimpleGenerator.aeval_eq_zero_iff {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) {f : Polynomial R} :
theorem Algebra.IsSimpleGenerator.aeval_self {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) :
theorem Algebra.IsSimpleGenerator.aeval_gen_eq_zero_iff {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} {T : Type u_3} [Ring T] [Algebra R T] (y : T) (h : IsSimpleGenerator x g) :
(Polynomial.aeval y) g = 0 ↔ ∀ (f : Polynomial R), (Polynomial.aeval x) f = 0 → (Polynomial.aeval y) f = 0
noncomputable def Algebra.IsSimpleGenerator.liftEquiv {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) {T : Type u_3} [Ring T] [Algebra R T] :
Equations
- h.liftEquiv = ((Equiv.refl T).subtypeEquiv ⋯).trans ⋯.liftEquiv
Instances For
noncomputable def Algebra.IsSimpleGenerator.lift {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) {T : Type u_3} [Ring T] [Algebra R T] {y : T} (hy : (Polynomial.aeval y) g = 0) :
Instances For
@[simp]
theorem Algebra.IsSimpleGenerator.lift_aeval {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) {T : Type u_3} [Ring T] [Algebra R T] {y : T} (hy : (Polynomial.aeval y) g = 0) (f : Polynomial R) :
@[simp]
theorem Algebra.IsSimpleGenerator.lift_root {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) {T : Type u_3} [Ring T] [Algebra R T] {y : T} (hy : (Polynomial.aeval y) g = 0) :
@[simp]
theorem Algebra.IsSimpleGenerator.liftEquiv_apply {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} {T : Type u_3} [Ring T] [Algebra R T] {y : T} (hy : (Polynomial.aeval y) g = 0) (h : IsSimpleGenerator x g) {z : S} :
noncomputable def Algebra.IsSimpleGenerator.equivOfRoot {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) {S' : Type u_4} [Ring S'] [Algebra R S'] {x' : S'} {g' : Polynomial R} (h' : IsSimpleGenerator x' g') (hx : (Polynomial.aeval x) g' = 0) (hx' : (Polynomial.aeval x') g = 0) :
Equations
- h.equivOfRoot h' hx hx' = AlgEquiv.ofAlgHom (h.lift hx') (h'.lift hx) ⋯ ⋯
Instances For
theorem Algebra.IsSimpleGenerator.equivOfRoot_apply {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) {S' : Type u_4} [Ring S'] [Algebra R S'] {x' : S'} {g' : Polynomial R} (h' : IsSimpleGenerator x' g') (hx : (Polynomial.aeval x) g' = 0) (hx' : (Polynomial.aeval x') g = 0) (a : S) :
@[simp]
theorem Algebra.IsSimpleGenerator.equivOfRoot_symm {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) {S' : Type u_4} [Ring S'] [Algebra R S'] {x' : S'} {g' : Polynomial R} (h' : IsSimpleGenerator x' g') (hx : (Polynomial.aeval x) g' = 0) (hx' : (Polynomial.aeval x') g = 0) :
@[simp]
theorem Algebra.IsSimpleGenerator.equivOfRoot_aeval {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) {S' : Type u_4} [Ring S'] [Algebra R S'] {x' : S'} {g' : Polynomial R} (h' : IsSimpleGenerator x' g') (hx : (Polynomial.aeval x) g' = 0) (hx' : (Polynomial.aeval x') g = 0) (f : Polynomial R) :
@[simp]
theorem Algebra.IsSimpleGenerator.equivOfRoot_root {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) {S' : Type u_4} [Ring S'] [Algebra R S'] {x' : S'} {g' : Polynomial R} (h' : IsSimpleGenerator x' g') (hx : (Polynomial.aeval x) g' = 0) (hx' : (Polynomial.aeval x') g = 0) :
noncomputable def Algebra.IsSimpleGenerator.equiv {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) {S' : Type u_4} [Ring S'] [Algebra R S'] {x' : S'} (h' : IsSimpleGenerator x' g) :
Equations
- h.equiv h' = h.equivOfRoot h' ⋯ ⋯
Instances For
@[simp]
theorem Algebra.IsSimpleGenerator.equiv_apply {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) {S' : Type u_4} [Ring S'] [Algebra R S'] {x' : S'} (h' : IsSimpleGenerator x' g) (z : S) :
@[simp]
theorem Algebra.IsSimpleGenerator.equiv_symm {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) {S' : Type u_4} [Ring S'] [Algebra R S'] {x' : S'} (h' : IsSimpleGenerator x' g) :
theorem Algebra.IsSimpleGenerator.map {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} {T : Type u_4} [Ring T] [Algebra R T] (φ : S ≃ₐ[R] T) (h : IsSimpleGenerator x g) :
IsSimpleGenerator (φ x) g
@[simp]
theorem Algebra.IsSimpleGenerator.equivOfRoot_map {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsSimpleGenerator x g) {T : Type u_4} [Ring T] [Algebra R T] (φ : S ≃ₐ[R] T) :
structure IsIntegralUnique {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] (x : S) (g : Polynomial R) :
- monic : g.Monic
Instances For
theorem IsIntegralUnique.of_subsingleton {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] (x : S) (g : Polynomial R) [Subsingleton R] :
IsIntegralUnique x g
theorem IsIntegralUnique.of_subsingleton_gen_one (R : Type u_1) {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] (x : S) [Subsingleton S] :
IsIntegralUnique x 1
theorem IsIntegralUnique.of_ker_aeval_eq_span_minpoly {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} (hx : IsIntegral R x) (h : RingHom.ker (Polynomial.aeval x) = Ideal.span {minpoly R x}) :
IsIntegralUnique x (minpoly R x)
theorem IsIntegralUnique.of_ker_aeval_eq_span' {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} [IsDomain R] (hx : IsIntegral R x) (h : RingHom.ker (Polynomial.aeval x) = Ideal.span {g}) :
have hu := ⋯;
IsIntegralUnique x (Polynomial.C ↑hu.unit⁻¹ * g)
theorem IsIntegralUnique.of_ker_aeval_eq_span {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} [IsDomain R] [NormalizationMonoid R] (hx : IsIntegral R x) (h : RingHom.ker (Polynomial.aeval x) = Ideal.span {g}) :
IsIntegralUnique x (normalize g)
theorem IsIntegralUnique.of_aeval_eq_zero_imp_minpoly_dvd {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} (hx : IsIntegral R x) (h : ∀ {f : Polynomial R}, (Polynomial.aeval x) f = 0 → minpoly R x ∣ f) :
IsIntegralUnique x (minpoly R x)
theorem IsIntegralUnique.of_unique_of_degree_le_degree_minpoly {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} (hx : IsIntegral R x) (h : ∀ (f : Polynomial R), f.Monic → (Polynomial.aeval x) f = 0 → f.degree ≤ (minpoly R x).degree → f = minpoly R x) :
IsIntegralUnique x (minpoly R x)
theorem IsIntegralUnique.aeval_eq_zero_iff {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUnique x g) {f : Polynomial R} :
theorem IsIntegralUnique.aeval_gen {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUnique x g) :
theorem IsIntegralUnique.isIntegral {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUnique x g) :
IsIntegral R x
theorem IsIntegralUnique.gen_eq_one_iff_subsingleton {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUnique x g) :
theorem IsIntegralUnique.subsingleton {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUnique x g) :
g = 1 → Subsingleton S
Alias of the forward direction of IsIntegralUnique.gen_eq_one_iff_subsingleton.
theorem IsIntegralUnique.gen_eq_one {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} [Subsingleton S] (h : IsIntegralUnique x g) :
theorem IsIntegralUnique.nontrivial {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUnique x g) (hg : g ≠ 1) :
theorem IsIntegralUnique.gen_ne_one {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} [Nontrivial S] (h : IsIntegralUnique x g) :
theorem IsIntegralUnique.natDegree_gen_pos {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} [Nontrivial S] (h : IsIntegralUnique x g) :
theorem IsIntegralUnique.degree_gen_pos {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} [Nontrivial S] (h : IsIntegralUnique x g) :
theorem IsIntegralUnique.minpoly_eq_gen {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUnique x g) :
theorem IsIntegralUnique.gen_unique {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUnique x g) {g' : Polynomial R} (h' : IsIntegralUnique x g') :
theorem IsIntegralUnique.irreducible_gen {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} [IsDomain R] [IsDomain S] (h : IsIntegralUnique x g) :
theorem IsIntegralUnique.isIntegralUnique_minpoly {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUnique x g) :
IsIntegralUnique x (minpoly R x)
theorem IsIntegralUnique.eq_gen_of_degree_le_degree_gen {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUnique x g) {f : Polynomial R} (hmo : f.Monic) (hf : (Polynomial.aeval x) f = 0) (fmin : f.degree ≤ g.degree) :
theorem IsIntegralUnique.eq_gen_of_aeval_eq_zero_imp_degree_ge {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUnique x g) {f : Polynomial R} (hmo : f.Monic) (hf : (Polynomial.aeval x) f = 0) (hmin : ∀ (k : Polynomial R), k.Monic → (Polynomial.aeval x) k = 0 → f.degree ≤ k.degree) :
theorem IsIntegralUnique.eq_gen_of_ker_aeval_eq_span {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUnique x g) {f : Polynomial R} (hf : f.Monic) (hker : RingHom.ker (Polynomial.aeval x) = Ideal.span {f}) :
theorem IsIntegralUnique.modByMonic_gen_eq_iff_aeval_eq {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUnique x g) (f₁ f₂ : Polynomial R) :
structure IsIntegralUniqueGen {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] (x : S) (g : Polynomial R) extends Algebra.IsSimpleGenerator x g, IsIntegralUnique x g :
Instances For
theorem IsIntegralUniqueGen.isIntegralUniqueGen_minpoly {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) :
IsIntegralUniqueGen x (minpoly R x)
theorem IsIntegralUniqueGen.of_basis {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} [Module.Finite R S] {n : ℕ} (B : Module.Basis (Fin n) R S) (hB : ∀ (i : Fin n), B i = x ^ ↑i) :
IsIntegralUniqueGen x (Polynomial.X ^ n - ∑ i : Fin n, Polynomial.C ((B.repr (x ^ n)) i) * Polynomial.X ^ ↑i)
noncomputable def Module.Basis.mkOfSpanning {ι : Type u_3} {R : Type u_4} {M : Type u_5} [Fintype ι] [CommRing R] [AddCommMonoid M] [Module R M] [Module.Finite R M] [Free R M] {v : ι → M} (hι : Fintype.card ι = finrank R M) (hsp : ⊤ ≤ Submodule.span R (Set.range v)) :
Basis ι R M
Equations
- Module.Basis.mkOfSpanning hι hsp = Module.Basis.ofEquivFun (LinearEquiv.ofBijective ((Module.piEquiv ι R M) v) ⋯).symm
Instances For
@[simp]
theorem Module.Basis.coe_mkOfSpanning {ι : Type u_3} {R : Type u_4} {M : Type u_5} [Fintype ι] [CommRing R] [AddCommMonoid M] [Module R M] [Module.Finite R M] [Free R M] {v : ι → M} (hι : Fintype.card ι = finrank R M) (hsp : ⊤ ≤ Submodule.span R (Set.range v)) :
theorem Submodule.span_range_natDegree_minpoly_eq_adjoin {R : Type u_3} {A : Type u_4} [CommRing R] [Ring A] [Algebra R A] {x : A} (hx : IsIntegral R x) :
span R ↑(Finset.image (fun (x_1 : ℕ) => x ^ x_1) (Finset.range (minpoly R x).natDegree)) = Subalgebra.toSubmodule R[x]
theorem IsIntegralUniqueGen.of_free {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} [Module.Finite R S] [Module.Free R S] (hx : Algebra.IsGenerator R x) :
IsIntegralUniqueGen x (minpoly R x)
noncomputable def IsIntegralUniqueGen.repr {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) :
Equations
Instances For
@[simp]
theorem IsIntegralUniqueGen.aeval_repr {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) (y : S) :
@[simp]
theorem IsIntegralUniqueGen.repr_aeval {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) (f : Polynomial R) :
theorem IsIntegralUniqueGen.repr_aeval_eq_self_iff {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) [Nontrivial R] (f : Polynomial R) :
theorem IsIntegralUniqueGen.repr_aeval_eq_self {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) {f : Polynomial R} (hf : f.degree < g.degree) :
@[simp]
theorem IsIntegralUniqueGen.repr_root_pow {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) {n : ℕ} (hdeg : n < g.natDegree) :
@[simp]
theorem IsIntegralUniqueGen.repr_root {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) (hdeg : 1 < g.natDegree) :
@[simp]
theorem IsIntegralUniqueGen.repr_one {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) [Nontrivial S] :
@[simp]
theorem IsIntegralUniqueGen.repr_algebraMap {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) [Nontrivial S] (r : R) :
@[simp]
theorem IsIntegralUniqueGen.repr_ofNat {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) [Nontrivial S] (n : ℕ) [n.AtLeastTwo] :
@[simp]
theorem IsIntegralUniqueGen.repr_root_pow_algebraMap {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) :
theorem IsIntegralUniqueGen.degree_repr_le {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) [Nontrivial R] (y : S) :
theorem IsIntegralUniqueGen.natDegree_repr_le {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) [Nontrivial S] (y : S) :
theorem IsIntegralUniqueGen.repr_coeff_of_natDegree_le {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) (y : S) {i : ℕ} (hi : g.natDegree ≤ i) :
noncomputable def IsIntegralUniqueGen.liftEquivAroots {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) {T : Type u_3} [CommRing T] [IsDomain T] [Algebra R T] :
Equations
- h.liftEquivAroots = ((Equiv.refl T).subtypeEquiv ⋯).trans ⋯.liftEquiv
Instances For
@[simp]
theorem IsIntegralUniqueGen.liftEquivAroots_symm_apply {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) {T : Type u_3} [CommRing T] [IsDomain T] [Algebra R T] (φ : S →ₐ[R] T) :
@[simp]
theorem IsIntegralUniqueGen.liftEquivAroots_apply_apply {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) {T : Type u_3} [CommRing T] [IsDomain T] [Algebra R T] {y : T} (hy : y ∈ g.aroots T) (z : S) :
@[reducible, inline]
noncomputable abbrev IsIntegralUniqueGen.fintypeAlgHom {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) {T : Type u_3} [CommRing T] [IsDomain T] [Algebra R T] :
Equations
- h.fintypeAlgHom = Fintype.ofEquiv { y : T // y ∈ g.aroots T } h.liftEquivAroots
Instances For
noncomputable def IsIntegralUniqueGen.equiv {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) {S' : Type u_3} [Ring S'] [Algebra R S'] {x' : S'} (h' : IsIntegralUniqueGen x' g) :
Instances For
@[simp]
theorem IsIntegralUniqueGen.equiv_apply {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) {S' : Type u_3} [Ring S'] [Algebra R S'] {x' : S'} (h' : IsIntegralUniqueGen x' g) (z : S) :
@[simp]
theorem IsIntegralUniqueGen.equiv_symm {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) {S' : Type u_3} [Ring S'] [Algebra R S'] {x' : S'} (h' : IsIntegralUniqueGen x' g) :
theorem IsIntegralUniqueGen.map {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} {T : Type u_3} [Ring T] [Algebra R T] (φ : S ≃ₐ[R] T) (h : IsIntegralUniqueGen x g) :
IsIntegralUniqueGen (φ x) g
@[simp]
theorem IsIntegralUniqueGen.equivOfRoot_map {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) {T : Type u_3} [Ring T] [Algebra R T] (φ : S ≃ₐ[R] T) :
noncomputable def IsIntegralUniqueGen.coeff {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) :
Instances For
theorem IsIntegralUniqueGen.coeff_apply {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) (z : S) :
theorem IsIntegralUniqueGen.coeff_apply_of_natDegree_le {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) (z : S) {i : ℕ} (hi : g.natDegree ≤ i) :
theorem IsIntegralUniqueGen.coeff_root_pow {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) {n : ℕ} (hn : n < g.natDegree) :
theorem IsIntegralUniqueGen.coeff_root {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) (hdeg : 1 < g.natDegree) :
@[simp]
theorem IsIntegralUniqueGen.coeff_one {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) [Nontrivial S] :
@[simp]
theorem IsIntegralUniqueGen.coeff_algebraMap {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) [Nontrivial S] (r : R) :
@[simp]
theorem IsIntegralUniqueGen.coeff_ofNat {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) [Nontrivial S] (n : ℕ) [n.AtLeastTwo] :
@[simp]
theorem IsIntegralUniqueGen.Polynomial.coeff_toFinsupp {R : Type u_3} [Semiring R] (p : Polynomial R) :
noncomputable def IsIntegralUniqueGen.basis {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) :
Module.Basis (Fin g.natDegree) R S
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem IsIntegralUniqueGen.coe_basis {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) :
theorem IsIntegralUniqueGen.basis_apply {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) (i : Fin g.natDegree) :
theorem IsIntegralUniqueGen.root_eq_basis_one {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) (hdeg : 1 < g.natDegree) :
theorem IsIntegralUniqueGen.one_eq_basis_zero {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) [Nontrivial S] :
theorem IsIntegralUniqueGen.free {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) :
Module.Free R S
theorem IsIntegralUniqueGen.finite {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) :
Module.Finite R S
theorem IsIntegralUniqueGen.finrank_eq_natDegree {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) [Nontrivial R] :
theorem IsIntegralUniqueGen.finrank_eq_degree {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) [Nontrivial R] :
theorem IsIntegralUniqueGen.leftMulMatrix {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) :
theorem IsIntegralUniqueGen.basis_repr_eq_coeff {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) (y : S) (i : Fin g.natDegree) :
theorem IsIntegralUniqueGen.ext_elem {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) ⦃y z : S⦄ (hyz : ∀ i < g.natDegree, (h.coeff y) i = (h.coeff z) i) :
theorem IsIntegralUniqueGen.ext_elem_iff {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) {y z : S} :
theorem IsIntegralUniqueGen.coeff_injective {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {x : S} {g : Polynomial R} (h : IsIntegralUniqueGen x g) :
structure IsAdjoinRoot' {R : Type u_1} (S : Type u_2) [CommRing R] [Ring S] [Algebra R S] (f : Polynomial R) :
- exists_root : ∃ (x : S), Algebra.IsSimpleGenerator x f
Instances For
noncomputable def IsAdjoinRoot'.root {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRoot' S f) :
S
Instances For
theorem IsAdjoinRoot'.pe {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRoot' S f) :
noncomputable def IsAdjoinRoot'.liftEquiv {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRoot' S f) {T : Type u_3} [Ring T] [Algebra R T] :
Equations
- h.liftEquiv = ((Equiv.refl T).subtypeEquiv ⋯).trans ⋯.liftEquiv
Instances For
noncomputable def IsAdjoinRoot'.lift {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRoot' S f) {T : Type u_3} [Ring T] [Algebra R T] {y : T} (hy : (Polynomial.aeval y) f = 0) :
Instances For
noncomputable def IsAdjoinRoot'.equiv {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRoot' S f) {T : Type u_3} [Ring T] [Algebra R T] (h' : IsAdjoinRoot' T f) :
Instances For
theorem IsAdjoinRoot'.map {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRoot' S f) {T : Type u_3} [Ring T] [Algebra R T] (φ : S ≃ₐ[R] T) :
IsAdjoinRoot' T f
structure IsAdjoinRootMonic' {R : Type u_1} (S : Type u_2) [CommRing R] [Ring S] [Algebra R S] (f : Polynomial R) extends IsAdjoinRoot' S f :
- exists_root : ∃ (x : S), Algebra.IsSimpleGenerator x f
- f_monic : f.Monic
Instances For
theorem IsAdjoinRootMonic'.ofIsIntegralUniqueGen {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} {x : S} (hx : IsIntegralUniqueGen x f) :
theorem IsAdjoinRootMonic'.pe {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRootMonic' S f) :
@[simp]
theorem IsAdjoinRootMonic'.minpoly_root {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRootMonic' S f) :
theorem IsAdjoinRootMonic'.irreducible {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRootMonic' S f) [IsDomain R] [IsDomain S] :
theorem IsAdjoinRootMonic'.subsingleton {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRootMonic' S f) (hf : f = 1) :
theorem IsAdjoinRootMonic'.nontrivial {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRootMonic' S f) (hf : f ≠ 1) :
noncomputable def IsAdjoinRootMonic'.liftEquivAroots {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRootMonic' S f) {T : Type u_3} [CommRing T] [IsDomain T] [Algebra R T] :
Equations
Instances For
@[reducible]
noncomputable def IsAdjoinRootMonic'.fintypeAlgHom {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRootMonic' S f) {T : Type u_3} [CommRing T] [IsDomain T] [Algebra R T] :
Equations
Instances For
theorem IsAdjoinRootMonic'.map {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRootMonic' S f) {T : Type u_3} [Ring T] [Algebra R T] (φ : S ≃ₐ[R] T) :
theorem IsAdjoinRootMonic'.free {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRootMonic' S f) :
Module.Free R S
theorem IsAdjoinRootMonic'.finite {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRootMonic' S f) :
Module.Finite R S
theorem IsAdjoinRootMonic'.finrank_eq_natDegree {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRootMonic' S f) [Nontrivial R] :
theorem IsAdjoinRootMonic'.finrank_eq_degree {R : Type u_1} {S : Type u_2} [CommRing R] [Ring S] [Algebra R S] {f : Polynomial R} (h : IsAdjoinRootMonic' S f) [Nontrivial R] :