def
AlgHom.liftOfRightInverseAux
{R : Type u_1}
{A : Type u_2}
{B : Type u_3}
{C : Type u_4}
[CommRing R]
[Ring A]
[Ring B]
[Ring C]
[Algebra R A]
[Algebra R B]
[Algebra R C]
(f : A →ₐ[R] B)
(f_inv : B → A)
(hf : Function.RightInverse f_inv ⇑f)
(g : A →ₐ[R] C)
(hg : RingHom.ker f ≤ RingHom.ker g)
:
Auxiliary definition used to define liftOfRightInverse
Equations
- f.liftOfRightInverseAux f_inv hf g hg = { toFun := fun (b : B) => g (f_inv b), map_one' := ⋯, map_mul' := ⋯, map_zero' := ⋯, map_add' := ⋯, commutes' := ⋯ }
Instances For
@[simp]
theorem
AlgHom.liftOfRightInverseAux_comp_apply
{R : Type u_1}
{A : Type u_2}
{B : Type u_3}
{C : Type u_4}
[CommRing R]
[Ring A]
[Ring B]
[Ring C]
[Algebra R A]
[Algebra R B]
[Algebra R C]
(f : A →ₐ[R] B)
(f_inv : B → A)
(hf : Function.RightInverse f_inv ⇑f)
(g : A →ₐ[R] C)
(hg : RingHom.ker f ≤ RingHom.ker g)
(a : A)
:
def
AlgHom.liftOfRightInverse
{R : Type u_1}
{A : Type u_2}
{B : Type u_3}
{C : Type u_4}
[CommRing R]
[Ring A]
[Ring B]
[Ring C]
[Algebra R A]
[Algebra R B]
[Algebra R C]
(f : A →ₐ[R] B)
(f_inv : B → A)
(hf : Function.RightInverse f_inv ⇑f)
:
liftOfRightInverse f hf g hg is the unique R-algebra homomorphism φ
- such that
φ.comp f = g(AlgHom.liftOfRightInverse_comp), - where
f : A →ₐ[R] Bhas a right_inversef_inv(hf), - and
g : B →ₐ[R] Csatisfieshg : f.ker ≤ g.ker.
See AlgHom.eq_liftOfRightInverse for the uniqueness lemma.
A .
| \
f | \ g
| \
v \⌟
B ----> C
∃!φ
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[reducible, inline]
noncomputable abbrev
AlgHom.liftOfSurjective'
{R : Type u_1}
{A : Type u_2}
{B : Type u_3}
{C : Type u_4}
[CommRing R]
[Ring A]
[Ring B]
[Ring C]
[Algebra R A]
[Algebra R B]
[Algebra R C]
(f : A →ₐ[R] B)
(hf : Function.Surjective ⇑f)
:
A non-computable version of AlgHom.liftOfRightInverse for when no computable right
inverse is available, that uses Function.surjInv.
Equations
- f.liftOfSurjective' hf = f.liftOfRightInverse (Function.surjInv hf) ⋯
Instances For
theorem
AlgHom.liftOfRightInverse_comp_apply
{R : Type u_1}
{A : Type u_2}
{B : Type u_3}
{C : Type u_4}
[CommRing R]
[Ring A]
[Ring B]
[Ring C]
[Algebra R A]
[Algebra R B]
[Algebra R C]
(f : A →ₐ[R] B)
(f_inv : B → A)
(hf : Function.RightInverse f_inv ⇑f)
(g : { g : A →ₐ[R] C // RingHom.ker f ≤ RingHom.ker g })
(x : A)
:
theorem
AlgHom.liftOfRightInverse_comp
{R : Type u_1}
{A : Type u_2}
{B : Type u_3}
{C : Type u_4}
[CommRing R]
[Ring A]
[Ring B]
[Ring C]
[Algebra R A]
[Algebra R B]
[Algebra R C]
(f : A →ₐ[R] B)
(f_inv : B → A)
(hf : Function.RightInverse f_inv ⇑f)
(g : { g : A →ₐ[R] C // RingHom.ker f ≤ RingHom.ker g })
:
theorem
AlgHom.eq_liftOfRightInverse
{R : Type u_1}
{A : Type u_2}
{B : Type u_3}
{C : Type u_4}
[CommRing R]
[Ring A]
[Ring B]
[Ring C]
[Algebra R A]
[Algebra R B]
[Algebra R C]
(f : A →ₐ[R] B)
(f_inv : B → A)
(hf : Function.RightInverse f_inv ⇑f)
(g : A →ₐ[R] C)
(hg : RingHom.ker f ≤ RingHom.ker g)
(h : B →ₐ[R] C)
(hh : h.comp f = g)
:
theorem
Polynomial.aeval_dvd
{S : Type u_1}
{T : Type u_2}
[CommSemiring S]
[Semiring T]
[Algebra S T]
{p q : Polynomial S}
(a : T)
:
theorem
Polynomial.aeval_eq_zero_of_dvd_aeval_eq_zero'
{S : Type u_1}
{T : Type u_2}
[CommSemiring S]
[Semiring T]
[Algebra S T]
{p q : Polynomial S}
(h₁ : p ∣ q)
{a : T}
(h₂ : (aeval a) p = 0)
:
@[simp]
theorem
Polynomial.aeval_modByMonic_eq_self_of_root'
{R : Type u_1}
{S : Type u_2}
[CommRing R]
[Ring S]
[Algebra R S]
(p : Polynomial R)
{q : Polynomial R}
{x : S}
(hx : (aeval x) q = 0)
:
@[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.degree_sub_lt'
{R : Type u_1}
[Ring R]
{p q : Polynomial R}
(hd : p.degree = q.degree)
(hq0 : q ≠ 0)
(hlc : p.leadingCoeff = q.leadingCoeff)
:
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 = ((Algebra.adjoin 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 : ↥(adjoin 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 ∈ adjoin 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.algberaMap_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}
(h : IsSimpleGenerator x g)
{T : Type u_3}
[Ring T]
[Algebra R T]
(y : T)
:
(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}
(h : IsSimpleGenerator x g)
{T : Type u_3}
[Ring T]
[Algebra R T]
{y : T}
(hy : (Polynomial.aeval y) g = 0)
(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)
:
noncomputable def
Algebra.IsSimpleGenerator.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)
:
IsSimpleGenerator (φ x) g
Equations
- ⋯ = ⋯
Instances For
@[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}
(h : IsIntegralUnique x g)
[Subsingleton S]
:
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}
(h : IsIntegralUnique x g)
[Nontrivial S]
:
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}
(h : IsIntegralUnique x g)
[Nontrivial S]
:
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}
(h : IsIntegralUnique x g)
[Nontrivial S]
:
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}
(h : IsIntegralUnique x g)
[IsDomain R]
[IsDomain S]
:
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.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)
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)
:
∃ (g' : Polynomial R), IsIntegralUniqueGen x g'
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)
:
noncomputable def
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)
:
noncomputable def
IsIntegralUniqueGen.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)
:
IsIntegralUniqueGen (φ x) g
Equations
- ⋯ = ⋯
Instances For
@[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_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
{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]
:
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
noncomputable def
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
Equations
- ⋯ = ⋯
Instances For
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
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
noncomputable def
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)
:
Equations
- ⋯ = ⋯
Instances For
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]
: