File: Mathlib/FieldTheory/Fixed.lean

full_name: FixedBy.subfield
code: /-- The subfield of F fixed by the field endomorphism `m`. -/
def FixedBy.subfield : Subfield F 
goal: Subfield F

full_name: IsInvariantSubfield.smul_mem
code: /-- A typeclass for subrings invariant under a `MulSemiringAction`. -/
class IsInvariantSubfield (S : Subfield F) : Prop where
  smul_mem : ∀ (m : M) {x : F}, x ∈ S → m • x ∈ S
goal: x ∈ S → m • x ∈ S

full_name: IsInvariantSubfield
code: /-- A typeclass for subrings invariant under a `MulSemiringAction`. -/
class IsInvariantSubfield (S : Subfield F) : Prop where
  smul_mem : ∀ (m : M) {x : F}, x ∈ S → m • x ∈ S
goal: Prop

full_name: IsInvariantSubfield.toMulSemiringAction
code: instance IsInvariantSubfield.toMulSemiringAction [IsInvariantSubfield M S] :
    MulSemiringAction M S 
goal: MulSemiringAction M ↥S

full_name: instIsInvariantSubringOfIsInvariantSubfield
code: instance [IsInvariantSubfield M S] : IsInvariantSubring M S.toSubring 
goal: IsInvariantSubring M S.toSubring

full_name: FixedPoints.subfield
code: /-- The subfield of fixed points by a monoid action. -/
def subfield : Subfield F 
goal: Subfield F

full_name: FixedPoints.instIsInvariantSubfieldSubfield
code: instance : IsInvariantSubfield M (FixedPoints.subfield M F) 
goal: IsInvariantSubfield M (FixedPoints.subfield M F)

full_name: FixedPoints.instSMulCommClassSubtypeMemSubfieldSubfield
code: instance : SMulCommClass M (FixedPoints.subfield M F) F 
goal: SMulCommClass M (↥(FixedPoints.subfield M F)) F

full_name: FixedPoints.smulCommClass'
code: instance smulCommClass' : SMulCommClass (FixedPoints.subfield M F) M F 
goal: SMulCommClass (↥(FixedPoints.subfield M F)) M F

full_name: FixedPoints.smul
code: @[simp]
theorem smul (m : M) (x : FixedPoints.subfield M F) : m • x = x 
goal: m • x = x

full_name: FixedPoints.smul_polynomial
code: @[simp]
theorem smul_polynomial (m : M) (p : Polynomial (FixedPoints.subfield M F)) : m • p = p 
goal: m • p = p

full_name: FixedPoints.instAlgebraSubtypeMemSubfieldSubfield
code: instance : Algebra (FixedPoints.subfield M F) F 
goal: Algebra (↥(FixedPoints.subfield M F)) F

full_name: FixedPoints.coe_algebraMap
code: theorem coe_algebraMap :
    algebraMap (FixedPoints.subfield M F) F = Subfield.subtype (FixedPoints.subfield M F) 
goal: algebraMap (↥(FixedPoints.subfield M F)) F = (FixedPoints.subfield M F).subtype

full_name: FixedPoints.linearIndependent_smul_of_linearIndependent
code: theorem linearIndependent_smul_of_linearIndependent {s : Finset F} :
    (LinearIndependent (FixedPoints.subfield G F) fun i : (s : Set F) => (i : F)) →
      LinearIndependent F fun i : (s : Set F) => MulAction.toFun G F i 
goal: (LinearIndependent ↥(FixedPoints.subfield G F) fun (i : ↑↑s) => ↑i) →
  LinearIndependent F fun (i : ↑↑s) => (MulAction.toFun G F) ↑i

full_name: FixedPoints.minpoly
code: /-- `minpoly G F x` is the minimal polynomial of `(x : F)` over `FixedPoints.subfield G F`. -/
def minpoly : Polynomial (FixedPoints.subfield G F) 
goal: Polynomial ↥(FixedPoints.subfield G F)

full_name: FixedPoints.minpoly.monic
code: theorem monic : (minpoly G F x).Monic 
goal: (FixedPoints.minpoly G F x).Monic

full_name: FixedPoints.minpoly.eval₂
code: theorem eval₂ :
    Polynomial.eval₂ (Subring.subtype <| (FixedPoints.subfield G F).toSubring) x (minpoly G F x) =
      0 
goal: Polynomial.eval₂ (FixedPoints.subfield G F).subtype x (FixedPoints.minpoly G F x) = 0

full_name: FixedPoints.minpoly.eval₂'
code: theorem eval₂' :
    Polynomial.eval₂ (Subfield.subtype <| FixedPoints.subfield G F) x (minpoly G F x) = 0 
goal: Polynomial.eval₂ (FixedPoints.subfield G F).subtype x (FixedPoints.minpoly G F x) = 0

full_name: FixedPoints.minpoly.ne_one
code: theorem ne_one : minpoly G F x ≠ (1 : Polynomial (FixedPoints.subfield G F)) 
goal: FixedPoints.minpoly G F x ≠ 1

full_name: FixedPoints.minpoly.of_eval₂
code: theorem of_eval₂ (f : Polynomial (FixedPoints.subfield G F))
    (hf : Polynomial.eval₂ (Subfield.subtype <| FixedPoints.subfield G F) x f = 0) :
    minpoly G F x ∣ f 
goal: FixedPoints.minpoly G F x ∣ f

full_name: FixedPoints.minpoly.irreducible_aux
code: theorem irreducible_aux (f g : Polynomial (FixedPoints.subfield G F)) (hf : f.Monic) (hg : g.Monic)
    (hfg : f * g = minpoly G F x) : f = 1 ∨ g = 1 
goal: f = 1 ∨ g = 1

full_name: FixedPoints.minpoly.irreducible
code: theorem irreducible : Irreducible (minpoly G F x) 
goal: Irreducible (FixedPoints.minpoly G F x)

full_name: FixedPoints.isIntegral
code: theorem isIntegral [Finite G] (x : F) : IsIntegral (FixedPoints.subfield G F) x 
goal: IsIntegral (↥(FixedPoints.subfield G F)) x

full_name: FixedPoints.minpoly_eq_minpoly
code: theorem minpoly_eq_minpoly : minpoly G F x = _root_.minpoly (FixedPoints.subfield G F) x 
goal: FixedPoints.minpoly G F x = minpoly (↥(FixedPoints.subfield G F)) x

full_name: FixedPoints.rank_le_card
code: theorem rank_le_card : Module.rank (FixedPoints.subfield G F) F ≤ Fintype.card G 
goal: Module.rank (↥(FixedPoints.subfield G F)) F ≤ ↑(Fintype.card G)

full_name: FixedPoints.normal
code: instance normal : Normal (FixedPoints.subfield G F) F 
goal: Normal (↥(FixedPoints.subfield G F)) F

full_name: FixedPoints.isSeparable
code: instance isSeparable : Algebra.IsSeparable (FixedPoints.subfield G F) F 
goal: Algebra.IsSeparable (↥(FixedPoints.subfield G F)) F

full_name: FixedPoints.instFiniteDimensionalSubtypeMemSubfieldSubfield
code: instance : FiniteDimensional (subfield G F) F 
goal: FiniteDimensional (↥(FixedPoints.subfield G F)) F

full_name: FixedPoints.finrank_le_card
code: theorem finrank_le_card [Fintype G] : finrank (subfield G F) F ≤ Fintype.card G 
goal: FiniteDimensional.finrank (↥(FixedPoints.subfield G F)) F ≤ Fintype.card G

full_name: linearIndependent_toLinearMap
code: theorem linearIndependent_toLinearMap (R : Type u) (A : Type v) (B : Type w) [CommSemiring R]
    [Ring A] [Algebra R A] [CommRing B] [IsDomain B] [Algebra R B] :
    LinearIndependent B (AlgHom.toLinearMap : (A →ₐ[R] B) → A →ₗ[R] B) 
goal: LinearIndependent B AlgHom.toLinearMap

full_name: cardinal_mk_algHom
code: theorem cardinal_mk_algHom (K : Type u) (V : Type v) (W : Type w) [Field K] [Field V] [Algebra K V]
    [FiniteDimensional K V] [Field W] [Algebra K W] :
    Cardinal.mk (V →ₐ[K] W) ≤ finrank W (V →ₗ[K] W) 
goal: Cardinal.mk (V →ₐ[K] W) ≤ ↑(FiniteDimensional.finrank W (V →ₗ[K] W))

full_name: AlgEquiv.fintype
code: noncomputable instance AlgEquiv.fintype (K : Type u) (V : Type v) [Field K] [Field V] [Algebra K V]
    [FiniteDimensional K V] : Fintype (V ≃ₐ[K] V) 
goal: Fintype (V ≃ₐ[K] V)

full_name: finrank_algHom
code: theorem finrank_algHom (K : Type u) (V : Type v) [Field K] [Field V] [Algebra K V]
    [FiniteDimensional K V] : Fintype.card (V →ₐ[K] V) ≤ finrank V (V →ₗ[K] V) 
goal: Fintype.card (V →ₐ[K] V) ≤ FiniteDimensional.finrank V (V →ₗ[K] V)

full_name: FixedPoints.finrank_eq_card
code: theorem finrank_eq_card (G : Type u) (F : Type v) [Group G] [Field F] [Fintype G]
    [MulSemiringAction G F] [FaithfulSMul G F] :
    finrank (FixedPoints.subfield G F) F = Fintype.card G 
goal: FiniteDimensional.finrank (↥(FixedPoints.subfield G F)) F = Fintype.card G

full_name: FixedPoints.toAlgHom_bijective
code: /-- `MulSemiringAction.toAlgHom` is bijective. -/
theorem toAlgHom_bijective (G : Type u) (F : Type v) [Group G] [Field F] [Finite G]
    [MulSemiringAction G F] [FaithfulSMul G F] :
    Function.Bijective (MulSemiringAction.toAlgHom _ _ : G → F →ₐ[subfield G F] F) 
goal: Function.Bijective (MulSemiringAction.toAlgHom (↥(FixedPoints.subfield G F)) F)

full_name: FixedPoints.toAlgHomEquiv
code: /-- Bijection between G and algebra homomorphisms that fix the fixed points -/
def toAlgHomEquiv (G : Type u) (F : Type v) [Group G] [Field F] [Finite G] [MulSemiringAction G F]
    [FaithfulSMul G F] : G ≃ (F →ₐ[FixedPoints.subfield G F] F) 
goal: G ≃ (F →ₐ[↥(FixedPoints.subfield G F)] F)