Theorem: LieAlgebra.IsKilling.isReduced_rootSystem
File: Mathlib/Algebra/Lie/Weights/RootSystem.lean

Proof steps:
state_before: K : Type u_1
L : Type u_2
inst✝⁷ : Field K
inst✝⁶ : CharZero K
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra K L
inst✝³ : IsKilling K L
inst✝² : FiniteDimensional K L
H : LieSubalgebra K L
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsTriangularizable K (↥H) L
α β : Weight K (↥H) L
hα : α.IsNonZero
⊢ (rootSystem H).IsReduced
state_after: K : Type u_1
L : Type u_2
inst✝⁷ : Field K
inst✝⁶ : CharZero K
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra K L
inst✝³ : IsKilling K L
inst✝² : FiniteDimensional K L
H : LieSubalgebra K L
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsTriangularizable K (↥H) L
α✝ β✝ : Weight K (↥H) L
hα : α✝.IsNonZero
α β : { α // α.IsNonZero }
e : ¬LinearIndependent K ![(rootSystem H).root α, (rootSystem H).root β]
⊢ (rootSystem H).root α = (rootSystem H).root β ∨ (rootSystem H).root α = -(rootSystem H).root β
tactic: intro α β e
state_before: K : Type u_1
L : Type u_2
inst✝⁷ : Field K
inst✝⁶ : CharZero K
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra K L
inst✝³ : IsKilling K L
inst✝² : FiniteDimensional K L
H : LieSubalgebra K L
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsTriangularizable K (↥H) L
α✝ β✝ : Weight K (↥H) L
hα : α✝.IsNonZero
α β : { α // α.IsNonZero }
e : ¬LinearIndependent K ![(rootSystem H).root α, (rootSystem H).root β]
⊢ (rootSystem H).root α = (rootSystem H).root β ∨ (rootSystem H).root α = -(rootSystem H).root β
state_after: K : Type u_1
L : Type u_2
inst✝⁷ : Field K
inst✝⁶ : CharZero K
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra K L
inst✝³ : IsKilling K L
inst✝² : FiniteDimensional K L
H : LieSubalgebra K L
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsTriangularizable K (↥H) L
α✝ β✝ : Weight K (↥H) L
hα : α✝.IsNonZero
α β : { α // α.IsNonZero }
e : ∃ x, ¬x • (rootSystem H).root α ≠ (rootSystem H).root β
⊢ (rootSystem H).root α = (rootSystem H).root β ∨ (rootSystem H).root α = -(rootSystem H).root β
tactic: rw [LinearIndependent.pair_iff' ((rootSystem H).ne_zero _), not_forall] at e
state_before: K : Type u_1
L : Type u_2
inst✝⁷ : Field K
inst✝⁶ : CharZero K
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra K L
inst✝³ : IsKilling K L
inst✝² : FiniteDimensional K L
H : LieSubalgebra K L
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsTriangularizable K (↥H) L
α✝ β✝ : Weight K (↥H) L
hα : α✝.IsNonZero
α β : { α // α.IsNonZero }
e : ∃ x, ¬x • (rootSystem H).root α ≠ (rootSystem H).root β
⊢ (rootSystem H).root α = (rootSystem H).root β ∨ (rootSystem H).root α = -(rootSystem H).root β
state_after: K : Type u_1
L : Type u_2
inst✝⁷ : Field K
inst✝⁶ : CharZero K
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra K L
inst✝³ : IsKilling K L
inst✝² : FiniteDimensional K L
H : LieSubalgebra K L
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsTriangularizable K (↥H) L
α✝ β✝ : Weight K (↥H) L
hα : α✝.IsNonZero
α β : { α // α.IsNonZero }
e : ∃ x, x • Weight.toLinear K (↥H) L ↑α = Weight.toLinear K (↥H) L ↑β
⊢ (rootSystem H).root α = (rootSystem H).root β ∨ (rootSystem H).root α = -(rootSystem H).root β
tactic: simp only [Nat.succ_eq_add_one, Nat.reduceAdd, rootSystem_root_apply, ne_eq, not_not] at e
state_before: K : Type u_1
L : Type u_2
inst✝⁷ : Field K
inst✝⁶ : CharZero K
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra K L
inst✝³ : IsKilling K L
inst✝² : FiniteDimensional K L
H : LieSubalgebra K L
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsTriangularizable K (↥H) L
α✝ β✝ : Weight K (↥H) L
hα : α✝.IsNonZero
α β : { α // α.IsNonZero }
e : ∃ x, x • Weight.toLinear K (↥H) L ↑α = Weight.toLinear K (↥H) L ↑β
⊢ (rootSystem H).root α = (rootSystem H).root β ∨ (rootSystem H).root α = -(rootSystem H).root β
state_after: case intro
K : Type u_1
L : Type u_2
inst✝⁷ : Field K
inst✝⁶ : CharZero K
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra K L
inst✝³ : IsKilling K L
inst✝² : FiniteDimensional K L
H : LieSubalgebra K L
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsTriangularizable K (↥H) L
α✝ β✝ : Weight K (↥H) L
hα : α✝.IsNonZero
α β : { α // α.IsNonZero }
u : K
hu : u • Weight.toLinear K (↥H) L ↑α = Weight.toLinear K (↥H) L ↑β
⊢ (rootSystem H).root α = (rootSystem H).root β ∨ (rootSystem H).root α = -(rootSystem H).root β
tactic: obtain ⟨u, hu⟩ := e
state_before: case intro
K : Type u_1
L : Type u_2
inst✝⁷ : Field K
inst✝⁶ : CharZero K
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra K L
inst✝³ : IsKilling K L
inst✝² : FiniteDimensional K L
H : LieSubalgebra K L
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsTriangularizable K (↥H) L
α✝ β✝ : Weight K (↥H) L
hα : α✝.IsNonZero
α β : { α // α.IsNonZero }
u : K
hu : u • Weight.toLinear K (↥H) L ↑α = Weight.toLinear K (↥H) L ↑β
⊢ (rootSystem H).root α = (rootSystem H).root β ∨ (rootSystem H).root α = -(rootSystem H).root β
state_after: case intro.inl
K : Type u_1
L : Type u_2
inst✝⁷ : Field K
inst✝⁶ : CharZero K
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra K L
inst✝³ : IsKilling K L
inst✝² : FiniteDimensional K L
H : LieSubalgebra K L
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsTriangularizable K (↥H) L
α✝ β✝ : Weight K (↥H) L
hα : α✝.IsNonZero
α β : { α // α.IsNonZero }
u : K
hu : u • Weight.toLinear K (↥H) L ↑α = Weight.toLinear K (↥H) L ↑β
h : ↑β = -↑α
⊢ (rootSystem H).root α = (rootSystem H).root β ∨ (rootSystem H).root α = -(rootSystem H).root β

case intro.inr
K : Type u_1
L : Type u_2
inst✝⁷ : Field K
inst✝⁶ : CharZero K
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra K L
inst✝³ : IsKilling K L
inst✝² : FiniteDimensional K L
H : LieSubalgebra K L
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsTriangularizable K (↥H) L
α✝ β✝ : Weight K (↥H) L
hα : α✝.IsNonZero
α β : { α // α.IsNonZero }
u : K
hu : u • Weight.toLinear K (↥H) L ↑α = Weight.toLinear K (↥H) L ↑β
h : ↑β = ↑α
⊢ (rootSystem H).root α = (rootSystem H).root β ∨ (rootSystem H).root α = -(rootSystem H).root β
tactic: obtain (h | h) :=
    eq_neg_or_eq_of_eq_smul α.1 β.1 β.2 u (by ext x; exact DFunLike.congr_fun hu.symm x)