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

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
⊢ (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: 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 : ¬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: 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 • (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: obtain ⟨u, hu⟩ := 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 (h | h) :=
  eq_neg_or_eq_of_eq_smul α.1 β.1 β.2 u (by ext x; exact DFunLike.congr_fun hu.symm x)
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: ext x
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 }
u : K
hu : u • Weight.toLinear K (↥H) L ↑α = Weight.toLinear K (↥H) L ↑β
⊢ ⇑↑β = u • ⇑↑α
state_after: case h
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 ↑β
x : ↥H
⊢ ↑β x = (u • ⇑↑α) x

tactic: exact DFunLike.congr_fun hu.symm x
state_before: case h
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 ↑β
x : ↥H
⊢ ↑β x = (u • ⇑↑α) x
state_after: no goals

tactic: right
state_before: 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 β
state_after: case intro.inl.h
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 β

tactic: ext x
state_before: case intro.inl.h
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 β
state_after: case intro.inl.h.h
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 : ↑β = -↑α
x : ↥H
⊢ ((rootSystem H).root α) x = (-(rootSystem H).root β) x

tactic: simpa [neg_eq_iff_eq_neg] using DFunLike.congr_fun h.symm x
state_before: case intro.inl.h.h
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 : ↑β = -↑α
x : ↥H
⊢ ((rootSystem H).root α) x = (-(rootSystem H).root β) x
state_after: no goals

tactic: left
state_before: 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 β
state_after: case intro.inr.h
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 β

tactic: ext x
state_before: case intro.inr.h
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 β
state_after: case intro.inr.h.h
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 : ↑β = ↑α
x : ↥H
⊢ ((rootSystem H).root α) x = ((rootSystem H).root β) x

tactic: simpa using DFunLike.congr_fun h.symm x
state_before: case intro.inr.h.h
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 : ↑β = ↑α
x : ↥H
⊢ ((rootSystem H).root α) x = ((rootSystem H).root β) x
state_after: no goals