Documentation

Mathlib.RingTheory.Algebraic.Integral

Algebraic elements and integral elements #

This file relates algebraic and integral elements of an algebra, by proving every integral element is algebraic and that every algebraic element over a field is integral.

Main results #

theorem IsIntegral.isAlgebraic {R : Type u} {A : Type v} [CommRing R] [Ring A] [Algebra R A] [Nontrivial R] {x : A} :

An integral element of an algebra is algebraic.

theorem isAlgebraic_iff_isIntegral {K : Type u} {A : Type v} [Field K] [Ring A] [Algebra K A] {x : A} :

An element of an algebra over a field is algebraic if and only if it is integral.

theorem IsAlgebraic.isIntegral {K : Type u} {A : Type v} [Field K] [Ring A] [Algebra K A] {x : A} :

Alias of the forward direction of isAlgebraic_iff_isIntegral.


An element of an algebra over a field is algebraic if and only if it is integral.

This used to be an alias of Algebra.isAlgebraic_iff_isIntegral but that would make Algebra.IsAlgebraic K A an explicit parameter instead of instance implicit.

theorem IsAlgebraic.of_finite (K : Type u_1) {A : Type u_5} [Field K] [Ring A] [Algebra K A] (e : A) [FiniteDimensional K A] :
instance Algebra.IsAlgebraic.of_finite (K : Type u_1) (A : Type u_5) [Field K] [Ring A] [Algebra K A] [FiniteDimensional K A] :

A field extension is algebraic if it is finite.

Stacks Tag 09GG (first part)

theorem Algebra.IsAlgebraic.trans {K : Type u_1} {L : Type u_2} {A : Type u_5} [Field K] [Field L] [Ring A] [Algebra K L] [Algebra L A] [Algebra K A] [IsScalarTower K L A] [L_alg : Algebra.IsAlgebraic K L] [A_alg : Algebra.IsAlgebraic L A] :

If L is an algebraic field extension of K and A is an algebraic algebra over L, then A is algebraic over K.

Stacks Tag 09GJ

@[simp]
theorem transcendental_aeval_iff {K : Type u_1} {A : Type u_5} [Field K] [Ring A] [Algebra K A] {r : A} {f : Polynomial K} :

If K is a field, r : A and f : K[X], then Polynomial.aeval r f is transcendental over K if and only if r and f are both transcendental over K. See also Transcendental.aeval_of_transcendental and Transcendental.of_aeval.

theorem AlgHom.bijective {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] [FiniteDimensional K L] (ϕ : L →ₐ[K] L) :
@[reducible, inline]
noncomputable abbrev algEquivEquivAlgHom (K : Type u_1) (L : Type u_2) [Field K] [Field L] [Algebra K L] [FiniteDimensional K L] :
(L ≃ₐ[K] L) ≃* (L →ₐ[K] L)

Bijection between algebra equivalences and algebra homomorphisms

Equations
Instances For
    theorem IsAlgebraic.exists_integral_multiple {R : Type u_1} {A : Type u_3} [CommRing R] [Ring A] [Algebra R A] {z : A} (hz : IsAlgebraic R z) (inj : Function.Injective (algebraMap R A)) :
    ∃ (y : R), y 0 IsIntegral R (y z)
    @[deprecated IsAlgebraic.exists_integral_multiple (since := "2024-11-30")]
    theorem exists_integral_multiple {R : Type u_1} {A : Type u_3} [CommRing R] [Ring A] [Algebra R A] {z : A} (hz : IsAlgebraic R z) (inj : Function.Injective (algebraMap R A)) :
    ∃ (y : R), y 0 IsIntegral R (y z)

    Alias of IsAlgebraic.exists_integral_multiple.

    theorem Algebra.IsAlgebraic.exists_integral_multiples {R : Type u_1} {A : Type u_3} [CommRing R] [Ring A] [Algebra R A] [NoZeroDivisors R] [alg : Algebra.IsAlgebraic R A] (inj : Function.Injective (algebraMap R A)) (s : Finset A) :
    ∃ (y : R), y 0 zs, IsIntegral R (y z)
    theorem IsAlgebraic.of_smul_isIntegral {R : Type u_1} {A : Type u_3} [CommRing R] [Ring A] [Algebra R A] {z : A} {y : R} (hy : ¬IsNilpotent y) (h : IsIntegral R (y z)) :
    theorem IsAlgebraic.of_smul {R : Type u_1} {A : Type u_3} [CommRing R] [Ring A] [Algebra R A] {z : A} {y : R} (hy : y nonZeroDivisors R) (h : IsAlgebraic R (y z)) :
    theorem IsAlgebraic.iff_exists_smul_integral {R : Type u_1} {A : Type u_3} [CommRing R] [Ring A] [Algebra R A] {z : A} [IsReduced R] (inj : Function.Injective (algebraMap R A)) :
    IsAlgebraic R z ∃ (y : R), y 0 IsIntegral R (y z)
    theorem IsAlgebraic.restrictScalars_of_isIntegral (R : Type u_1) {S : Type u_2} {A : Type u_3} [CommRing R] [CommRing S] [Ring A] [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [NoZeroDivisors S] (inj : Function.Injective (algebraMap S A)) [int : Algebra.IsIntegral R S] {a : A} (h : IsAlgebraic S a) :
    theorem IsAlgebraic.restrictScalars (R : Type u_1) {S : Type u_2} {A : Type u_3} [CommRing R] [CommRing S] [Ring A] [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [NoZeroDivisors S] (inj : Function.Injective (algebraMap S A)) [Algebra.IsAlgebraic R S] {a : A} (h : IsAlgebraic S a) :
    theorem IsIntegral.trans_isAlgebraic (R : Type u_1) {S : Type u_2} {A : Type u_3} [CommRing R] [CommRing S] [Ring A] [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [NoZeroDivisors S] (inj : Function.Injective (algebraMap S A)) [alg : Algebra.IsAlgebraic R S] {a : A} (h : IsIntegral S a) :
    theorem IsAlgebraic.neg {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {a : S} (ha : IsAlgebraic R a) :
    theorem IsAlgebraic.smul {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {a : S} (ha : IsAlgebraic R a) (r : R) :
    theorem IsAlgebraic.nsmul {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {a : S} (ha : IsAlgebraic R a) (n : ) :
    theorem IsAlgebraic.zsmul {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {a : S} (ha : IsAlgebraic R a) (n : ) :
    theorem IsAlgebraic.mul {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] [nzd : NoZeroDivisors R] {a b : S} (ha : IsAlgebraic R a) (hb : IsAlgebraic R b) :
    IsAlgebraic R (a * b)
    theorem IsAlgebraic.add {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] [nzd : NoZeroDivisors R] {a b : S} (ha : IsAlgebraic R a) (hb : IsAlgebraic R b) :
    IsAlgebraic R (a + b)
    theorem IsAlgebraic.sub {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] [nzd : NoZeroDivisors R] {a b : S} (ha : IsAlgebraic R a) (hb : IsAlgebraic R b) :
    IsAlgebraic R (a - b)
    theorem IsAlgebraic.pow {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] [nzd : NoZeroDivisors R] {a : S} (ha : IsAlgebraic R a) (n : ) :
    IsAlgebraic R (a ^ n)
    theorem Algebra.IsAlgebraic.trans' (R : Type u_1) {S : Type u_2} {A : Type u_3} [CommRing R] [CommRing S] [Ring A] [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [NoZeroDivisors S] (inj : Function.Injective (algebraMap S A)) [Algebra.IsAlgebraic R S] [alg : Algebra.IsAlgebraic S A] :

    Transitivity of algebraicity for algebras over domains.

    def Subalgebra.algebraicClosure (R : Type u_1) (S : Type u_2) [CommRing R] [CommRing S] [Algebra R S] [IsDomain R] :

    If R is a domain and S is an arbitrary R-algebra, then the elements of S that are algebraic over R form a subalgebra.

    Equations
    Instances For
      theorem Algebra.isAlgebraic_adjoin_iff {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] [IsDomain R] {s : Set S} :
      (Algebra.adjoin R s).IsAlgebraic xs, IsAlgebraic R x
      theorem Algebra.isAlgebraic_adjoin_of_nonempty {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] [NoZeroDivisors R] {s : Set S} (hs : s.Nonempty) :
      (Algebra.adjoin R s).IsAlgebraic xs, IsAlgebraic R x
      theorem Algebra.isAlgebraic_adjoin_singleton_iff {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] [NoZeroDivisors R] {s : S} :
      (Algebra.adjoin R {s}).IsAlgebraic IsAlgebraic R s
      theorem IsAlgebraic.of_mul {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] [NoZeroDivisors R] {y z : S} (hy : y nonZeroDivisors S) (alg_y : IsAlgebraic R y) (alg_yz : IsAlgebraic R (y * z)) :
      theorem Transcendental.extendScalars_of_isIntegral {R : Type u_1} {S : Type u_2} {A : Type u_3} [CommRing R] [CommRing S] [Ring A] [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] {a : A} (ha : Transcendental R a) [NoZeroDivisors S] [Algebra.IsIntegral R S] (inj : Function.Injective (algebraMap S A)) :
      theorem Transcendental.extendScalars {R : Type u_1} {S : Type u_2} {A : Type u_3} [CommRing R] [CommRing S] [Ring A] [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] {a : A} (ha : Transcendental R a) [NoZeroDivisors S] [Algebra.IsAlgebraic R S] (inj : Function.Injective (algebraMap S A)) :
      theorem Transcendental.integralClosure {R : Type u_1} {S : Type u_2} [CommRing R] [CommRing S] [Algebra R S] {a : S} (ha : Transcendental R a) [NoZeroDivisors S] :