Theorem: IsGalois.fixedField_fixingSubgroup
File: Mathlib/FieldTheory/Galois.lean

tactic: have K_le : K ≤ IntermediateField.fixedField (IntermediateField.fixingSubgroup K) :=
  (IntermediateField.le_iff_le _ _).mpr le_rfl
state_before: F : Type u_1
inst✝³ : Field F
E : Type u_2
inst✝² : Field E
inst✝¹ : Algebra F E
H : Subgroup (E ≃ₐ[F] E)
K : IntermediateField F E
inst✝ : FiniteDimensional F E
h : IsGalois F E
⊢ IntermediateField.fixedField K.fixingSubgroup = K
state_after: F : Type u_1
inst✝³ : Field F
E : Type u_2
inst✝² : Field E
inst✝¹ : Algebra F E
H : Subgroup (E ≃ₐ[F] E)
K : IntermediateField F E
inst✝ : FiniteDimensional F E
h : IsGalois F E
K_le : K ≤ IntermediateField.fixedField K.fixingSubgroup
⊢ IntermediateField.fixedField K.fixingSubgroup = K

tactic: suffices
  finrank K E = finrank (IntermediateField.fixedField (IntermediateField.fixingSubgroup K)) E by
  exact (IntermediateField.eq_of_le_of_finrank_eq' K_le this).symm
state_before: F : Type u_1
inst✝³ : Field F
E : Type u_2
inst✝² : Field E
inst✝¹ : Algebra F E
H : Subgroup (E ≃ₐ[F] E)
K : IntermediateField F E
inst✝ : FiniteDimensional F E
h : IsGalois F E
K_le : K ≤ IntermediateField.fixedField K.fixingSubgroup
⊢ IntermediateField.fixedField K.fixingSubgroup = K
state_after: F : Type u_1
inst✝³ : Field F
E : Type u_2
inst✝² : Field E
inst✝¹ : Algebra F E
H : Subgroup (E ≃ₐ[F] E)
K : IntermediateField F E
inst✝ : FiniteDimensional F E
h : IsGalois F E
K_le : K ≤ IntermediateField.fixedField K.fixingSubgroup
⊢ finrank (↥K) E = finrank (↥(IntermediateField.fixedField K.fixingSubgroup)) E

tactic: classical
rw [IntermediateField.finrank_fixedField_eq_card,
  Fintype.card_congr (IntermediateField.fixingSubgroupEquiv K).toEquiv]
exact (card_aut_eq_finrank K E).symm
state_before: F : Type u_1
inst✝³ : Field F
E : Type u_2
inst✝² : Field E
inst✝¹ : Algebra F E
H : Subgroup (E ≃ₐ[F] E)
K : IntermediateField F E
inst✝ : FiniteDimensional F E
h : IsGalois F E
K_le : K ≤ IntermediateField.fixedField K.fixingSubgroup
⊢ finrank (↥K) E = finrank (↥(IntermediateField.fixedField K.fixingSubgroup)) E
state_after: no goals

tactic: exact (IntermediateField.eq_of_le_of_finrank_eq' K_le this).symm
state_before: F : Type u_1
inst✝³ : Field F
E : Type u_2
inst✝² : Field E
inst✝¹ : Algebra F E
H : Subgroup (E ≃ₐ[F] E)
K : IntermediateField F E
inst✝ : FiniteDimensional F E
h : IsGalois F E
K_le : K ≤ IntermediateField.fixedField K.fixingSubgroup
this : finrank (↥K) E = finrank (↥(IntermediateField.fixedField K.fixingSubgroup)) E
⊢ IntermediateField.fixedField K.fixingSubgroup = K
state_after: no goals

tactic: rw [IntermediateField.finrank_fixedField_eq_card,
  Fintype.card_congr (IntermediateField.fixingSubgroupEquiv K).toEquiv]
state_before: F : Type u_1
inst✝³ : Field F
E : Type u_2
inst✝² : Field E
inst✝¹ : Algebra F E
H : Subgroup (E ≃ₐ[F] E)
K : IntermediateField F E
inst✝ : FiniteDimensional F E
h : IsGalois F E
K_le : K ≤ IntermediateField.fixedField K.fixingSubgroup
⊢ finrank (↥K) E = finrank (↥(IntermediateField.fixedField K.fixingSubgroup)) E
state_after: F : Type u_1
inst✝³ : Field F
E : Type u_2
inst✝² : Field E
inst✝¹ : Algebra F E
H : Subgroup (E ≃ₐ[F] E)
K : IntermediateField F E
inst✝ : FiniteDimensional F E
h : IsGalois F E
K_le : K ≤ IntermediateField.fixedField K.fixingSubgroup
⊢ finrank (↥K) E = Fintype.card (E ≃ₐ[↥K] E)

tactic: exact (card_aut_eq_finrank K E).symm
state_before: F : Type u_1
inst✝³ : Field F
E : Type u_2
inst✝² : Field E
inst✝¹ : Algebra F E
H : Subgroup (E ≃ₐ[F] E)
K : IntermediateField F E
inst✝ : FiniteDimensional F E
h : IsGalois F E
K_le : K ≤ IntermediateField.fixedField K.fixingSubgroup
⊢ finrank (↥K) E = Fintype.card (E ≃ₐ[↥K] E)
state_after: no goals