Documentation

Mathlib.RingTheory.AlgebraicIndependent.TranscendenceBasis

Transcendence basis #

This file defines the transcendence basis as a maximal algebraically independent subset.

Main results #

References #

TODO #

Define the transcendence degree and show it is independent of the choice of a transcendence basis.

Tags #

transcendence basis, transcendence degree, transcendence

theorem exists_isTranscendenceBasis_superset {R : Type u_1} {A : Type w} [CommRing R] [CommRing A] [Algebra R A] {s : Set A} (hs : AlgebraicIndepOn R id s) :
∃ (t : Set A), s t IsTranscendenceBasis R Subtype.val
theorem exists_isTranscendenceBasis (R : Type u_1) (A : Type w) [CommRing R] [CommRing A] [Algebra R A] [FaithfulSMul R A] :
∃ (s : Set A), IsTranscendenceBasis R Subtype.val
theorem exists_isTranscendenceBasis' (R : Type u_1) (A : Type w) [CommRing R] [CommRing A] [Algebra R A] [FaithfulSMul R A] :
∃ (ι : Type w) (x : ιA), IsTranscendenceBasis R x

Type version of exists_isTranscendenceBasis.

theorem trdeg_eq_iSup_cardinalMk_isTranscendenceBasis (R : Type u_1) {A : Type w} [CommRing R] [CommRing A] [Algebra R A] :
Algebra.trdeg R A = ⨆ (ι : { s : Set A // IsTranscendenceBasis R Subtype.val }), Cardinal.mk ι
theorem AlgebraicIndependent.isTranscendenceBasis_iff {ι : Type u} {R : Type u_1} {A : Type w} {x : ιA} [CommRing R] [CommRing A] [Algebra R A] [Nontrivial R] (i : AlgebraicIndependent R x) :
IsTranscendenceBasis R x ∀ (κ : Type w) (w : κA), AlgebraicIndependent R w∀ (j : ικ), w j = xFunction.Surjective j
theorem IsTranscendenceBasis.isAlgebraic {ι : Type u} {R : Type u_1} {A : Type w} {x : ιA} [CommRing R] [CommRing A] [Algebra R A] [Nontrivial R] (hx : IsTranscendenceBasis R x) :
theorem IsTranscendenceBasis.algebraMap_comp {ι : Type u} {R : Type u_1} {S : Type v} {A : Type w} [CommRing R] [CommRing S] [CommRing A] [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [Nontrivial R] [NoZeroDivisors S] [Algebra.IsAlgebraic S A] [FaithfulSMul S A] {x : ιS} (hx : IsTranscendenceBasis R x) :
IsTranscendenceBasis R ((algebraMap S A) x)
theorem IsTranscendenceBasis.isAlgebraic_iff {R : Type u_1} {S : Type v} {A : Type w} [CommRing R] [CommRing S] [CommRing A] [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [IsDomain S] [NoZeroDivisors A] {ι : Type u_2} {v : ιA} (hv : IsTranscendenceBasis R v) :
Algebra.IsAlgebraic S A ∀ (i : ι), IsAlgebraic S (v i)
theorem IsTranscendenceBasis.polynomial (ι : Type u) (R : Type u_1) [CommRing R] [Nonempty ι] [Subsingleton ι] :
theorem IsTranscendenceBasis.sumElim_comp {ι : Type u} {ι' : Type u'} {R : Type u_1} {S : Type v} {A : Type w} [CommRing R] [CommRing S] [CommRing A] [Algebra R S] [Algebra R A] [Algebra S A] [IsScalarTower R S A] [NoZeroDivisors A] {x : ιS} {y : ι'A} (hx : IsTranscendenceBasis R x) (hy : IsTranscendenceBasis S y) :
IsTranscendenceBasis R (Sum.elim y ((algebraMap S A) x))
theorem IsTranscendenceBasis.isEmpty_iff_isAlgebraic {ι : Type u} {R : Type u_1} {A : Type w} {x : ιA} [CommRing R] [CommRing A] [Algebra R A] [Nontrivial R] (hx : IsTranscendenceBasis R x) :

If x is a transcendence basis of A/R, then it is empty if and only if A/R is algebraic.

theorem IsTranscendenceBasis.nonempty_iff_transcendental {ι : Type u} {R : Type u_1} {A : Type w} {x : ιA} [CommRing R] [CommRing A] [Algebra R A] [Nontrivial R] (hx : IsTranscendenceBasis R x) :
Nonempty ι Algebra.Transcendental R A

If x is a transcendence basis of A/R, then it is not empty if and only if A/R is transcendental.

If R is a commutative ring and A is a commutative R-algebra with injective algebra map and no zero-divisors, then the R-algebraic independent subsets of A form a matroid.

Instances For
    theorem AlgebraicIndependent.matroid_isBasis_iff {R : Type u_1} {A : Type w} [CommRing R] [CommRing A] [Algebra R A] [FaithfulSMul R A] [IsDomain A] {s t : Set A} :
    (matroid R A).IsBasis s t AlgebraicIndepOn R id s s t at, IsAlgebraic (↥(Algebra.adjoin R s)) a
    theorem AlgebraicIndependent.matroid_isBasis_iff_of_subsingleton {R : Type u_1} {A : Type w} [CommRing R] [CommRing A] [Algebra R A] [FaithfulSMul R A] [Subsingleton A] {s t : Set A} :
    (matroid R A).IsBasis s t s = t
    theorem AlgebraicIndependent.matroid_isFlat_iff {R : Type u_1} {A : Type w} [CommRing R] [CommRing A] [Algebra R A] [FaithfulSMul R A] [IsDomain A] {s : Set A} :
    (matroid R A).IsFlat s ∃ (S : Subalgebra R A), S = s ∀ (a : A), IsAlgebraic (↥S) aa s
    theorem AlgebraicIndependent.matroid_isFlat_of_subsingleton {R : Type u_1} {A : Type w} [CommRing R] [CommRing A] [Algebra R A] [FaithfulSMul R A] [Subsingleton A] (s : Set A) :
    (matroid R A).IsFlat s
    theorem AlgebraicIndependent.matroid_closure_of_subsingleton {R : Type u_1} {A : Type w} [CommRing R] [CommRing A] [Algebra R A] [FaithfulSMul R A] [Subsingleton A] (s : Set A) :
    (matroid R A).closure s = s
    theorem AlgebraicIndependent.matroid_spanning_iff_of_subsingleton {R : Type u_1} {A : Type w} [CommRing R] [CommRing A] [Algebra R A] [FaithfulSMul R A] [Subsingleton A] {s : Set A} :
    (matroid R A).Spanning s s = Set.univ
    theorem exists_isTranscendenceBasis_between {R : Type u_1} {A : Type w} [CommRing R] [CommRing A] [Algebra R A] [NoZeroDivisors A] (s t : Set A) (hst : s t) (hs : AlgebraicIndepOn R id s) [ht : Algebra.IsAlgebraic (↥(Algebra.adjoin R t)) A] :
    ∃ (u : Set A), s u u t IsTranscendenceBasis R Subtype.val

    If s ⊆ t are subsets in an R-algebra A such that s is algebraically independent over R, and A is algebraic over the R-algebra generated by t, then there is a transcendence basis of A over R between s and t, provided that A is a domain.

    This may fail if only R is assumed to be a domain but A is not, because of failure of transitivity of algebraicity: there may exist a : A such that S := R[a] is algebraic over R and A is algebraic over S, but A nonetheless contains a transcendental element over R. The only R-algebraically independent subset of {a} is , which is not a transcendence basis. See the docstring of IsAlgebraic.restrictScalars_of_isIntegral for an example.

    theorem exists_isTranscendenceBasis_subset {R : Type u_1} {A : Type w} [CommRing R] [CommRing A] [Algebra R A] [NoZeroDivisors A] [FaithfulSMul R A] (s : Set A) [Algebra.IsAlgebraic (↥(Algebra.adjoin R s)) A] :
    ts, IsTranscendenceBasis R Subtype.val
    theorem IsTranscendenceBasis.lift_cardinalMk_eq {ι : Type u} {ι' : Type u'} {R : Type u_1} {A : Type w} {x : ιA} {y : ι'A} [CommRing R] [CommRing A] [Algebra R A] [Nontrivial R] [NoZeroDivisors A] (hx : IsTranscendenceBasis R x) (hy : IsTranscendenceBasis R y) :

    Any two transcendence bases of a domain A have the same cardinality. May fail if A is not a domain; see https://mathoverflow.net/a/144580.

    theorem IsTranscendenceBasis.cardinalMk_eq {ι : Type u} {R : Type u_1} {A : Type w} {x : ιA} [CommRing R] [CommRing A] [Algebra R A] [Nontrivial R] [NoZeroDivisors A] {ι' : Type u} {y : ι'A} (hx : IsTranscendenceBasis R x) (hy : IsTranscendenceBasis R y) :

    Stacks Tag 030F

    theorem IsTranscendenceBasis.of_isAlgebraic_adjoin_insert_diff {ι : Type u} {R : Type u_1} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] [FaithfulSMul R S] [NoZeroDivisors S] (s : Set ι) (i j : ι) (v : ιS) (hj : j insert i s) (H₁ : IsTranscendenceBasis R fun (x : s) => v x) (H₂ : IsAlgebraic (↥(Algebra.adjoin R (v '' (insert i s \ {j})))) (v j)) :
    IsTranscendenceBasis R fun (x : ↑(insert i s \ {j})) => v x

    If s is a transcendence basis and j is algebraic over s ∪ {i} \ {j}, then s ∪ {i} \ {j} is also a transcendence basis.

    theorem IsTranscendenceBasis.of_isAlgebraic_adjoin_image_compl {ι : Type u} {R : Type u_1} {S : Type v} [CommRing R] [CommRing S] [Algebra R S] [FaithfulSMul R S] [NoZeroDivisors S] (i j : ι) (v : ιS) (H₁ : IsTranscendenceBasis R fun (x : { x : ι // x i }) => v x) (H₂ : IsAlgebraic (↥(Algebra.adjoin R (v '' {j}))) (v j)) :
    IsTranscendenceBasis R fun (x : { x : ι // x j }) => v x