Theorem: Algebra.trace_ne_zero
File: Mathlib/RingTheory/Trace.lean

tactic: intro e
state_before: R : Type u_1
S : Type u_2
T : Type u_3
inst✝¹⁵ : CommRing R
inst✝¹⁴ : CommRing S
inst✝¹³ : CommRing T
inst✝¹² : Algebra R S
inst✝¹¹ : Algebra R T
K : Type u_4
L : Type u_5
inst✝¹⁰ : Field K
inst✝⁹ : Field L
inst✝⁸ : Algebra K L
ι κ : Type w
inst✝⁷ : Fintype ι
F : Type u_6
inst✝⁶ : Field F
inst✝⁵ : Algebra R L
inst✝⁴ : Algebra L F
inst✝³ : Algebra R F
inst✝² : IsScalarTower R L F
pb : PowerBasis K L
inst✝¹ : FiniteDimensional K L
inst✝ : IsSeparable K L
⊢ trace K L ≠ 0
state_after: R : Type u_1
S : Type u_2
T : Type u_3
inst✝¹⁵ : CommRing R
inst✝¹⁴ : CommRing S
inst✝¹³ : CommRing T
inst✝¹² : Algebra R S
inst✝¹¹ : Algebra R T
K : Type u_4
L : Type u_5
inst✝¹⁰ : Field K
inst✝⁹ : Field L
inst✝⁸ : Algebra K L
ι κ : Type w
inst✝⁷ : Fintype ι
F : Type u_6
inst✝⁶ : Field F
inst✝⁵ : Algebra R L
inst✝⁴ : Algebra L F
inst✝³ : Algebra R F
inst✝² : IsScalarTower R L F
pb : PowerBasis K L
inst✝¹ : FiniteDimensional K L
inst✝ : IsSeparable K L
e : trace K L = 0
⊢ False

tactic: let pb : PowerBasis K L := Field.powerBasisOfFiniteOfSeparable _ _
state_before: R : Type u_1
S : Type u_2
T : Type u_3
inst✝¹⁵ : CommRing R
inst✝¹⁴ : CommRing S
inst✝¹³ : CommRing T
inst✝¹² : Algebra R S
inst✝¹¹ : Algebra R T
K : Type u_4
L : Type u_5
inst✝¹⁰ : Field K
inst✝⁹ : Field L
inst✝⁸ : Algebra K L
ι κ : Type w
inst✝⁷ : Fintype ι
F : Type u_6
inst✝⁶ : Field F
inst✝⁵ : Algebra R L
inst✝⁴ : Algebra L F
inst✝³ : Algebra R F
inst✝² : IsScalarTower R L F
pb : PowerBasis K L
inst✝¹ : FiniteDimensional K L
inst✝ : IsSeparable K L
e : trace K L = 0
⊢ False
state_after: R : Type u_1
S : Type u_2
T : Type u_3
inst✝¹⁵ : CommRing R
inst✝¹⁴ : CommRing S
inst✝¹³ : CommRing T
inst✝¹² : Algebra R S
inst✝¹¹ : Algebra R T
K : Type u_4
L : Type u_5
inst✝¹⁰ : Field K
inst✝⁹ : Field L
inst✝⁸ : Algebra K L
ι κ : Type w
inst✝⁷ : Fintype ι
F : Type u_6
inst✝⁶ : Field F
inst✝⁵ : Algebra R L
inst✝⁴ : Algebra L F
inst✝³ : Algebra R F
inst✝² : IsScalarTower R L F
pb✝ : PowerBasis K L
inst✝¹ : FiniteDimensional K L
inst✝ : IsSeparable K L
e : trace K L = 0
pb : PowerBasis K L := Field.powerBasisOfFiniteOfSeparable K L
⊢ False

tactic: apply det_traceMatrix_ne_zero' pb
state_before: R : Type u_1
S : Type u_2
T : Type u_3
inst✝¹⁵ : CommRing R
inst✝¹⁴ : CommRing S
inst✝¹³ : CommRing T
inst✝¹² : Algebra R S
inst✝¹¹ : Algebra R T
K : Type u_4
L : Type u_5
inst✝¹⁰ : Field K
inst✝⁹ : Field L
inst✝⁸ : Algebra K L
ι κ : Type w
inst✝⁷ : Fintype ι
F : Type u_6
inst✝⁶ : Field F
inst✝⁵ : Algebra R L
inst✝⁴ : Algebra L F
inst✝³ : Algebra R F
inst✝² : IsScalarTower R L F
pb✝ : PowerBasis K L
inst✝¹ : FiniteDimensional K L
inst✝ : IsSeparable K L
e : trace K L = 0
pb : PowerBasis K L := Field.powerBasisOfFiniteOfSeparable K L
⊢ False
state_after: R : Type u_1
S : Type u_2
T : Type u_3
inst✝¹⁵ : CommRing R
inst✝¹⁴ : CommRing S
inst✝¹³ : CommRing T
inst✝¹² : Algebra R S
inst✝¹¹ : Algebra R T
K : Type u_4
L : Type u_5
inst✝¹⁰ : Field K
inst✝⁹ : Field L
inst✝⁸ : Algebra K L
ι κ : Type w
inst✝⁷ : Fintype ι
F : Type u_6
inst✝⁶ : Field F
inst✝⁵ : Algebra R L
inst✝⁴ : Algebra L F
inst✝³ : Algebra R F
inst✝² : IsScalarTower R L F
pb✝ : PowerBasis K L
inst✝¹ : FiniteDimensional K L
inst✝ : IsSeparable K L
e : trace K L = 0
pb : PowerBasis K L := Field.powerBasisOfFiniteOfSeparable K L
⊢ (traceMatrix K ⇑pb.basis).det = 0

tactic: rw [show traceMatrix K pb.basis = 0 by ext; simp [e], Matrix.det_zero]
state_before: R : Type u_1
S : Type u_2
T : Type u_3
inst✝¹⁵ : CommRing R
inst✝¹⁴ : CommRing S
inst✝¹³ : CommRing T
inst✝¹² : Algebra R S
inst✝¹¹ : Algebra R T
K : Type u_4
L : Type u_5
inst✝¹⁰ : Field K
inst✝⁹ : Field L
inst✝⁸ : Algebra K L
ι κ : Type w
inst✝⁷ : Fintype ι
F : Type u_6
inst✝⁶ : Field F
inst✝⁵ : Algebra R L
inst✝⁴ : Algebra L F
inst✝³ : Algebra R F
inst✝² : IsScalarTower R L F
pb✝ : PowerBasis K L
inst✝¹ : FiniteDimensional K L
inst✝ : IsSeparable K L
e : trace K L = 0
pb : PowerBasis K L := Field.powerBasisOfFiniteOfSeparable K L
⊢ (traceMatrix K ⇑pb.basis).det = 0
state_after: R : Type u_1
S : Type u_2
T : Type u_3
inst✝¹⁵ : CommRing R
inst✝¹⁴ : CommRing S
inst✝¹³ : CommRing T
inst✝¹² : Algebra R S
inst✝¹¹ : Algebra R T
K : Type u_4
L : Type u_5
inst✝¹⁰ : Field K
inst✝⁹ : Field L
inst✝⁸ : Algebra K L
ι κ : Type w
inst✝⁷ : Fintype ι
F : Type u_6
inst✝⁶ : Field F
inst✝⁵ : Algebra R L
inst✝⁴ : Algebra L F
inst✝³ : Algebra R F
inst✝² : IsScalarTower R L F
pb✝ : PowerBasis K L
inst✝¹ : FiniteDimensional K L
inst✝ : IsSeparable K L
e : trace K L = 0
pb : PowerBasis K L := Field.powerBasisOfFiniteOfSeparable K L
⊢ Nonempty (Fin pb.dim)

tactic: rw [← pb.finrank, ← Fin.pos_iff_nonempty]
state_before: R : Type u_1
S : Type u_2
T : Type u_3
inst✝¹⁵ : CommRing R
inst✝¹⁴ : CommRing S
inst✝¹³ : CommRing T
inst✝¹² : Algebra R S
inst✝¹¹ : Algebra R T
K : Type u_4
L : Type u_5
inst✝¹⁰ : Field K
inst✝⁹ : Field L
inst✝⁸ : Algebra K L
ι κ : Type w
inst✝⁷ : Fintype ι
F : Type u_6
inst✝⁶ : Field F
inst✝⁵ : Algebra R L
inst✝⁴ : Algebra L F
inst✝³ : Algebra R F
inst✝² : IsScalarTower R L F
pb✝ : PowerBasis K L
inst✝¹ : FiniteDimensional K L
inst✝ : IsSeparable K L
e : trace K L = 0
pb : PowerBasis K L := Field.powerBasisOfFiniteOfSeparable K L
⊢ Nonempty (Fin pb.dim)
state_after: R : Type u_1
S : Type u_2
T : Type u_3
inst✝¹⁵ : CommRing R
inst✝¹⁴ : CommRing S
inst✝¹³ : CommRing T
inst✝¹² : Algebra R S
inst✝¹¹ : Algebra R T
K : Type u_4
L : Type u_5
inst✝¹⁰ : Field K
inst✝⁹ : Field L
inst✝⁸ : Algebra K L
ι κ : Type w
inst✝⁷ : Fintype ι
F : Type u_6
inst✝⁶ : Field F
inst✝⁵ : Algebra R L
inst✝⁴ : Algebra L F
inst✝³ : Algebra R F
inst✝² : IsScalarTower R L F
pb✝ : PowerBasis K L
inst✝¹ : FiniteDimensional K L
inst✝ : IsSeparable K L
e : trace K L = 0
pb : PowerBasis K L := Field.powerBasisOfFiniteOfSeparable K L
⊢ 0 < finrank K L

tactic: exact finrank_pos
state_before: R : Type u_1
S : Type u_2
T : Type u_3
inst✝¹⁵ : CommRing R
inst✝¹⁴ : CommRing S
inst✝¹³ : CommRing T
inst✝¹² : Algebra R S
inst✝¹¹ : Algebra R T
K : Type u_4
L : Type u_5
inst✝¹⁰ : Field K
inst✝⁹ : Field L
inst✝⁸ : Algebra K L
ι κ : Type w
inst✝⁷ : Fintype ι
F : Type u_6
inst✝⁶ : Field F
inst✝⁵ : Algebra R L
inst✝⁴ : Algebra L F
inst✝³ : Algebra R F
inst✝² : IsScalarTower R L F
pb✝ : PowerBasis K L
inst✝¹ : FiniteDimensional K L
inst✝ : IsSeparable K L
e : trace K L = 0
pb : PowerBasis K L := Field.powerBasisOfFiniteOfSeparable K L
⊢ 0 < finrank K L
state_after: no goals

tactic: ext
state_before: R : Type u_1
S : Type u_2
T : Type u_3
inst✝¹⁵ : CommRing R
inst✝¹⁴ : CommRing S
inst✝¹³ : CommRing T
inst✝¹² : Algebra R S
inst✝¹¹ : Algebra R T
K : Type u_4
L : Type u_5
inst✝¹⁰ : Field K
inst✝⁹ : Field L
inst✝⁸ : Algebra K L
ι κ : Type w
inst✝⁷ : Fintype ι
F : Type u_6
inst✝⁶ : Field F
inst✝⁵ : Algebra R L
inst✝⁴ : Algebra L F
inst✝³ : Algebra R F
inst✝² : IsScalarTower R L F
pb✝ : PowerBasis K L
inst✝¹ : FiniteDimensional K L
inst✝ : IsSeparable K L
e : trace K L = 0
pb : PowerBasis K L := Field.powerBasisOfFiniteOfSeparable K L
⊢ traceMatrix K ⇑pb.basis = 0
state_after: case a
R : Type u_1
S : Type u_2
T : Type u_3
inst✝¹⁵ : CommRing R
inst✝¹⁴ : CommRing S
inst✝¹³ : CommRing T
inst✝¹² : Algebra R S
inst✝¹¹ : Algebra R T
K : Type u_4
L : Type u_5
inst✝¹⁰ : Field K
inst✝⁹ : Field L
inst✝⁸ : Algebra K L
ι κ : Type w
inst✝⁷ : Fintype ι
F : Type u_6
inst✝⁶ : Field F
inst✝⁵ : Algebra R L
inst✝⁴ : Algebra L F
inst✝³ : Algebra R F
inst✝² : IsScalarTower R L F
pb✝ : PowerBasis K L
inst✝¹ : FiniteDimensional K L
inst✝ : IsSeparable K L
e : trace K L = 0
pb : PowerBasis K L := Field.powerBasisOfFiniteOfSeparable K L
i✝ j✝ : Fin pb.dim
⊢ traceMatrix K (⇑pb.basis) i✝ j✝ = 0 i✝ j✝

tactic: simp [e]
state_before: case a
R : Type u_1
S : Type u_2
T : Type u_3
inst✝¹⁵ : CommRing R
inst✝¹⁴ : CommRing S
inst✝¹³ : CommRing T
inst✝¹² : Algebra R S
inst✝¹¹ : Algebra R T
K : Type u_4
L : Type u_5
inst✝¹⁰ : Field K
inst✝⁹ : Field L
inst✝⁸ : Algebra K L
ι κ : Type w
inst✝⁷ : Fintype ι
F : Type u_6
inst✝⁶ : Field F
inst✝⁵ : Algebra R L
inst✝⁴ : Algebra L F
inst✝³ : Algebra R F
inst✝² : IsScalarTower R L F
pb✝ : PowerBasis K L
inst✝¹ : FiniteDimensional K L
inst✝ : IsSeparable K L
e : trace K L = 0
pb : PowerBasis K L := Field.powerBasisOfFiniteOfSeparable K L
i✝ j✝ : Fin pb.dim
⊢ traceMatrix K (⇑pb.basis) i✝ j✝ = 0 i✝ j✝
state_after: no goals