Documentation

Mathlib.FieldTheory.IntermediateField.Adjoin.Basic

Adjoining Elements to Fields #

This file contains many results about adjoining elements to fields.

theorem IntermediateField.mem_adjoin_range_iff (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {ι : Type u_3} (i : ιE) (x : E) :
x adjoin F (Set.range i) ∃ (r : MvPolynomial ι F) (s : MvPolynomial ι F), x = (MvPolynomial.aeval i) r / (MvPolynomial.aeval i) s
theorem IntermediateField.mem_adjoin_iff (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {S : Set E} (x : E) :
theorem IntermediateField.mem_adjoin_simple_iff (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E} (x : E) :
x Fα ∃ (r : Polynomial F) (s : Polynomial F), x = (Polynomial.aeval α) r / (Polynomial.aeval α) s
instance IntermediateField.finiteDimensional_sup {K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] (E1 E2 : IntermediateField K L) [FiniteDimensional K E1] [FiniteDimensional K E2] :
FiniteDimensional K (E1 E2)
theorem IntermediateField.rank_sup_le_of_isAlgebraic {K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] (E1 E2 : IntermediateField K L) (halg : Algebra.IsAlgebraic K E1 Algebra.IsAlgebraic K E2) :
Module.rank K (E1 E2) Module.rank K E1 * Module.rank K E2

If E1 and E2 are intermediate fields, and at least one them are algebraic, then the rank of the compositum of E1 and E2 is less than or equal to the product of that of E1 and E2. Note that this result is also true without algebraic assumption, but the proof becomes very complicated.

theorem IntermediateField.finrank_sup_le {K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] (E1 E2 : IntermediateField K L) :
Module.finrank K (E1 E2) Module.finrank K E1 * Module.finrank K E2

If E1 and E2 are intermediate fields, then the Module.finrank of the compositum of E1 and E2 is less than or equal to the product of that of E1 and E2.

theorem IntermediateField.coe_iSup_of_directed {K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] {ι : Type u_5} {t : ιIntermediateField K L} [Nonempty ι] (dir : Directed (fun (x1 x2 : IntermediateField K L) => x1 x2) t) :
(iSup t) = ⋃ (i : ι), (t i)
theorem IntermediateField.toSubalgebra_iSup_of_directed {K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] {ι : Type u_5} {t : ιIntermediateField K L} (dir : Directed (fun (x1 x2 : IntermediateField K L) => x1 x2) t) :
(iSup t).toSubalgebra = ⨆ (i : ι), (t i).toSubalgebra
instance IntermediateField.finiteDimensional_iSup_of_finite {K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] {ι : Type u_5} {t : ιIntermediateField K L} [h : Finite ι] [∀ (i : ι), FiniteDimensional K (t i)] :
FiniteDimensional K (⨆ (i : ι), t i)
instance IntermediateField.finiteDimensional_iSup_of_finset {K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] {ι : Type u_5} {t : ιIntermediateField K L} {s : Finset ι} [∀ (i : ι), FiniteDimensional K (t i)] :
FiniteDimensional K (⨆ is, t i)
theorem IntermediateField.finiteDimensional_iSup_of_finset' {K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] {ι : Type u_5} {t : ιIntermediateField K L} {s : Finset ι} (h : is, FiniteDimensional K (t i)) :
FiniteDimensional K (⨆ is, t i)
theorem IntermediateField.isSplittingField_iSup {K : Type u_3} {L : Type u_4} [Field K] [Field L] [Algebra K L] {ι : Type u_5} {t : ιIntermediateField K L} {p : ιPolynomial K} {s : Finset ι} (h0 : is, p i 0) (h : is, Polynomial.IsSplittingField K (↥(t i)) (p i)) :
Polynomial.IsSplittingField K (↥(⨆ is, t i)) (∏ is, p i)

A compositum of splitting fields is a splitting field

theorem IntermediateField.adjoin_rank_le_of_isAlgebraic {F : Type u_1} [Field F] (E : Type u_2) [Field E] [Algebra F E] {K : Type u_3} [Field K] [Algebra F K] [Algebra E K] [IsScalarTower F E K] (L : IntermediateField F K) (halg : Algebra.IsAlgebraic F E Algebra.IsAlgebraic F L) :
Module.rank E (adjoin E L) Module.rank F L

If K / E / F is a field extension tower, L is an intermediate field of K / F, such that either E / F or L / F is algebraic, then [E(L) : E] ≤ [L : F]. A corollary of Subalgebra.adjoin_rank_le since in this case E(L) = E[L].

theorem IntermediateField.adjoin_rank_le_of_isAlgebraic_left {F : Type u_1} [Field F] (E : Type u_2) [Field E] [Algebra F E] {K : Type u_3} [Field K] [Algebra F K] [Algebra E K] [IsScalarTower F E K] (L : IntermediateField F K) [halg : Algebra.IsAlgebraic F E] :
Module.rank E (adjoin E L) Module.rank F L
theorem IntermediateField.adjoin_rank_le_of_isAlgebraic_right {F : Type u_1} [Field F] (E : Type u_2) [Field E] [Algebra F E] {K : Type u_3} [Field K] [Algebra F K] [Algebra E K] [IsScalarTower F E K] (L : IntermediateField F K) [halg : Algebra.IsAlgebraic F L] :
Module.rank E (adjoin E L) Module.rank F L

Adjoining a single element is compact in the lattice of intermediate fields.

Adjoining a finite subset is compact in the lattice of intermediate fields.

theorem IntermediateField.adjoin_finite_isCompactElement {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {S : Set E} (h : S.Finite) :

Adjoining a finite subset is compact in the lattice of intermediate fields.

The lattice of intermediate fields is compactly generated.

theorem IntermediateField.exists_finset_of_mem_iSup {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {ι : Type u_3} {f : ιIntermediateField F E} {x : E} (hx : x ⨆ (i : ι), f i) :
∃ (s : Finset ι), x is, f i
theorem IntermediateField.exists_finset_of_mem_supr' {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {ι : Type u_3} {f : ιIntermediateField F E} {x : E} (hx : x ⨆ (i : ι), f i) :
∃ (s : Finset ((i : ι) × (f i))), x is, Fi.snd
theorem IntermediateField.exists_finset_of_mem_supr'' {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {ι : Type u_3} {f : ιIntermediateField F E} (h : ∀ (i : ι), Algebra.IsAlgebraic F (f i)) {x : E} (hx : x ⨆ (i : ι), f i) :
∃ (s : Finset ((i : ι) × (f i))), x is, adjoin F ((minpoly F i.snd).rootSet E)
theorem IntermediateField.exists_finset_of_mem_adjoin {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {S : Set E} {x : E} (hx : x adjoin F S) :
∃ (T : Finset E), T S x adjoin F T
@[simp]
theorem IntermediateField.rank_eq_one_iff {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {K : IntermediateField F E} :
Module.rank F K = 1 K =
@[simp]
theorem IntermediateField.finrank_eq_one_iff {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {K : IntermediateField F E} :
Module.finrank F K = 1 K =
@[simp]
theorem IntermediateField.rank_bot {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] :
@[simp]
theorem IntermediateField.finrank_bot {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] :
@[simp]
theorem IntermediateField.rank_bot' {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] :
@[simp]
theorem IntermediateField.finrank_bot' {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] :
@[simp]
theorem IntermediateField.rank_top {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] :
Module.rank (↥) E = 1
@[simp]
theorem IntermediateField.finrank_top {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] :
@[simp]
theorem IntermediateField.rank_top' {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] :
@[simp]
theorem IntermediateField.finrank_top' {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] :
theorem IntermediateField.rank_adjoin_eq_one_iff {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {S : Set E} :
Module.rank F (adjoin F S) = 1 S
theorem IntermediateField.rank_adjoin_simple_eq_one_iff {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E} :
Module.rank F Fα = 1 α
theorem IntermediateField.finrank_adjoin_eq_one_iff {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {S : Set E} :
Module.finrank F (adjoin F S) = 1 S
theorem IntermediateField.finrank_adjoin_simple_eq_one_iff {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E} :
Module.finrank F Fα = 1 α
theorem IntermediateField.bot_eq_top_of_rank_adjoin_eq_one {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (h : ∀ (x : E), Module.rank F Fx = 1) :

If F⟮x⟯ has dimension 1 over F for every x ∈ E then F = E.

theorem IntermediateField.bot_eq_top_of_finrank_adjoin_eq_one {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (h : ∀ (x : E), Module.finrank F Fx = 1) :
theorem IntermediateField.subsingleton_of_rank_adjoin_eq_one {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (h : ∀ (x : E), Module.rank F Fx = 1) :
theorem IntermediateField.subsingleton_of_finrank_adjoin_eq_one {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (h : ∀ (x : E), Module.finrank F Fx = 1) :
theorem IntermediateField.bot_eq_top_of_finrank_adjoin_le_one {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] [FiniteDimensional F E] (h : ∀ (x : E), Module.finrank F Fx 1) :

If F⟮x⟯ has dimension ≤1 over F for every x ∈ E then F = E.

theorem IntermediateField.subsingleton_of_finrank_adjoin_le_one {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] [FiniteDimensional F E] (h : ∀ (x : E), Module.finrank F Fx 1) :
theorem IntermediateField.minpoly_gen (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] (α : E) :
theorem IntermediateField.aeval_gen_minpoly (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] (α : E) :
noncomputable def IntermediateField.adjoinRootEquivAdjoin (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E} (h : IsIntegral F α) :
AdjoinRoot (minpoly F α) ≃ₐ[F] Fα

algebra isomorphism between AdjoinRoot and F⟮α⟯

Stacks Tag 09G1 (Algebraic case)

Equations
Instances For
    @[simp]
    noncomputable def IntermediateField.powerBasisAux {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {x : L} (hx : IsIntegral K x) :
    Basis (Fin (minpoly K x).natDegree) K Kx

    The elements 1, x, ..., x ^ (d - 1) form a basis for K⟮x⟯, where d is the degree of the minimal polynomial of x.

    Equations
    Instances For
      noncomputable def IntermediateField.adjoin.powerBasis {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {x : L} (hx : IsIntegral K x) :
      PowerBasis K Kx

      The power basis 1, x, ..., x ^ (d - 1) for K⟮x⟯, where d is the degree of the minimal polynomial of x.

      Equations
      Instances For
        @[simp]
        theorem IntermediateField.adjoin.powerBasis_dim {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {x : L} (hx : IsIntegral K x) :
        (powerBasis hx).dim = (minpoly K x).natDegree
        @[simp]
        theorem IntermediateField.adjoin.powerBasis_gen {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {x : L} (hx : IsIntegral K x) :
        theorem IntermediateField.adjoin.finiteDimensional {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {x : L} (hx : IsIntegral K x) :
        FiniteDimensional K Kx
        theorem IntermediateField.isAlgebraic_adjoin_simple {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {x : L} (hx : IsIntegral K x) :
        Algebra.IsAlgebraic K Kx
        theorem IntermediateField.adjoin.finrank {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {x : L} (hx : IsIntegral K x) :
        Module.finrank K Kx = (minpoly K x).natDegree

        If x is an algebraic element of field K, then its minimal polynomial has degree [K(x) : K].

        Stacks Tag 09GN

        theorem IntermediateField.adjoin_eq_top_of_adjoin_eq_top (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {K : Type u} [Field K] [Algebra F K] [Algebra E K] [IsScalarTower F E K] {S : Set K} (hprim : adjoin F S = ) :

        If K / E / F is a field extension tower, S ⊂ K is such that F(S) = K, then E(S) = K.

        theorem IntermediateField.adjoin_minpoly_coeff_of_exists_primitive_element (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E} [FiniteDimensional F E] (hprim : Fα = ) (K : IntermediateField F E) :
        adjoin F (Polynomial.map (algebraMap (↥K) E) (minpoly (↥K) α)).coeffs = K

        If E / F is a finite extension such that E = F(α), then for any intermediate field K, the F adjoin the coefficients of minpoly K α is equal to K itself.

        If E / F is an infinite algebraic extension, then there exists an intermediate field L / F with arbitrarily large finite extension degree.

        theorem minpoly.natDegree_le {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] (x : L) [FiniteDimensional K L] :
        (minpoly K x).natDegree Module.finrank K L
        theorem minpoly.degree_le {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] (x : L) [FiniteDimensional K L] :
        (minpoly K x).degree (Module.finrank K L)
        theorem minpoly.degree_dvd {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {x : L} (hx : IsIntegral K x) :
        (minpoly K x).natDegree Module.finrank K L

        If x : L is an integral element in a field extension L over K, then the degree of the minimal polynomial of x over K divides [L : K].

        theorem IntermediateField.isAlgebraic_iSup {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {ι : Type u_4} {t : ιIntermediateField K L} (h : ∀ (i : ι), Algebra.IsAlgebraic K (t i)) :
        Algebra.IsAlgebraic K (⨆ (i : ι), t i)

        A compositum of algebraic extensions is algebraic

        theorem IntermediateField.isAlgebraic_adjoin {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {S : Set L} (hS : xS, IsIntegral K x) :
        theorem IntermediateField.finiteDimensional_adjoin {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {S : Set L} [Finite S] (hS : xS, IsIntegral K x) :

        If L / K is a field extension, S is a finite subset of L, such that every element of S is integral (= algebraic) over K, then K(S) / K is a finite extension. A direct corollary of finiteDimensional_iSup_of_finite.

        noncomputable def IntermediateField.algHomAdjoinIntegralEquiv (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E} {K : Type u} [Field K] [Algebra F K] (h : IsIntegral F α) :
        (Fα →ₐ[F] K) { x : K // x (minpoly F α).aroots K }

        Algebra homomorphism F⟮α⟯ →ₐ[F] K are in bijection with the set of roots of minpoly α in K.

        Equations
        Instances For
          theorem IntermediateField.algHomAdjoinIntegralEquiv_symm_apply_gen (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E} {K : Type u} [Field K] [Algebra F K] (h : IsIntegral F α) (x : { x : K // x (minpoly F α).aroots K }) :
          ((algHomAdjoinIntegralEquiv F h).symm x) (AdjoinSimple.gen F α) = x
          noncomputable def IntermediateField.fintypeOfAlgHomAdjoinIntegral (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E} {K : Type u} [Field K] [Algebra F K] (h : IsIntegral F α) :
          Fintype (Fα →ₐ[F] K)

          Fintype of algebra homomorphism F⟮α⟯ →ₐ[F] K

          Equations
          Instances For
            theorem IntermediateField.card_algHom_adjoin_integral (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E} {K : Type u} [Field K] [Algebra F K] (h : IsIntegral F α) (h_sep : IsSeparable F α) (h_splits : Polynomial.Splits (algebraMap F K) (minpoly F α)) :
            Fintype.card (Fα →ₐ[F] K) = (minpoly F α).natDegree
            theorem Polynomial.irreducible_comp {K : Type u} [Field K] {f g : Polynomial K} (hfm : f.Monic) (hgm : g.Monic) (hf : Irreducible f) (hg : ∀ (E : Type u) [inst : Field E] [inst_1 : Algebra K E] (x : E), minpoly K x = fIrreducible (map (algebraMap K Kx) g - C (IntermediateField.AdjoinSimple.gen K x))) :
            Irreducible (f.comp g)

            Let f, g be monic polynomials over K. If f is irreducible, and g(x) - α is irreducible in K⟮α⟯ with α a root of f, then f(g(x)) is irreducible.

            noncomputable def AdjoinRoot.algHomOfDvd {K : Type u_1} [Field K] {p q : Polynomial K} (hpq : q p) :

            The canonical algebraic homomorphism from AdjoinRoot p to AdjoinRoot q, where the polynomial q : K[X] divides p.

            Equations
            Instances For
              theorem AdjoinRoot.coe_algHomOfDvd {K : Type u_1} [Field K] {p q : Polynomial K} (hpq : q p) :
              (↑(algHomOfDvd hpq).toRingHom).toFun = (liftHom p (root q) )
              noncomputable def AdjoinRoot.algEquivOfEq {K : Type u_1} [Field K] {p q : Polynomial K} (hp : p 0) (h_eq : p = q) :

              The canonical algebraic equivalence between AdjoinRoot p and AdjoinRoot q, where the two polynomials p q : K[X] are equal.

              Equations
              Instances For
                theorem AdjoinRoot.coe_algEquivOfEq {K : Type u_1} [Field K] {p q : Polynomial K} (hp : p 0) (h_eq : p = q) :
                (algEquivOfEq hp h_eq).toFun = (liftHom p (root q) )
                theorem AdjoinRoot.algEquivOfEq_toAlgHom {K : Type u_1} [Field K] {p q : Polynomial K} (hp : p 0) (h_eq : p = q) :
                (algEquivOfEq hp h_eq) = liftHom p (root q)
                theorem AdjoinRoot.algEquivOfEq_apply_root {K : Type u_1} [Field K] {p q : Polynomial K} (hp : p 0) (h_eq : p = q) :
                (algEquivOfEq hp h_eq) (root p) = root q

                algEquivOfEq sends AdjoinRoot.root p to AdjoinRoot.root q.

                noncomputable def AdjoinRoot.algEquivOfAssociated {K : Type u_1} [Field K] {p q : Polynomial K} (hp : p 0) (hpq : Associated p q) :

                The canonical algebraic equivalence between AdjoinRoot p and AdjoinRoot q, where the two polynomials p q : K[X] are associated.

                Equations
                Instances For
                  theorem AdjoinRoot.coe_algEquivOfAssociated {K : Type u_1} [Field K] {p q : Polynomial K} (hp : p 0) (hpq : Associated p q) :
                  (algEquivOfAssociated hp hpq).toFun = (liftHom p (root q) )
                  theorem AdjoinRoot.algEquivOfAssociated_toAlgHom {K : Type u_1} [Field K] {p q : Polynomial K} (hp : p 0) (hpq : Associated p q) :
                  (algEquivOfAssociated hp hpq) = liftHom p (root q)
                  theorem minpoly.eq_of_root {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {x y : L} (hx : IsAlgebraic K x) (h_ev : (Polynomial.aeval y) (minpoly K x) = 0) :
                  minpoly K y = minpoly K x

                  If y : L is a root of minpoly K x, then minpoly K y = minpoly K x.

                  noncomputable def minpoly.algEquiv {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {x y : L} (hx : IsAlgebraic K x) (h_mp : minpoly K x = minpoly K y) :
                  Kx ≃ₐ[K] Ky

                  The canonical algEquiv between K⟮x⟯and K⟮y⟯, sending x to y, where x and y have the same minimal polynomial over K.

                  Equations
                  Instances For
                    theorem minpoly.algEquiv_apply {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {x y : L} (hx : IsAlgebraic K x) (h_mp : minpoly K x = minpoly K y) :

                    minpoly.algEquiv sends the generator of K⟮x⟯ to the generator of K⟮y⟯.

                    noncomputable def PowerBasis.equivAdjoinSimple {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] (pb : PowerBasis K L) :
                    Kpb.gen ≃ₐ[K] L

                    pb.equivAdjoinSimple is the equivalence between K⟮pb.gen⟯ and L itself.

                    Equations
                    Instances For
                      @[simp]
                      theorem PowerBasis.equivAdjoinSimple_aeval {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] (pb : PowerBasis K L) (f : Polynomial K) :
                      pb.equivAdjoinSimple ((Polynomial.aeval (IntermediateField.AdjoinSimple.gen K pb.gen)) f) = (Polynomial.aeval pb.gen) f
                      @[simp]
                      theorem PowerBasis.equivAdjoinSimple_gen {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] (pb : PowerBasis K L) :
                      pb.equivAdjoinSimple (IntermediateField.AdjoinSimple.gen K pb.gen) = pb.gen
                      @[simp]
                      theorem PowerBasis.equivAdjoinSimple_symm_aeval {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] (pb : PowerBasis K L) (f : Polynomial K) :
                      pb.equivAdjoinSimple.symm ((Polynomial.aeval pb.gen) f) = (Polynomial.aeval (IntermediateField.AdjoinSimple.gen K pb.gen)) f
                      @[simp]
                      theorem PowerBasis.equivAdjoinSimple_symm_gen {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] (pb : PowerBasis K L) :
                      pb.equivAdjoinSimple.symm pb.gen = IntermediateField.AdjoinSimple.gen K pb.gen