Theorem: separableClosure_le_iff
File: Mathlib/FieldTheory/PurelyInseparable.lean

tactic: refine ⟨fun h ↦ ?_, fun _ ↦ separableClosure_le F E L⟩
state_before: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
inst✝ : Algebra.IsAlgebraic F E
L : IntermediateField F E
⊢ separableClosure F E ≤ L ↔ IsPurelyInseparable (↥L) E
state_after: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
inst✝ : Algebra.IsAlgebraic F E
L : IntermediateField F E
h : separableClosure F E ≤ L
⊢ IsPurelyInseparable (↥L) E

tactic: have := separableClosure.isPurelyInseparable F E
state_before: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
inst✝ : Algebra.IsAlgebraic F E
L : IntermediateField F E
h : separableClosure F E ≤ L
⊢ IsPurelyInseparable (↥L) E
state_after: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
inst✝ : Algebra.IsAlgebraic F E
L : IntermediateField F E
h : separableClosure F E ≤ L
this : IsPurelyInseparable (↥(separableClosure F E)) E
⊢ IsPurelyInseparable (↥L) E

tactic: letI := (inclusion h).toAlgebra
state_before: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
inst✝ : Algebra.IsAlgebraic F E
L : IntermediateField F E
h : separableClosure F E ≤ L
this : IsPurelyInseparable (↥(separableClosure F E)) E
⊢ IsPurelyInseparable (↥L) E
state_after: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
inst✝ : Algebra.IsAlgebraic F E
L : IntermediateField F E
h : separableClosure F E ≤ L
this✝ : IsPurelyInseparable (↥(separableClosure F E)) E
this : Algebra ↥(separableClosure F E) ↥L := (inclusion h).toAlgebra
⊢ IsPurelyInseparable (↥L) E

tactic: letI : SMul (separableClosure F E) L := Algebra.toSMul
state_before: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
inst✝ : Algebra.IsAlgebraic F E
L : IntermediateField F E
h : separableClosure F E ≤ L
this✝ : IsPurelyInseparable (↥(separableClosure F E)) E
this : Algebra ↥(separableClosure F E) ↥L := (inclusion h).toAlgebra
⊢ IsPurelyInseparable (↥L) E
state_after: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
inst✝ : Algebra.IsAlgebraic F E
L : IntermediateField F E
h : separableClosure F E ≤ L
this✝¹ : IsPurelyInseparable (↥(separableClosure F E)) E
this✝ : Algebra ↥(separableClosure F E) ↥L := (inclusion h).toAlgebra
this : SMul ↥(separableClosure F E) ↥L := Algebra.toSMul
⊢ IsPurelyInseparable (↥L) E

tactic: haveI : IsScalarTower (separableClosure F E) L E := IsScalarTower.of_algebraMap_eq (congrFun rfl)
state_before: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
inst✝ : Algebra.IsAlgebraic F E
L : IntermediateField F E
h : separableClosure F E ≤ L
this✝¹ : IsPurelyInseparable (↥(separableClosure F E)) E
this✝ : Algebra ↥(separableClosure F E) ↥L := (inclusion h).toAlgebra
this : SMul ↥(separableClosure F E) ↥L := Algebra.toSMul
⊢ IsPurelyInseparable (↥L) E
state_after: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
inst✝ : Algebra.IsAlgebraic F E
L : IntermediateField F E
h : separableClosure F E ≤ L
this✝² : IsPurelyInseparable (↥(separableClosure F E)) E
this✝¹ : Algebra ↥(separableClosure F E) ↥L := (inclusion h).toAlgebra
this✝ : SMul ↥(separableClosure F E) ↥L := Algebra.toSMul
this : IsScalarTower (↥(separableClosure F E)) (↥L) E
⊢ IsPurelyInseparable (↥L) E

tactic: exact IsPurelyInseparable.tower_top (separableClosure F E) L E
state_before: F : Type u
E : Type v
inst✝⁵ : Field F
inst✝⁴ : Field E
inst✝³ : Algebra F E
K : Type w
inst✝² : Field K
inst✝¹ : Algebra F K
inst✝ : Algebra.IsAlgebraic F E
L : IntermediateField F E
h : separableClosure F E ≤ L
this✝² : IsPurelyInseparable (↥(separableClosure F E)) E
this✝¹ : Algebra ↥(separableClosure F E) ↥L := (inclusion h).toAlgebra
this✝ : SMul ↥(separableClosure F E) ↥L := Algebra.toSMul
this : IsScalarTower (↥(separableClosure F E)) (↥L) E
⊢ IsPurelyInseparable (↥L) E
state_after: no goals