case h
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : LieRing L
inst✝¹ : LieAlgebra K L
inst✝ : Module.Finite K L
h : ↑(finrank K L) ≤ #K
x : L
hx : IsRegular K x
⊢ IsNilpotent K ↥(engel K x)


case h.h
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : LieRing L
inst✝¹ : LieAlgebra K L
inst✝ : Module.Finite K L
h : ↑(finrank K L) ≤ #K
x : L
hx : IsRegular K x
y : L
hy : y ∈ engel K x
⊢ engel K x ≤ engel K y


case h.h
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : LieRing L
inst✝¹ : LieAlgebra K L
inst✝ : Module.Finite K L
h : ↑(finrank K L) ≤ #K
x : L
hx : IsRegular K x
y : L
hy : y ∈ engel K x
Ex : ↑{x_1 | ∃ z ∈ engel K x, engel K z = x_1} := ⟨engel K x, ⋯⟩
⊢ engel K x ≤ engel K y


case h.h
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : LieRing L
inst✝¹ : LieAlgebra K L
inst✝ : Module.Finite K L
h : ↑(finrank K L) ≤ #K
x : L
hx : IsRegular K x
y : L
hy : y ∈ engel K x
Ex : ↑{x_1 | ∃ z ∈ engel K x, engel K z = x_1} := ⟨engel K x, ⋯⟩
⊢ IsBot Ex


case h.h.mk.intro.intro
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : LieRing L
inst✝¹ : LieAlgebra K L
inst✝ : Module.Finite K L
h : ↑(finrank K L) ≤ #K
x : L
hx : IsRegular K x
y✝ : L
hy✝ : y✝ ∈ engel K x
Ex : ↑{x_1 | ∃ z ∈ engel K x, engel K z = x_1} := ⟨engel K x, ⋯⟩
y : L
hy : y ∈ engel K x
hyx : ⟨engel K y, ⋯⟩ ≤ Ex
⊢ Ex ≤ ⟨engel K y, ⋯⟩


case h.h.mk.intro.intro
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : LieRing L
inst✝¹ : LieAlgebra K L
inst✝ : Module.Finite K L
h : ↑(finrank K L) ≤ #K
x : L
hx : IsRegular K x
y✝ : L
hy✝ : y✝ ∈ engel K x
Ex : ↑{x_1 | ∃ z ∈ engel K x, engel K z = x_1} := ⟨engel K x, ⋯⟩
y : L
hy : y ∈ engel K x
hyx : ⟨engel K y, ⋯⟩ ≤ Ex
⊢ finrank K ↥(engel K x) ≤ finrank K ↥(engel K y)


case h.h.mk.intro.intro
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : LieRing L
inst✝¹ : LieAlgebra K L
inst✝ : Module.Finite K L
h : ↑(finrank K L) ≤ #K
x : L
hx : IsRegular K x
y✝ : L
hy✝ : y✝ ∈ engel K x
Ex : ↑{x_1 | ∃ z ∈ engel K x, engel K z = x_1} := ⟨engel K x, ⋯⟩
y : L
hy : y ∈ engel K x
hyx : ⟨engel K y, ⋯⟩ ≤ Ex
⊢ rank K L ≤ finrank K ↥(engel K y)


K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : LieRing L
inst✝¹ : LieAlgebra K L
inst✝ : Module.Finite K L
h : ↑(finrank K L) ≤ #K
x : L
hx : IsRegular K x
y✝ : L
hy✝ : y✝ ∈ engel K x
Ex : ↑{x_1 | ∃ z ∈ engel K x, engel K z = x_1} := ⟨engel K x, ⋯⟩
y : L
hy : y ∈ engel K x
hyx : ⟨engel K y, ⋯⟩ ≤ Ex
this : finrank K ↥(engel K x) ≤ finrank K ↥(engel K y)
⊢ Ex ≤ ⟨engel K y, ⋯⟩


K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : LieRing L
inst✝¹ : LieAlgebra K L
inst✝ : Module.Finite K L
h : ↑(finrank K L) ≤ #K
x : L
hx : IsRegular K x
y✝ : L
hy✝ : y✝ ∈ engel K x
Ex : ↑{x_1 | ∃ z ∈ engel K x, engel K z = x_1} := ⟨engel K x, ⋯⟩
y : L
hy : y ∈ engel K x
hyx : ⟨engel K y, ⋯⟩ ≤ Ex
this : finrank K ↥(engel K x) ≤ finrank K ↥(engel K y)
⊢ engel K y = engel K x


case a
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : LieRing L
inst✝¹ : LieAlgebra K L
inst✝ : Module.Finite K L
h : ↑(finrank K L) ≤ #K
x : L
hx : IsRegular K x
y✝ : L
hy✝ : y✝ ∈ engel K x
Ex : ↑{x_1 | ∃ z ∈ engel K x, engel K z = x_1} := ⟨engel K x, ⋯⟩
y : L
hy : y ∈ engel K x
hyx : ⟨engel K y, ⋯⟩ ≤ Ex
this : finrank K ↥(engel K x) ≤ finrank K ↥(engel K y)
⊢ (engel K y).toSubmodule = (engel K x).toSubmodule


R : Type u_1
L : Type u_2
M : Type u_3
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
h e f : L
m : M
μ : R
t : IsSl2Triple h e f
P : t.HasPrimitiveVectorWith m μ
inst✝³ : IsNoetherian R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : IsDomain R
inst✝ : CharZero R
⊢ ∃ n, μ = ↑n


R : Type u_1
L : Type u_2
M : Type u_3
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
h e f : L
m : M
μ : R
t : IsSl2Triple h e f
P : t.HasPrimitiveVectorWith m μ
inst✝³ : IsNoetherian R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : IsDomain R
inst✝ : CharZero R
⊢ ∃ n, ((toEnd R L M) f ^ n) m = 0


R : Type u_1
L : Type u_2
M : Type u_3
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
h e f : L
m : M
μ : R
t : IsSl2Triple h e f
P : t.HasPrimitiveVectorWith m μ
inst✝³ : IsNoetherian R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : IsDomain R
inst✝ : CharZero R
hs : (range fun n => μ - 2 * ↑n).Infinite
contra : ∀ (n : ℕ), ((toEnd R L M) f ^ n) m ≠ 0
⊢ False


R : Type u_1
L : Type u_2
M : Type u_3
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
h e f : L
m : M
μ : R
t : IsSl2Triple h e f
P : t.HasPrimitiveVectorWith m μ
inst✝³ : IsNoetherian R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : IsDomain R
inst✝ : CharZero R
this : ∃ n, ((toEnd R L M) f ^ n) m = 0
⊢ ∃ n, μ = ↑n


case intro.intro
R : Type u_1
L : Type u_2
M : Type u_3
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
h e f : L
m : M
μ : R
t : IsSl2Triple h e f
P : t.HasPrimitiveVectorWith m μ
inst✝³ : IsNoetherian R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : IsDomain R
inst✝ : CharZero R
this : ∃ n, ((toEnd R L M) f ^ n) m = 0
n : ℕ
hn₁ : ¬((toEnd R L M) f ^ n) m = 0
hn₂ : ((toEnd R L M) f ^ (n + 1)) m = 0
⊢ μ = ↑n


case intro.intro
R : Type u_1
L : Type u_2
M : Type u_3
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
h e f : L
m : M
μ : R
t : IsSl2Triple h e f
P : t.HasPrimitiveVectorWith m μ
inst✝³ : IsNoetherian R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : IsDomain R
inst✝ : CharZero R
this✝ : ∃ n, ((toEnd R L M) f ^ n) m = 0
n : ℕ
hn₁ : ¬((toEnd R L M) f ^ n) m = 0
hn₂ : ((toEnd R L M) f ^ (n + 1)) m = 0
this : ⁅e, ((toEnd R L M) f ^ (n + 1)) m⁆ = ((↑n + 1) * (μ - ↑n)) • ((toEnd R L M) f ^ n) m
⊢ μ = ↑n


case intro.intro
R : Type u_1
L : Type u_2
M : Type u_3
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
h e f : L
m : M
μ : R
t : IsSl2Triple h e f
P : t.HasPrimitiveVectorWith m μ
inst✝³ : IsNoetherian R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : IsDomain R
inst✝ : CharZero R
this✝ : ∃ n, ((toEnd R L M) f ^ n) m = 0
n : ℕ
hn₁ : ¬((toEnd R L M) f ^ n) m = 0
hn₂ : ((toEnd R L M) f ^ (n + 1)) m = 0
this : ↑n + 1 = 0 ∨ μ = ↑n
⊢ μ = ↑n


R : Type u_1
L : Type u_2
M : Type u_3
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
h e f : L
m : M
μ : R
t : IsSl2Triple h e f
P : t.HasPrimitiveVectorWith m μ
inst✝³ : IsNoetherian R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : IsDomain R
inst✝ : CharZero R
⊢ (range fun n => μ - 2 * ↑n).Infinite


R : Type u_1
L : Type u_2
M : Type u_3
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
h e f : L
m : M
μ : R
t : IsSl2Triple h e f
P : t.HasPrimitiveVectorWith m μ
inst✝³ : IsNoetherian R M
inst✝² : NoZeroSMulDivisors R M
inst✝¹ : IsDomain R
inst✝ : CharZero R
hs : (range fun n => μ - 2 * ↑n).Infinite
contra : ∀ (n : ℕ), ((toEnd R L M) f ^ n) m ≠ 0
x✝ : ↑{x | ∃ n, μ - 2 * ↑n = x}
r : R
hr : r ∈ {x | ∃ n, μ - 2 * ↑n = x}
⊢ ((toEnd R L M) h).HasEigenvector (↑⟨r, hr⟩)
    ((fun x =>
        match x with
        | ⟨s, hs⟩ => ((toEnd R L M) f ^ Classical.choose hs) m)
      ⟨r, hr⟩)


case nil
α : Type u_1
β : Type u_2
γ : Type u_3
dec : DecidableEq α
a b : α
P Q : RegularExpression α
⊢ (P + Q).rmatch [] = true ↔ P.rmatch [] = true ∨ Q.rmatch [] = true


case cons
α : Type u_1
β : Type u_2
γ : Type u_3
dec : DecidableEq α
a b head✝ : α
tail✝ : List α
ih : ∀ (P Q : RegularExpression α), (P + Q).rmatch tail✝ = true ↔ P.rmatch tail✝ = true ∨ Q.rmatch tail✝ = true
P Q : RegularExpression α
⊢ ((P + Q).deriv head✝).rmatch tail✝ = true ↔ (P.deriv head✝).rmatch tail✝ = true ∨ (Q.deriv head✝).rmatch tail✝ = true


α : Type u_1
inst✝ : OrderedCommGroup α
s t : Set α
a : α
⊢ ↑(upperClosure (s * t)) = ↑(upperClosure s * upperClosure t)


α : Type u_1
inst✝ : OrderedRing α
a : α
⊢ Pairwise (Disjoint on fun n => Ico (a + ↑n) (a + ↑n + 1))


ι : Type u_1
α : Type u_2
β : Type u_3
inst✝ : LinearOrderedField α
a b c d : α
n : ℤ
hb : b < 0
h : a < b
⊢ 1 / b < 1 / a


case h
G : Type u_1
inst✝ : CommGroup G
s : Set G
a : G ⧸ stabilizer G s
⊢ a ∈ stabilizer (G ⧸ stabilizer G s) (QuotientGroup.mk '' s) ↔ a ∈ ⊥


case h.H
G : Type u_1
inst✝ : CommGroup G
s : Set G
a : G
⊢ ↑a ∈ stabilizer (G ⧸ stabilizer G s) (QuotientGroup.mk '' s) ↔ ↑a ∈ ⊥


case h.H
G : Type u_1
inst✝ : CommGroup G
s : Set G
a : G
⊢ ↑a • QuotientGroup.mk '' s = QuotientGroup.mk '' s ↔ a • s = s


case h.H
G : Type u_1
inst✝ : CommGroup G
s : Set G
a : G
this : ↑a • QuotientGroup.mk '' s = QuotientGroup.mk '' (a • s)
h : QuotientGroup.mk '' (a • s) = QuotientGroup.mk '' s
⊢ a • s = s


R : Type u
L : Type v
L' : Type w₂
M : Type w
M' : Type w₁
inst✝¹² : CommRing R
inst✝¹¹ : LieRing L
inst✝¹⁰ : LieAlgebra R L
inst✝⁹ : LieRing L'
inst✝⁸ : LieAlgebra R L'
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
f : L →ₗ⁅R⁆ L'
I : LieIdeal R L
J : LieIdeal R L'
h : lieIdealSubalgebra R L' f.idealRange = f.range
y : L'
⊢ y ∈ f.idealRange ↔ ∃ x, f x = y


ι : Type u_1
ι' : Type u_2
c : ComplexShape ι
c' : ComplexShape ι'
C : Type u_3
inst✝² : Category.{u_4, u_3} C
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
K : HomologicalComplex C c
e : c.Embedding c'
i' j' : ι'
i : ι
hi : e.f i = i'
hi' : ¬c.Rel i (c.next i)
⊢ (K.extend e).d i' j' = 0


case inl
ι : Type u_1
ι' : Type u_2
c : ComplexShape ι
c' : ComplexShape ι'
C : Type u_3
inst✝² : Category.{u_4, u_3} C
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
K : HomologicalComplex C c
e : c.Embedding c'
i' j' : ι'
i : ι
hi : e.f i = i'
hi' : ¬c.Rel i (c.next i)
hj' : e.r j' = none
⊢ (K.extend e).d i' j' = 0


case inr.intro
ι : Type u_1
ι' : Type u_2
c : ComplexShape ι
c' : ComplexShape ι'
C : Type u_3
inst✝² : Category.{u_4, u_3} C
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
K : HomologicalComplex C c
e : c.Embedding c'
i' j' : ι'
i : ι
hi : e.f i = i'
hi' : ¬c.Rel i (c.next i)
j : ι
hj : e.r j' = some j
⊢ (K.extend e).d i' j' = 0


case mk
R : Type u
inst✝ : CommRing R
U : Opens ↑(PrimeSpectrum.Top R)
s : ↑((structureSheaf R).val.obj { unop := U })
val✝ : ↑(PrimeSpectrum.Top R)
property✝ : val✝ ∈ U
⊢ (stalkToFiberRingHom R ↑⟨val✝, property✝⟩) (((structureSheaf R).presheaf.germ ⟨val✝, property✝⟩) s) =
    ↑s ⟨val✝, property✝⟩


α : Type u_1
cmp : α → α → Ordering
t : RBSet α cmp
⊢ (toStream t).toList = t.toList


C : Type u_1
inst✝² : Category.{u_2, u_1} C
inst✝¹ : HasZeroMorphisms C
S S₁ S₂ S₃ : ShortComplex C
h : S.RightHomologyData
inst✝ : S.HasRightHomology
⊢ h.rightHomologyIso.inv ≫ S.rightHomologyι = h.ι ≫ h.opcyclesIso.inv


C : Type u_1
inst✝² : Category.{u_2, u_1} C
inst✝¹ : HasZeroMorphisms C
S S₁ S₂ S₃ : ShortComplex C
h : S.RightHomologyData
inst✝ : S.HasRightHomology
⊢ rightHomologyMap' (𝟙 S) h S.rightHomologyData ≫ S.rightHomologyData.ι = h.ι ≫ opcyclesMap' (𝟙 S) h S.rightHomologyData


R : Type u
inst✝¹ : Ring R
inst✝ : IsDomain R
⊢ ∃ q, ExpChar R q


ι : Type u_1
κ✝ : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
s✝ s₁ s₂ : Finset α
a : α
f g✝ : α → β
κ : Type u_6
inst✝ : DecidableEq κ
s : Finset ι
t : Finset κ
g : ι → κ
⊢ ∑ j ∈ t, (filter (fun i => g i = j) s).card = (filter (fun i => g i ∈ t) s).card


ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
s s₁ s₂ : Finset α
a : α
f✝ g : α → β
inst✝ : CommMonoid β
ha : a ∉ s
f : Finset α → β
⊢ ∏ t ∈ (cons a s ha).powerset, f t = (∏ t ∈ s.powerset, f t) * ∏ t ∈ s.powerset.attach, f (cons a ↑t ⋯)


ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
s s₁ s₂ : Finset α
a : α
f✝ g : α → β
inst✝ : CommMonoid β
ha : a ∉ s
f : Finset α → β
⊢ ∏ x ∈ (insert a s).powerset, f x = (∏ x ∈ s.powerset, f x) * ∏ x ∈ s.powerset.attach, f (insert a ↑x)


case cons
α : Type u_1
β : Type u_2
k : α
inst✝¹ : BEq α
inst✝ : PartialEquivBEq α
f : α × β → β
a : α × β
l : List (α × β)
ih :
  List.Pairwise (fun a b => ¬(a.fst == b.fst) = true) l →
    List.Pairwise (fun a b => ¬(a.fst == b.fst) = true)
      (List.replaceF (fun a => bif a.fst == k then some (k, f a) else none) l)
H : List.Pairwise (fun a b => ¬(a.fst == b.fst) = true) (a :: l)
⊢ List.Pairwise (fun a b => ¬(a.fst == b.fst) = true)
    (List.replaceF (fun a => bif a.fst == k then some (k, f a) else none) (a :: l))


case cons
α : Type u_1
β : Type u_2
k : α
inst✝¹ : BEq α
inst✝ : PartialEquivBEq α
f : α × β → β
a : α × β
l : List (α × β)
ih :
  List.Pairwise (fun a b => ¬(a.fst == b.fst) = true) l →
    List.Pairwise (fun a b => ¬(a.fst == b.fst) = true)
      (List.replaceF (fun a => bif a.fst == k then some (k, f a) else none) l)
H : (∀ (a' : α × β), a' ∈ l → ¬(a.fst == a'.fst) = true) ∧ List.Pairwise (fun a b => ¬(a.fst == b.fst) = true) l
⊢ List.Pairwise (fun a b => ¬(a.fst == b.fst) = true)
    (match bif a.fst == k then some (k, f a) else none with
    | none => a :: List.replaceF (fun a => bif a.fst == k then some (k, f a) else none) l
    | some a => a :: l)


case cons
α : Type u_1
β : Type u_2
k : α
inst✝¹ : BEq α
inst✝ : PartialEquivBEq α
f : α × β → β
a : α × β
l : List (α × β)
ih :
  List.Pairwise (fun a b => ¬(a.fst == b.fst) = true) l →
    List.Pairwise (fun a b => ¬(a.fst == b.fst) = true)
      (List.replaceF (fun a => bif a.fst == k then some (k, f a) else none) l)
H : (∀ (a' : α × β), a' ∈ l → ¬(a.fst == a'.fst) = true) ∧ List.Pairwise (fun a b => ¬(a.fst == b.fst) = true) l
z : Option (α × β)
e : (bif a.fst == k then some (k, f a) else none) = z
⊢ List.Pairwise (fun a b => ¬(a.fst == b.fst) = true)
    (match z with
    | none => a :: List.replaceF (fun a => bif a.fst == k then some (k, f a) else none) l
    | some a => a :: l)


case cons.h_2
α : Type u_1
β : Type u_2
k : α
inst✝¹ : BEq α
inst✝ : PartialEquivBEq α
f : α × β → β
a : α × β
l : List (α × β)
ih :
  List.Pairwise (fun a b => ¬(a.fst == b.fst) = true) l →
    List.Pairwise (fun a b => ¬(a.fst == b.fst) = true)
      (List.replaceF (fun a => bif a.fst == k then some (k, f a) else none) l)
H : (∀ (a' : α × β), a' ∈ l → ¬(a.fst == a'.fst) = true) ∧ List.Pairwise (fun a b => ¬(a.fst == b.fst) = true) l
c✝ : Bool
heq✝ : (a.fst == k) = false
⊢ (∀ (a' : α × β),
      a' ∈ List.replaceF (fun a => bif a.fst == k then some (k, f a) else none) l → ¬(a.fst == a'.fst) = true) ∧
    List.Pairwise (fun a b => ¬(a.fst == b.fst) = true)
      (List.replaceF (fun a => bif a.fst == k then some (k, f a) else none) l)


α : Type u_1
β : Type u_2
k : α
inst✝¹ : BEq α
inst✝ : PartialEquivBEq α
f : α × β → β
a✝ : α × β
l : List (α × β)
ih :
  List.Pairwise (fun a b => ¬(a.fst == b.fst) = true) l →
    List.Pairwise (fun a b => ¬(a.fst == b.fst) = true)
      (List.replaceF (fun a => bif a.fst == k then some (k, f a) else none) l)
H : (∀ (a' : α × β), a' ∈ l → ¬(a✝.fst == a'.fst) = true) ∧ List.Pairwise (fun a b => ¬(a.fst == b.fst) = true) l
c✝ : Bool
e : (a✝.fst == k) = false
a : α × β
h : a ∈ List.replaceF (fun a => bif a.fst == k then some (k, f a) else none) l
⊢ ¬(a✝.fst == a.fst) = true


α : Type u_1
β : Type u_2
k : α
inst✝¹ : BEq α
inst✝ : PartialEquivBEq α
f : α × β → β
a✝ : α × β
l : List (α × β)
ih :
  List.Pairwise (fun a b => ¬(a.fst == b.fst) = true) l →
    List.Pairwise (fun a b => ¬(a.fst == b.fst) = true)
      (List.replaceF (fun a => bif a.fst == k then some (k, f a) else none) l)
H : (∀ (a' : α × β), a' ∈ l → ¬(a✝.fst == a'.fst) = true) ∧ List.Pairwise (fun a b => ¬(a.fst == b.fst) = true) l
c✝ : Bool
e : (a✝.fst == k) = false
a : α × β
h : a ∈ List.replaceF (fun a => bif a.fst == k then some (k, f a) else none) l
eq : a.fst = k
⊢ ¬(a✝.fst == a.fst) = true


ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
κ : ι → Type u_5
s s₁ s₂ : Finset ι
i : ι
a : α
f✝ g : ι → α
inst✝² : CommSemiring α
inst✝¹ : DecidableEq ι
inst✝ : Fintype ι
t : (i : ι) → Finset (κ i)
f : (i : ι) → κ i → α
⊢ ∏ i : ι, ∑ j ∈ t i, f i j = ∑ x ∈ piFinset t, ∏ i : ι, f i (x i)


R : Type u
inst✝⁷ : CommRing R
inst✝⁶ : IsDomain R
inst✝⁵ : IsPrincipalIdealRing R
M : Type v
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
N : Type (max u v)
inst✝² : AddCommGroup N
inst✝¹ : Module R N
inst✝ : Module.Finite R M
hM : Module.IsTorsion R M
⊢ ∃ ι x x p, ∃ (_ : ∀ (i : ι), Irreducible (p i)), ∃ e, DirectSum.IsInternal fun i => torsionBy R M (p i ^ e i)


case refine_1
R : Type u
inst✝⁷ : CommRing R
inst✝⁶ : IsDomain R
inst✝⁵ : IsPrincipalIdealRing R
M : Type v
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
N : Type (max u v)
inst✝² : AddCommGroup N
inst✝¹ : Module R N
inst✝ : Module.Finite R M
hM : Module.IsTorsion R M
⊢ Fintype { x // x ∈ (factors ⊤.annihilator).toFinset }


case refine_2.mk
R : Type u
inst✝⁷ : CommRing R
inst✝⁶ : IsDomain R
inst✝⁵ : IsPrincipalIdealRing R
M : Type v
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
N : Type (max u v)
inst✝² : AddCommGroup N
inst✝¹ : Module R N
inst✝ : Module.Finite R M
hM : Module.IsTorsion R M
p : Ideal R
hp : p ∈ (factors ⊤.annihilator).toFinset
⊢ Irreducible (IsPrincipal.generator ↑⟨p, hp⟩)


case refine_2.mk
R : Type u
inst✝⁷ : CommRing R
inst✝⁶ : IsDomain R
inst✝⁵ : IsPrincipalIdealRing R
M : Type v
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
N : Type (max u v)
inst✝² : AddCommGroup N
inst✝¹ : Module R N
inst✝ : Module.Finite R M
hM : Module.IsTorsion R M
p : Ideal R
hp : p ∈ (factors ⊤.annihilator).toFinset
hP : Prime p
⊢ Irreducible (IsPrincipal.generator ↑⟨p, hp⟩)


case refine_2.mk
R : Type u
inst✝⁷ : CommRing R
inst✝⁶ : IsDomain R
inst✝⁵ : IsPrincipalIdealRing R
M : Type v
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
N : Type (max u v)
inst✝² : AddCommGroup N
inst✝¹ : Module R N
inst✝ : Module.Finite R M
hM : Module.IsTorsion R M
p : Ideal R
hp : p ∈ (factors ⊤.annihilator).toFinset
hP : Prime p
this : p.IsPrime
⊢ Irreducible (IsPrincipal.generator ↑⟨p, hp⟩)


R : Type u
inst✝ : CommRing R
W : Affine R
⊢ Y - W.negPolynomial = W.polynomialY


p : Char → Bool
s : String
⊢ (s.takeWhile p).data = List.takeWhile p s.data


R : Type u_1
inst✝ : Rack R
x y : R
⊢ x ◃⁻¹ x = y ◃⁻¹ y ↔ x = y


S : ShortComplex Ab
x : ↥(AddMonoidHom.ker S.g)
⊢ S.iCycles (S.abCyclesIso.inv x) = ↑x


S : ShortComplex Ab
x : ↥(AddMonoidHom.ker S.g)
⊢ S.iCycles (S.abLeftHomologyData.cyclesIso.inv x) = ↑x


n₁ n₂ d₁ d₂ : Int
z₁ : d₁ ≠ 0
z₂ : d₂ ≠ 0
⊢ n₁ /. d₁ * (n₂ /. d₂) = n₁ * n₂ /. (d₁ * d₂)


C : Type u_1
inst✝⁴ : Category.{u_3, u_1} C
inst✝³ : HasZeroMorphisms C
ι : Type u_2
c : ComplexShape ι
K L M : HomologicalComplex C c
φ : K ⟶ L
ψ : L ⟶ M
i j k : ι
inst✝² : K.HasHomology i
inst✝¹ : L.HasHomology i
inst✝ : M.HasHomology i
⊢ opcyclesMap (φ ≫ ψ) i = opcyclesMap φ i ≫ opcyclesMap ψ i


C : Type u_1
inst✝⁴ : Category.{u_3, u_1} C
inst✝³ : HasZeroMorphisms C
ι : Type u_2
c : ComplexShape ι
K L M : HomologicalComplex C c
φ : K ⟶ L
ψ : L ⟶ M
i j k : ι
inst✝² : K.HasHomology i
inst✝¹ : L.HasHomology i
inst✝ : M.HasHomology i
⊢ ShortComplex.opcyclesMap ((shortComplexFunctor C c i).map (φ ≫ ψ)) =
    ShortComplex.opcyclesMap ((shortComplexFunctor C c i).map φ) ≫
      ShortComplex.opcyclesMap ((shortComplexFunctor C c i).map ψ)


F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
a : α
ha : 0 ≤ a
⊢ ↑⌈a⌉₊ = ⌈a⌉


ι : Type u_1
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f g : C ⟶ D
h✝ k : D ⟶ E
i k₂ k₁ k₀ : ι
r₂₁ : c.Rel k₂ k₁
r₁₀ : c.Rel k₁ k₀
h : (i j : ι) → c.Rel j i → (C.X i ⟶ D.X j)
⊢ (nullHomotopicMap' h).f k₁ = C.d k₁ k₀ ≫ h k₀ k₁ r₁₀ + h k₁ k₂ r₂₁ ≫ D.d k₂ k₁


ι : Type u_1
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f g : C ⟶ D
h✝ k : D ⟶ E
i k₂ k₁ k₀ : ι
r₂₁ : c.Rel k₂ k₁
r₁₀ : c.Rel k₁ k₀
h : (i j : ι) → c.Rel j i → (C.X i ⟶ D.X j)
⊢ (nullHomotopicMap fun i j => dite (c.Rel j i) (h i j) fun x => 0).f k₁ =
    C.d k₁ k₀ ≫ h k₀ k₁ r₁₀ + h k₁ k₂ r₂₁ ≫ D.d k₂ k₁


R : Type u_1
inst✝¹² : CommSemiring R
S : Submonoid R
M : Type u_2
M' : Type u_3
M'' : Type u_4
inst✝¹¹ : AddCommMonoid M
inst✝¹⁰ : AddCommMonoid M'
inst✝⁹ : AddCommMonoid M''
A : Type u_5
inst✝⁸ : CommSemiring A
inst✝⁷ : Algebra R A
inst✝⁶ : Module A M'
inst✝⁵ : IsLocalization S A
inst✝⁴ : Module R M
inst✝³ : Module R M'
inst✝² : Module R M''
inst✝¹ : IsScalarTower R A M'
f : M →ₗ[R] M'
g : M →ₗ[R] M''
inst✝ : IsLocalizedModule S f
m₁ m₂ : M
s : ↥S
⊢ mk' f (m₁ + m₂) s = mk' f m₁ s + mk' f m₂ s


K : Type u_1
L : Type u_3
M : Type u_4
inst✝⁹ : LieRing L
inst✝⁸ : AddCommGroup M
inst✝⁷ : LieRingModule L M
inst✝⁶ : Field K
inst✝⁵ : LieAlgebra K L
inst✝⁴ : Module K M
inst✝³ : LieModule K L M
inst✝² : LieAlgebra.IsNilpotent K L
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
⊢ ⨆ χ, weightSpace M χ = ⊤


case h
K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
ih :
  ∀ m < n,
    ∀ (M : Type u_4) [inst : AddCommGroup M] [inst_1 : LieRingModule L M] [inst_2 : Module K M]
      [inst_3 : LieModule K L M] [inst_4 : FiniteDimensional K M] [inst_5 : IsTriangularizable K L M],
      finrank K M = m → ⨆ χ, weightSpace M χ = ⊤
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
⊢ ⨆ χ, weightSpace M χ = ⊤


case h.inl
K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
ih :
  ∀ m < n,
    ∀ (M : Type u_4) [inst : AddCommGroup M] [inst_1 : LieRingModule L M] [inst_2 : Module K M]
      [inst_3 : LieModule K L M] [inst_4 : FiniteDimensional K M] [inst_5 : IsTriangularizable K L M],
      finrank K M = m → ⨆ χ, weightSpace M χ = ⊤
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
χ : L → K
hχ : ∀ (a : L), weightSpaceOf M (χ a) a = ⊤
⊢ ⨆ χ, weightSpace M χ = ⊤


case h.inl
K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
ih :
  ∀ m < n,
    ∀ (M : Type u_4) [inst : AddCommGroup M] [inst_1 : LieRingModule L M] [inst_2 : Module K M]
      [inst_3 : LieModule K L M] [inst_4 : FiniteDimensional K M] [inst_5 : IsTriangularizable K L M],
      finrank K M = m → ⨆ χ, weightSpace M χ = ⊤
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
χ : L → K
hχ : weightSpace M χ = ⊤
⊢ ⨆ χ, weightSpace M χ = ⊤


K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
ih :
  ∀ m < n,
    ∀ (M : Type u_4) [inst : AddCommGroup M] [inst_1 : LieRingModule L M] [inst_2 : Module K M]
      [inst_3 : LieModule K L M] [inst_4 : FiniteDimensional K M] [inst_5 : IsTriangularizable K L M],
      finrank K M = m → ⨆ χ, weightSpace M χ = ⊤
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
χ : L → K
hχ : ∀ (a : L), weightSpaceOf M (χ a) a = ⊤
⊢ weightSpace M χ = ⊤


case h.inr.intro
K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
ih :
  ∀ m < n,
    ∀ (M : Type u_4) [inst : AddCommGroup M] [inst_1 : LieRingModule L M] [inst_2 : Module K M]
      [inst_3 : LieModule K L M] [inst_4 : FiniteDimensional K M] [inst_5 : IsTriangularizable K L M],
      finrank K M = m → ⨆ χ, weightSpace M χ = ⊤
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
y : L
hy : ¬∃ φ, weightSpaceOf M φ y = ⊤
⊢ ⨆ χ, weightSpace M χ = ⊤


case h.inr.intro
K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
ih :
  ∀ m < n,
    ∀ (M : Type u_4) [inst : AddCommGroup M] [inst_1 : LieRingModule L M] [inst_2 : Module K M]
      [inst_3 : LieModule K L M] [inst_4 : FiniteDimensional K M] [inst_5 : IsTriangularizable K L M],
      finrank K M = m → ⨆ χ, weightSpace M χ = ⊤
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
y : L
hy : ∀ (φ : K), finrank K ↥↑(weightSpaceOf M φ y) < n
⊢ ⨆ χ, weightSpace M χ = ⊤


case h.inr.intro
K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
y : L
hy : ∀ (φ : K), finrank K ↥↑(weightSpaceOf M φ y) < n
ih : ∀ (φ : K), ⨆ χ, weightSpace (↥↑(weightSpaceOf M φ y)) χ = ⊤
⊢ ⨆ χ, weightSpace M χ = ⊤


case h.inr.intro
K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
y : L
hy : ∀ (φ : K), finrank K ↥↑(weightSpaceOf M φ y) < n
ih : ∀ (φ : K), ⨆ χ, ⨆ (_ : χ y = φ), weightSpace (↥↑(weightSpaceOf M φ y)) χ = ⊤
⊢ ⨆ χ, weightSpace M χ = ⊤


case h.inr.intro
K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
y : L
hy : ∀ (φ : K), finrank K ↥↑(weightSpaceOf M φ y) < n
ih : ∀ (φ : K), ⨆ χ, ⨆ (_ : χ y = φ), weightSpace M χ = weightSpaceOf M φ y
⊢ ⨆ χ, weightSpace M χ = ⊤


K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
ih :
  ∀ m < n,
    ∀ (M : Type u_4) [inst : AddCommGroup M] [inst_1 : LieRingModule L M] [inst_2 : Module K M]
      [inst_3 : LieModule K L M] [inst_4 : FiniteDimensional K M] [inst_5 : IsTriangularizable K L M],
      finrank K M = m → ⨆ χ, weightSpace M χ = ⊤
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
y : L
hy : ¬∃ φ, weightSpaceOf M φ y = ⊤
φ : ?m.783086
⊢ finrank K ↥↑(weightSpaceOf M φ y) < n


K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
ih :
  ∀ m < n,
    ∀ (M : Type u_4) [inst : AddCommGroup M] [inst_1 : LieRingModule L M] [inst_2 : Module K M]
      [inst_3 : LieModule K L M] [inst_4 : FiniteDimensional K M] [inst_5 : IsTriangularizable K L M],
      finrank K M = m → ⨆ χ, weightSpace M χ = ⊤
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
y : L
hy✝ : ¬∃ φ, weightSpaceOf M φ y = ⊤
φ : ?m.783086
hy : ∀ (x : K), weightSpaceOf M x y < ⊤
⊢ finrank K ↥↑(weightSpaceOf M φ y) < n


K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
y : L
hy : ∀ (φ : K), finrank K ↥↑(weightSpaceOf M φ y) < n
ih : ∀ (φ : K), ⨆ χ, weightSpace (↥↑(weightSpaceOf M φ y)) χ = ⊤
φ : K
⊢ ⨆ χ, ⨆ (_ : χ y = φ), weightSpace (↥↑(weightSpaceOf M φ y)) χ = ⊤


K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
y : L
hy : ∀ (φ : K), finrank K ↥↑(weightSpaceOf M φ y) < n
ih : ∀ (φ : K), ⨆ χ, weightSpace (↥↑(weightSpaceOf M φ y)) χ = ⊤
φ : K
χ : L → K
hχ : χ y ≠ φ
⊢ weightSpace (↥↑(weightSpaceOf M φ y)) χ = ⊥


K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
y : L
hy : ∀ (φ : K), finrank K ↥↑(weightSpaceOf M φ y) < n
ih : ∀ (φ : K), ⨆ χ, weightSpace (↥↑(weightSpaceOf M φ y)) χ = ⊤
φ : K
χ : L → K
hχ : χ y ≠ φ
⊢ Disjoint (weightSpace M χ) (weightSpaceOf M φ y)


K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
y : L
hy : ∀ (φ : K), finrank K ↥↑(weightSpaceOf M φ y) < n
φ : K
this : ∀ (χ : L → K), χ y ≠ φ → weightSpace (↥↑(weightSpaceOf M φ y)) χ = ⊥
ih : ⨆ χ, weightSpace (↥↑(weightSpaceOf M φ y)) χ = ⊤
⊢ ⨆ χ, ⨆ (_ : χ y = φ), weightSpace (↥↑(weightSpaceOf M φ y)) χ = ⊤


K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
y : L
hy : ∀ (φ : K), finrank K ↥↑(weightSpaceOf M φ y) < n
ih : ∀ (φ : K), ⨆ χ, ⨆ (_ : χ y = φ), weightSpace (↥↑(weightSpaceOf M φ y)) χ = ⊤
φ : K
⊢ ⨆ χ, ⨆ (_ : χ y = φ), weightSpace M χ = weightSpaceOf M φ y


K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
y : L
hy : ∀ (φ : K), finrank K ↥↑(weightSpaceOf M φ y) < n
ih : ∀ (φ : K), ⨆ χ, ⨆ (_ : χ y = φ), weightSpace (↥↑(weightSpaceOf M φ y)) χ = ⊤
φ : K
this :
  ∀ (χ : L → K),
    χ y = φ → weightSpace M χ = LieSubmodule.map (weightSpaceOf M φ y).incl (weightSpace (↥↑(weightSpaceOf M φ y)) χ)
⊢ ⨆ χ, ⨆ (_ : χ y = φ), weightSpace M χ = weightSpaceOf M φ y


K : Type u_1
L : Type u_3
inst✝⁹ : LieRing L
inst✝⁸ : Field K
inst✝⁷ : LieAlgebra K L
inst✝⁶ : LieAlgebra.IsNilpotent K L
n : ℕ
M : Type u_4
inst✝⁵ : AddCommGroup M
inst✝⁴ : LieRingModule L M
inst✝³ : Module K M
inst✝² : LieModule K L M
inst✝¹ : FiniteDimensional K M
inst✝ : IsTriangularizable K L M
h_dim : finrank K M = n
y : L
hy : ∀ (φ : K), finrank K ↥↑(weightSpaceOf M φ y) < n
ih : ∀ (φ : K), ⨆ χ, ⨆ (_ : χ y = φ), weightSpace (↥↑(weightSpaceOf M φ y)) χ = ⊤
φ : K
χ : L → K
hχ : χ y = φ
⊢ weightSpace M χ = LieSubmodule.map (weightSpaceOf M φ y).incl (weightSpace (↥↑(weightSpaceOf M φ y)) χ)


α : Type u_1
c : RBColor
n : Nat
v' : α
cmp : α → α → Ordering
v : α
t : RBNode α
ht : t.Balanced c n
h : v' ∈ t
⊢ v' ∈ insert cmp t v ∨ cmp v v' = Ordering.eq


α : Type u_1
c : RBColor
n : Nat
v' : α
cmp : α → α → Ordering
v : α
t : RBNode α
ht : t.Balanced c n
h : v' ∈ t
p : Path α
e : zoom (cmp v) t = (nil, p)
⊢ v' ∈ insert cmp t v ∨ cmp v v' = Ordering.eq


α : Type u_1
c : RBColor
n : Nat
v' : α
cmp : α → α → Ordering
v : α
t : RBNode α
ht : t.Balanced c n
h : v' ∈ t
p : Path α
e : zoom (cmp v) t = (nil, p)
w✝¹ w✝ : List α
h₁ : t.toList = w✝¹ ++ w✝
h₂ : (insert cmp t v).toList = w✝¹ ++ v :: w✝
⊢ v' ∈ insert cmp t v ∨ cmp v v' = Ordering.eq


α : Type u_1
c : RBColor
n : Nat
v' : α
cmp : α → α → Ordering
v : α
t : RBNode α
ht : t.Balanced c n
p : Path α
e : zoom (cmp v) t = (nil, p)
w✝¹ w✝ : List α
h₁ : t.toList = w✝¹ ++ w✝
h₂ : (insert cmp t v).toList = w✝¹ ++ v :: w✝
h : v' ∈ w✝¹ ∨ v' ∈ w✝
⊢ v' ∈ insert cmp t v ∨ cmp v v' = Ordering.eq


α : Type u_1
c : RBColor
n : Nat
v' : α
cmp : α → α → Ordering
v : α
t : RBNode α
ht : t.Balanced c n
h : v' ∈ t
c✝ : RBColor
l✝ : RBNode α
v✝ : α
r✝ : RBNode α
p : Path α
e : zoom (cmp v) t = (node c✝ l✝ v✝ r✝, p)
⊢ v' ∈ insert cmp t v ∨ cmp v v' = Ordering.eq


α : Type u_1
c : RBColor
n : Nat
v' : α
cmp : α → α → Ordering
v : α
t : RBNode α
ht : t.Balanced c n
h : v' ∈ t
c✝ : RBColor
l✝ : RBNode α
v✝ : α
r✝ : RBNode α
p : Path α
e : zoom (cmp v) t = (node c✝ l✝ v✝ r✝, p)
w✝¹ w✝ : List α
h₁ : t.toList = w✝¹ ++ v✝ :: w✝
h₂ : (insert cmp t v).toList = w✝¹ ++ v :: w✝
⊢ v' ∈ insert cmp t v ∨ cmp v v' = Ordering.eq


α : Type u_1
c : RBColor
n : Nat
v' : α
cmp : α → α → Ordering
v : α
t : RBNode α
ht : t.Balanced c n
c✝ : RBColor
l✝ : RBNode α
v✝ : α
r✝ : RBNode α
p : Path α
e : zoom (cmp v) t = (node c✝ l✝ v✝ r✝, p)
w✝¹ w✝ : List α
h₁ : t.toList = w✝¹ ++ v✝ :: w✝
h₂ : (insert cmp t v).toList = w✝¹ ++ v :: w✝
h : v' ∈ w✝¹ ∨ v' = v✝ ∨ v' ∈ w✝
⊢ v' ∈ insert cmp t v ∨ cmp v v' = Ordering.eq


case inr.inl
α : Type u_1
c : RBColor
n : Nat
v' : α
cmp : α → α → Ordering
v : α
t : RBNode α
ht : t.Balanced c n
c✝ : RBColor
l✝ : RBNode α
v✝ : α
r✝ : RBNode α
p : Path α
e : zoom (cmp v) t = (node c✝ l✝ v✝ r✝, p)
w✝¹ w✝ : List α
h₁ : t.toList = w✝¹ ++ v✝ :: w✝
h₂ : (insert cmp t v).toList = w✝¹ ++ v :: w✝
h : v' = v✝
⊢ (v✝ ∈ w✝¹ ∨ v✝ = v ∨ v✝ ∈ w✝) ∨ cmp v v✝ = Ordering.eq


α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
σ : Type u_5
inst✝⁴ : Primcodable α
inst✝³ : Primcodable β
inst✝² : Primcodable γ
inst✝¹ : Primcodable δ
inst✝ : Primcodable σ
⊢ Primrec₂ fun x x_1 => x / x_1


α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
σ : Type u_5
inst✝⁴ : Primcodable α
inst✝³ : Primcodable β
inst✝² : Primcodable γ
inst✝¹ : Primcodable δ
inst✝ : Primcodable σ
⊢ PrimrecRel fun a b => (fun x x_1 => x / x_1) a.1 a.2 = b


case mk
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
σ : Type u_5
inst✝⁴ : Primcodable α
inst✝³ : Primcodable β
inst✝² : Primcodable γ
inst✝¹ : Primcodable δ
inst✝ : Primcodable σ
this : PrimrecRel fun a b => a.2 = 0 ∧ b = 0 ∨ 0 < a.2 ∧ b * a.2 ≤ a.1 ∧ a.1 < (b + 1) * a.2
a k q : ℕ
⊢ (a, k).2 = 0 ∧ q = 0 ∨ 0 < (a, k).2 ∧ q * (a, k).2 ≤ (a, k).1 ∧ (a, k).1 < (q + 1) * (a, k).2 ↔
    (fun x x_1 => x / x_1) (a, k).1 (a, k).2 = q


α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
σ : Type u_5
inst✝⁴ : Primcodable α
inst✝³ : Primcodable β
inst✝² : Primcodable γ
inst✝¹ : Primcodable δ
inst✝ : Primcodable σ
this : PrimrecRel fun a b => a.2 = 0 ∧ b = 0 ∨ 0 < a.2 ∧ b * a.2 ≤ a.1 ∧ a.1 < (b + 1) * a.2
a k q : ℕ
H : k = 0
⊢ (a, k).2 = 0 ∧ q = 0 ∨ 0 < (a, k).2 ∧ q * (a, k).2 ≤ (a, k).1 ∧ (a, k).1 < (q + 1) * (a, k).2 ↔
    (fun x x_1 => x / x_1) (a, k).1 (a, k).2 = q


α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
σ : Type u_5
inst✝⁴ : Primcodable α
inst✝³ : Primcodable β
inst✝² : Primcodable γ
inst✝¹ : Primcodable δ
inst✝ : Primcodable σ
this : PrimrecRel fun a b => a.2 = 0 ∧ b = 0 ∨ 0 < a.2 ∧ b * a.2 ≤ a.1 ∧ a.1 < (b + 1) * a.2
a k q : ℕ
H : ¬k = 0
⊢ (a, k).2 = 0 ∧ q = 0 ∨ 0 < (a, k).2 ∧ q * (a, k).2 ≤ (a, k).1 ∧ (a, k).1 < (q + 1) * (a, k).2 ↔
    (fun x x_1 => x / x_1) (a, k).1 (a, k).2 = q


α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
σ : Type u_5
inst✝⁴ : Primcodable α
inst✝³ : Primcodable β
inst✝² : Primcodable γ
inst✝¹ : Primcodable δ
inst✝ : Primcodable σ
this✝ : PrimrecRel fun a b => a.2 = 0 ∧ b = 0 ∨ 0 < a.2 ∧ b * a.2 ≤ a.1 ∧ a.1 < (b + 1) * a.2
a k q : ℕ
H : ¬k = 0
this : q * k ≤ a ∧ a < (q + 1) * k ↔ q = a / k
⊢ (a, k).2 = 0 ∧ q = 0 ∨ 0 < (a, k).2 ∧ q * (a, k).2 ≤ (a, k).1 ∧ (a, k).1 < (q + 1) * (a, k).2 ↔
    (fun x x_1 => x / x_1) (a, k).1 (a, k).2 = q


α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
σ : Type u_5
inst✝⁴ : Primcodable α
inst✝³ : Primcodable β
inst✝² : Primcodable γ
inst✝¹ : Primcodable δ
inst✝ : Primcodable σ
this : PrimrecRel fun a b => a.2 = 0 ∧ b = 0 ∨ 0 < a.2 ∧ b * a.2 ≤ a.1 ∧ a.1 < (b + 1) * a.2
a k q : ℕ
H : ¬k = 0
⊢ q * k ≤ a ∧ a < (q + 1) * k ↔ q = a / k


K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
⊢ CompleteLattice.Independent fun χ => weightSpace M χ


K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ : L → R
s : Finset (L → R)
⊢ χ₁ ∉ s → Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)


case insert
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
ih : χ₁ ∉ s → Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
hχ₁₂ : χ₁ ∉ insert χ₂ s
⊢ Disjoint (weightSpace M χ₁) ((insert χ₂ s).sup fun χ => weightSpace M χ)


case insert.intro
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
⊢ Disjoint (weightSpace M χ₁) ((insert χ₂ s).sup fun χ => weightSpace M χ)


case insert.intro.intro
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
x : M
hx : x ∈ ↑↑(weightSpace M χ₁)
hx' : x ∈ ↑↑(weightSpace M χ₂ ⊔ s.sup fun χ => weightSpace M χ)
⊢ x = 0


case insert.intro.intro
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
x : M
hx : x ∈ weightSpace M χ₁
hx' : x ∈ weightSpace M χ₂ ⊔ s.sup fun χ => weightSpace M χ
⊢ x = 0


case insert.intro.intro
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
x : M
hx : x ∈ weightSpace M χ₁
hx' : x ∈ weightSpace M χ₂ ⊔ s.sup fun χ => weightSpace M χ
⊢ x ∈ weightSpace M χ₂


case insert.intro.intro.intro.intro.intro.intro
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
y : M
hy : y ∈ weightSpace M χ₂
z : M
hz : z ∈ s.sup fun χ => weightSpace M χ
hx : y + z ∈ weightSpace M χ₁
⊢ y + z ∈ weightSpace M χ₂


case insert.intro.intro.intro.intro.intro.intro
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
y : M
hy : y ∈ weightSpace M χ₂
z : M
hz : z ∈ s.sup fun χ => weightSpace M χ
hx : y + z ∈ weightSpace M χ₁
l : L
⊢ ∃ k,
    (((toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)) ^ k) (y + z) ∈
      weightSpace M χ₁ ⊓ s.sup fun χ => weightSpace M χ


case insert.intro.intro.intro.intro.intro.intro
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
y : M
hy : y ∈ weightSpace M χ₂
z : M
hz : z ∈ s.sup fun χ => weightSpace M χ
hx : y + z ∈ weightSpace M χ₁
l : L
g : Module.End R M := (toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)
⊢ ∃ k,
    (((toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)) ^ k) (y + z) ∈
      weightSpace M χ₁ ⊓ s.sup fun χ => weightSpace M χ


case insert.intro.intro.intro.intro.intro.intro.intro
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
y : M
hy : y ∈ weightSpace M χ₂
z : M
hz : z ∈ s.sup fun χ => weightSpace M χ
hx : y + z ∈ weightSpace M χ₁
l : L
g : Module.End R M := (toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)
k : ℕ
hk : (g ^ k) y = 0
⊢ ∃ k,
    (((toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)) ^ k) (y + z) ∈
      weightSpace M χ₁ ⊓ s.sup fun χ => weightSpace M χ


K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
this : ∀ (χ : L → R) (s : Finset (L → R)), χ ∉ s → Disjoint (weightSpace M χ) (s.sup fun χ => weightSpace M χ)
⊢ CompleteLattice.Independent fun χ => weightSpace M χ


K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
ih : χ₁ ∉ s → Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
hχ₁₂ : χ₁ ∉ insert χ₂ s
⊢ ?m.683583


K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
x : M
hx : x ∈ weightSpace M χ₁
hx' : x ∈ weightSpace M χ₂ ⊔ s.sup fun χ => weightSpace M χ
this : x ∈ weightSpace M χ₂
⊢ x = 0


K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
y : M
hy : y ∈ weightSpace M χ₂
z : M
hz : z ∈ s.sup fun χ => weightSpace M χ
hx : y + z ∈ weightSpace M χ₁
this :
  ∀ (l : L),
    ∃ k,
      (((toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)) ^ k) (y + z) ∈
        weightSpace M χ₁ ⊓ s.sup fun χ => weightSpace M χ
⊢ y + z ∈ weightSpace M χ₂


case insert.intro.intro.intro.intro.intro.intro.intro.refine_1
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
y : M
hy : y ∈ weightSpace M χ₂
z : M
hz : z ∈ s.sup fun χ => weightSpace M χ
hx : y + z ∈ weightSpace M χ₁
l : L
g : Module.End R M := (toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)
k : ℕ
hk : (g ^ k) y = 0
⊢ (((toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)) ^ k) (y + z) ∈ ↑↑(weightSpace M χ₁)


case insert.intro.intro.intro.intro.intro.intro.intro.refine_2
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
y : M
hy : y ∈ weightSpace M χ₂
z : M
hz : z ∈ s.sup fun χ => weightSpace M χ
hx : y + z ∈ weightSpace M χ₁
l : L
g : Module.End R M := (toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)
k : ℕ
hk : (g ^ k) y = 0
⊢ (((toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)) ^ k) z ∈ ↑↑(s.sup fun χ => weightSpace M χ)


case insert.intro.intro.intro.intro.intro.intro.intro.refine_2
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
y : M
hy : y ∈ weightSpace M χ₂
z : M
hz : z ∈ s.sup fun χ => weightSpace M χ
hx : y + z ∈ weightSpace M χ₁
l : L
g : Module.End R M := (toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)
k : ℕ
hk : (g ^ k) y = 0
⊢ Submodule.map (g ^ k) (s.sup fun χ => ↑(weightSpace M χ)) ≤ ↑(s.sup fun χ => weightSpace M χ)


case insert.intro.intro.intro.intro.intro.intro.intro.refine_2
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
y : M
hy : y ∈ weightSpace M χ₂
z : M
hz : z ∈ s.sup fun χ => weightSpace M χ
hx : y + z ∈ weightSpace M χ₁
l : L
g : Module.End R M := (toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)
k : ℕ
hk : (g ^ k) y = 0
⊢ ⨆ i ∈ s, Submodule.map (g ^ k) ↑(weightSpace M i) ≤ ⨆ i ∈ s, ↑(weightSpace M i)


case insert.intro.intro.intro.intro.intro.intro.intro.refine_2.intro.intro
K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
y : M
hy : y ∈ weightSpace M χ₂
z : M
hz : z ∈ s.sup fun χ => weightSpace M χ
hx : y + z ∈ weightSpace M χ₁
l : L
g : Module.End R M := (toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)
k : ℕ
hk : (g ^ k) y = 0
χ : L → R
x✝ : χ ∈ s
u : M
hu : u ∈ ↑↑(weightSpace M χ)
⊢ (g ^ k) u ∈ ↑(weightSpace M χ)


K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
y : M
hy : y ∈ weightSpace M χ₂
z : M
hz : z ∈ s.sup fun χ => weightSpace M χ
hx : y + z ∈ weightSpace M χ₁
l : L
g : Module.End R M := (toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)
k : ℕ
hk : (g ^ k) y = 0
this : Submodule.map (g ^ k) (s.sup fun χ => ↑(weightSpace M χ)) ≤ ↑(s.sup fun χ => weightSpace M χ)
⊢ (((toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)) ^ k) z ∈ ↑↑(s.sup fun χ => weightSpace M χ)


K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : NoZeroSMulDivisors R M
χ₁ χ₂ : L → R
s : Finset (L → R)
a✝ : χ₂ ∉ s
hχ₁₂✝ : χ₁ ∉ insert χ₂ s
hχ₁₂ : χ₁ ≠ χ₂
hχ₁ : χ₁ ∉ s
ih : Disjoint (weightSpace M χ₁) (s.sup fun χ => weightSpace M χ)
y : M
hy : y ∈ weightSpace M χ₂
z : M
hz : z ∈ s.sup fun χ => weightSpace M χ
hx : y + z ∈ weightSpace M χ₁
l : L
g : Module.End R M := (toEnd R L M) l - (algebraMap R (Module.End R M)) (χ₂ l)
k : ℕ
hk : (g ^ k) y = 0
this : Submodule.map (g ^ k) (s.sup fun χ => ↑(weightSpace M χ)) ≤ ↑(s.sup fun χ => weightSpace M χ)
⊢ z ∈ s.sup fun χ => ↑(weightSpace M χ)


α : Type u_1
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : GCDMonoid α
x y : α
hx : Irreducible x
⊢ IsUnit (gcd x y) ↔ ¬x ∣ y


R : Type u_1
S : Type u_2
F : Type u_3
K : Type u_4
P✝ Q : Cubic R
a b c d a' b' c' d' : R
inst✝ : Semiring R
P : Cubic R
⊢ P.toPoly = 0 ↔ P = 0


α : Type u_1
inst✝ : OrderedRing α
a : α
⊢ Pairwise (Disjoint on fun n => Ico (↑n) (↑n + 1))


R : Type u
inst✝³ : NonUnitalSemiring R
inst✝² : PartialOrder R
inst✝¹ : StarRing R
inst✝ : StarOrderedRing R
x y : R
⊢ star x ≤ star y ↔ x ≤ y


case intro.intro
R : Type u
inst✝³ : NonUnitalSemiring R
inst✝² : PartialOrder R
inst✝¹ : StarRing R
inst✝ : StarOrderedRing R
x✝ y x d : R
hd : d ∈ AddSubmonoid.closure (range fun s => star s * s)
⊢ ∃ p ∈ AddSubmonoid.closure (range fun s => star s * s), star (x + d) = star x + p


R : Type u
inst✝³ : NonUnitalSemiring R
inst✝² : PartialOrder R
inst✝¹ : StarRing R
inst✝ : StarOrderedRing R
x y : R
this : ∀ (x y : R), x ≤ y → star x ≤ star y
⊢ star x ≤ star y → x ≤ y


C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Abelian C
S : SnakeInput C
⊢ S.δ ≫ S.L₃.f = 0


α : Type u_1
inst✝ : OrderedRing α
a : α
⊢ Pairwise (Disjoint on fun n => Ioc (a + ↑n) (a + ↑n + 1))


f : ℕ → ℕ →. ℕ
h : _root_.Partrec fun v => f v.head v.tail.head
v : ℕ × ℕ
⊢ f (v.1 ::ᵥ v.2 ::ᵥ nil).head (v.1 ::ᵥ v.2 ::ᵥ nil).tail.head = f v.1 v.2


R : Type u_1
S : Type u_2
M : Type u_3
inst✝⁶ : Semiring R
inst✝⁵ : Semiring S
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
inst✝² : Module S M
inst✝¹ : SMul S R
inst✝ : IsScalarTower S R M
p q : Submodule R M
⊢ Nontrivial ↥p ↔ p ≠ ⊥


α : Type u_1
f : α → α
n : Nat
l : List α
h : n < l.length
⊢ modifyNth f n l = l.set n (f (l.get ⟨n, h⟩))


C : Type u
inst✝⁵ : Category.{v, u} C
inst✝⁴ : ConcreteCategory C
inst✝³ : HasForget₂ C Ab
inst✝² : Abelian C
inst✝¹ : (forget₂ C Ab).Additive
inst✝ : (forget₂ C Ab).PreservesHomology
ι : Type u_1
c : ComplexShape ι
K : HomologicalComplex C c
i : ι
x : ↑((forget₂ C Ab).obj (K.X i))
hx : ((forget₂ C Ab).map (K.d i (c.next i))) x = 0
⊢ ((forget₂ C Ab).map (K.iCycles i)) (K.cyclesMk x (c.next i) ⋯ hx) = x


α : Type u_1
R : Type u_2
inst✝ : LinearOrderedRing R
a b : R
n : ℕ
⊢ a ^ n = -1 ↔ a = -1 ∧ Odd n


α : Type u_1
n : Nat
f : α → Fin n → α
x : α
⊢ foldl n f x = List.foldl f x (list n)


case zero
α : Type u_1
f : α → Fin 0 → α
x : α
⊢ foldl 0 f x = List.foldl f x (list 0)


case succ
α : Type u_1
n : Nat
ih : ∀ (f : α → Fin n → α) (x : α), foldl n f x = List.foldl f x (list n)
f : α → Fin (n + 1) → α
x : α
⊢ foldl (n + 1) f x = List.foldl f x (list (n + 1))


C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : HasZeroMorphisms C
S S₁ S₂ S₃ : ShortComplex C
φ₁ : S₁ ⟶ S₂
φ₂ : S₂ ⟶ S₃
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
h₃ : S₃.LeftHomologyData
⊢ cyclesMap' (φ₁ ≫ φ₂) h₁ h₃ = cyclesMap' φ₁ h₁ h₂ ≫ cyclesMap' φ₂ h₂ h₃


C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : HasZeroMorphisms C
S S₁ S₂ S₃ : ShortComplex C
φ₁ : S₁ ⟶ S₂
φ₂ : S₂ ⟶ S₃
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
h₃ : S₃.LeftHomologyData
γ₁ : LeftHomologyMapData φ₁ h₁ h₂ := leftHomologyMapData φ₁ h₁ h₂
⊢ cyclesMap' (φ₁ ≫ φ₂) h₁ h₃ = cyclesMap' φ₁ h₁ h₂ ≫ cyclesMap' φ₂ h₂ h₃


C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : HasZeroMorphisms C
S S₁ S₂ S₃ : ShortComplex C
φ₁ : S₁ ⟶ S₂
φ₂ : S₂ ⟶ S₃
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
h₃ : S₃.LeftHomologyData
γ₁ : LeftHomologyMapData φ₁ h₁ h₂ := leftHomologyMapData φ₁ h₁ h₂
γ₂ : LeftHomologyMapData φ₂ h₂ h₃ := leftHomologyMapData φ₂ h₂ h₃
⊢ cyclesMap' (φ₁ ≫ φ₂) h₁ h₃ = cyclesMap' φ₁ h₁ h₂ ≫ cyclesMap' φ₂ h₂ h₃


K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : IsNilpotent R L M
x : L
⊢ posFittingCompOf R M x = ⊥


K : Type u_1
inst✝¹ : DecidableEq K
Γ : K → Type u_2
Λ : Type u_3
σ : Type u_4
inst✝ : Inhabited Λ
M : Λ → Stmt₂
S : Finset Λ
q : Stmt₂
ss : Supports M S
⊢ some q ∈ stmts M S → SupportsStmt S q


K : Type u_1
inst✝¹ : DecidableEq K
Γ : K → Type u_2
Λ : Type u_3
σ : Type u_4
inst✝ : Inhabited Λ
M : Λ → Stmt₂
S : Finset Λ
q : Stmt₂
ss : Supports M S
⊢ ∀ x ∈ S, q ∈ stmts₁ (M x) → SupportsStmt S q


R : Type u
S : Type v
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommRing R
p q : MvPolynomial σ R
inst✝ : DecidableEq σ
hpq : Disjoint p.vars q.vars
⊢ (p - q).vars = p.vars ∪ q.vars


R : Type u
S : Type v
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommRing R
p q : MvPolynomial σ R
inst✝ : DecidableEq σ
hpq : Disjoint p.vars (-q).vars
⊢ (p - q).vars = p.vars ∪ q.vars


case mp
ι✝ : Type u_1
ι : Type u_2
C : Type u
inst✝⁴ : Category.{v, u} C
inst✝³ : HasZeroMorphisms C
c : ComplexShape ι
K L M K' L' : HomologicalComplex C c
φ : K ⟶ L
φ' : L ⟶ M
i : ι
inst✝² : K.HasHomology i
inst✝¹ : L.HasHomology i
inst✝ : M.HasHomology i
hφ : QuasiIsoAt φ i
a✝ : QuasiIsoAt (φ ≫ φ') i
⊢ QuasiIsoAt φ' i


α : Type u_1
x : α
xs : List α
y : α
inst✝ : BEq α
⊢ indexesOf y (x :: xs) =
    bif x == y then 0 :: map (fun x => x + 1) (indexesOf y xs) else map (fun x => x + 1) (indexesOf y xs)


α : Type u_1
inst✝² : LinearOrderedField α
β : Type u_2
inst✝¹ : DivisionRing β
abv : β → α
inst✝ : IsAbsoluteValue abv
x y : β
⊢ ofRat (x / y) = ofRat x / ofRat y


α : Type u_1
inst✝ : CommMonoid α
x y z : α
hu : IsUnit x
⊢ IsRelPrime (y * x) (z * x) ↔ IsRelPrime y z


ι✝ : Type u_1
κ✝ : Type u_2
α✝ : Type u_3
β : Type u_4
γ : Type u_5
s✝¹ s₁ s₂ : Finset α✝
a : α✝
f✝¹ g✝¹ : α✝ → β
inst✝² : CommMonoid β
ι : Type u_6
κ : Type u_7
α : Type u_8
inst✝¹ : CommMonoid α
s✝ : Finset ι
t✝ : Finset κ
f✝ : ι → α
g✝ : κ → α
inst✝ : DecidableEq κ
s : Finset ι
t : Finset κ
g : ι → κ
f : κ → α
⊢ ∏ j ∈ t, ∏ _i ∈ filter (fun i => g i = j) s, f j = ∏ i ∈ filter (fun i => g i ∈ t) s, f (g i)


ι✝ : Type u_1
κ✝ : Type u_2
α✝ : Type u_3
β : Type u_4
γ : Type u_5
s✝¹ s₁ s₂ : Finset α✝
a : α✝
f✝¹ g✝¹ : α✝ → β
inst✝² : CommMonoid β
ι : Type u_6
κ : Type u_7
α : Type u_8
inst✝¹ : CommMonoid α
s✝ : Finset ι
t✝ : Finset κ
f✝ : ι → α
g✝ : κ → α
inst✝ : DecidableEq κ
s : Finset ι
t : Finset κ
g : ι → κ
f : κ → α
j : κ
x✝ : j ∈ t
i : ι
hi : i ∈ filter (fun i => g i = j) s
⊢ f j = f (g i)


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
inst✝ : Nontrivial L
⊢ 1 = chainTopCoeff (⇑α) 0


case hba
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
inst✝ : Nontrivial L
⊢ ¬1 < chainTopCoeff (⇑α) 0


case hba.intro.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
inst✝ : Nontrivial L
x : L
hx : x ∈ weightSpace L ⇑(chainTop (⇑α) 0)
x_ne0 : x ≠ 0
⊢ ¬1 < chainTopCoeff (⇑α) 0


case hba.intro.intro.intro.intro.intro.intro.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
inst✝ : Nontrivial L
x : L
hx : x ∈ weightSpace L ⇑(chainTop (⇑α) 0)
x_ne0 : x ≠ 0
e f : L
he : e ∈ rootSpace H ⇑α
hf : f ∈ rootSpace H (-⇑α)
isSl2 : IsSl2Triple (↑(coroot α)) e f
⊢ ¬1 < chainTopCoeff (⇑α) 0


case hba.intro.intro.intro.intro.intro.intro.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
inst✝ : Nontrivial L
x : L
hx : x ∈ weightSpace L ⇑(chainTop (⇑α) 0)
x_ne0 : x ≠ 0
e f : L
he : e ∈ rootSpace H ⇑α
hf : f ∈ rootSpace H (-⇑α)
isSl2 : IsSl2Triple (↑(coroot α)) e f
prim : isSl2.HasPrimitiveVectorWith x ↑(chainLength α 0)
⊢ ¬1 < chainTopCoeff (⇑α) 0


case hba.intro.intro.intro.intro.intro.intro.intro.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
inst✝ : Nontrivial L
x : L
hx : x ∈ weightSpace L ⇑(chainTop (⇑α) 0)
x_ne0 : x ≠ 0
e f : L
he : e ∈ rootSpace H ⇑α
hf : f ∈ rootSpace H (-⇑α)
isSl2 : IsSl2Triple (↑(coroot α)) e f
prim : isSl2.HasPrimitiveVectorWith x ↑(chainLength α 0)
k : K
hk : ⁅f, k • f⁆ = ⁅f, ((toEnd K L L) f ^ (chainTopCoeff (⇑α) 0 + 1)) x⁆
⊢ ¬1 < chainTopCoeff (⇑α) 0


case hba.intro.intro.intro.intro.intro.intro.intro.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
inst✝ : Nontrivial L
x : L
hx : x ∈ weightSpace L ⇑(chainTop (⇑α) 0)
x_ne0 : x ≠ 0
e✝ f : L
he : e✝ ∈ rootSpace H ⇑α
hf : f ∈ rootSpace H (-⇑α)
isSl2 : IsSl2Triple (↑(coroot α)) e✝ f
prim : isSl2.HasPrimitiveVectorWith x ↑(chainLength α 0)
k : K
hk : 0 = ((toEnd K L L) f ^ (chainTopCoeff (⇑α) 0 + 1 + 1)) x
e : 1 < chainTopCoeff (⇑α) 0
⊢ False


case hba.intro.intro.intro.intro.intro.intro.intro.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
inst✝ : Nontrivial L
x : L
hx : x ∈ weightSpace L ⇑(chainTop (⇑α) 0)
x_ne0 : x ≠ 0
e✝ f : L
he : e✝ ∈ rootSpace H ⇑α
hf : f ∈ rootSpace H (-⇑α)
isSl2 : IsSl2Triple (↑(coroot α)) e✝ f
prim : isSl2.HasPrimitiveVectorWith x ↑(chainLength α 0)
k : K
hk : 0 = ((toEnd K L L) f ^ (chainTopCoeff (⇑α) 0 + 1 + 1)) x
e : 1 < chainTopCoeff (⇑α) 0
⊢ chainTopCoeff (⇑α) 0 + 1 + 1 ≤ chainLength α 0


case hba.intro.intro.intro.intro.intro.intro.intro.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
inst✝ : Nontrivial L
x : L
hx : x ∈ weightSpace L ⇑(chainTop (⇑α) 0)
x_ne0 : x ≠ 0
e✝ f : L
he : e✝ ∈ rootSpace H ⇑α
hf : f ∈ rootSpace H (-⇑α)
isSl2 : IsSl2Triple (↑(coroot α)) e✝ f
prim : isSl2.HasPrimitiveVectorWith x ↑(chainLength α 0)
k : K
hk : 0 = ((toEnd K L L) f ^ (chainTopCoeff (⇑α) 0 + 1 + 1)) x
e : 1 < chainTopCoeff (⇑α) 0
this : ↑(↑(chainLength α 0) - 2 * ↑(chainTopCoeff (⇑α) 0)) = 0 (coroot α)
⊢ chainTopCoeff (⇑α) 0 + 1 + 1 ≤ chainLength α 0


case hba.intro.intro.intro.intro.intro.intro.intro.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
inst✝ : Nontrivial L
x : L
hx : x ∈ weightSpace L ⇑(chainTop (⇑α) 0)
x_ne0 : x ≠ 0
e✝ f : L
he : e✝ ∈ rootSpace H ⇑α
hf : f ∈ rootSpace H (-⇑α)
isSl2 : IsSl2Triple (↑(coroot α)) e✝ f
prim : isSl2.HasPrimitiveVectorWith x ↑(chainLength α 0)
k : K
hk : 0 = ((toEnd K L L) f ^ (chainTopCoeff (⇑α) 0 + 1 + 1)) x
e : 1 < chainTopCoeff (⇑α) 0
this : chainLength α 0 = 2 * chainTopCoeff (⇑α) 0
⊢ chainTopCoeff (⇑α) 0 + 1 + 1 ≤ chainLength α 0


case hab
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
inst✝ : Nontrivial L
⊢ 1 ≤ chainTopCoeff (⇑α) 0


case hab
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
inst✝ : Nontrivial L
e : chainTopCoeff (⇑α) 0 = 0
⊢ False


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
inst✝ : Nontrivial L
e : chainTopCoeff (⇑α) 0 = 0
⊢ weightSpace L α.toFun = ⊥


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
inst✝ : Nontrivial L
x : L
hx : x ∈ weightSpace L ⇑(chainTop (⇑α) 0)
x_ne0 : x ≠ 0
e f : L
he : e ∈ rootSpace H ⇑α
hf : f ∈ rootSpace H (-⇑α)
isSl2 : IsSl2Triple (↑(coroot α)) e f
this : ⁅e, x⁆ ∈ weightSpace L (⇑α + ⇑(chainTop (⇑α) 0))
⊢ ⁅e, x⁆ = 0


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
inst✝ : Nontrivial L
x : L
hx : x ∈ weightSpace L ⇑(chainTop (⇑α) 0)
x_ne0 : x ≠ 0
e f : L
he : e ∈ rootSpace H ⇑α
hf : f ∈ rootSpace H (-⇑α)
isSl2 : IsSl2Triple (↑(coroot α)) e f
prim : isSl2.HasPrimitiveVectorWith x ↑(chainLength α 0)
⊢ ∃ k, k • f = ((toEnd K L L) f ^ (chainTopCoeff (⇑α) 0 + 1)) x


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
inst✝ : Nontrivial L
x : L
hx : x ∈ weightSpace L ⇑(chainTop (⇑α) 0)
x_ne0 : x ≠ 0
e f : L
he : e ∈ rootSpace H ⇑α
hf : f ∈ rootSpace H (-⇑α)
isSl2 : IsSl2Triple (↑(coroot α)) e f
prim : isSl2.HasPrimitiveVectorWith x ↑(chainLength α 0)
this : ((toEnd K L L) f ^ (chainTopCoeff (⇑α) 0 + 1)) x ∈ rootSpace H (-⇑α)
⊢ ∃ k, k • f = ((toEnd K L L) f ^ (chainTopCoeff (⇑α) 0 + 1)) x


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
inst✝ : Nontrivial L
x : L
hx : x ∈ weightSpace L ⇑(chainTop (⇑α) 0)
x_ne0 : x ≠ 0
e f : L
he : e ∈ rootSpace H ⇑α
hf : f ∈ rootSpace H (-⇑α)
isSl2 : IsSl2Triple (↑(coroot α)) e f
prim : isSl2.HasPrimitiveVectorWith x ↑(chainLength α 0)
⊢ ((toEnd K L L) f ^ (chainTopCoeff (⇑α) 0 + 1)) x ∈ rootSpace H (-⇑α)


case h.e'_5.h.e'_1
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
inst✝ : Nontrivial L
x : L
hx : x ∈ weightSpace L ⇑(chainTop (⇑α) 0)
x_ne0 : x ≠ 0
e f : L
he : e ∈ rootSpace H ⇑α
hf : f ∈ rootSpace H (-⇑α)
isSl2 : IsSl2Triple (↑(coroot α)) e f
prim : isSl2.HasPrimitiveVectorWith x ↑(chainLength α 0)
⊢ -⇑α = (chainTopCoeff (⇑α) 0 + 1) • -⇑α + ⇑(chainTop (⇑α) 0)


cf cg : Code
a : ℕ
⊢ (cf.prec cg).eval (Nat.pair a 0) = cf.eval a


cf cg : Code
a : ℕ
⊢ Nat.rec (cf.eval (a, 0).1)
      (fun y IH => do
        let i ← IH
        cg.eval (Nat.pair (a, 0).1 (Nat.pair y i)))
      (a, 0).2 =
    cf.eval a


cf cg : Code
a : ℕ
⊢ Nat.rec (cf.eval a)
      (fun y IH => do
        let i ← IH
        cg.eval (Nat.pair a (Nat.pair y i)))
      0 =
    cf.eval a


case neg
G : Type u_1
inst✝ : Mul G
A B : Finset G
h : 1 < A.card * B.card → ∃ p1 ∈ A ×ˢ B, ∃ p2 ∈ A ×ˢ B, p1 ≠ p2 ∧ UniqueMul A B p1.1 p1.2 ∧ UniqueMul A B p2.1 p2.2
hA : A.Nonempty
hB : B.Nonempty
hc : ¬(A.card ≤ 1 ∧ B.card ≤ 1)
⊢ ∃ a ∈ A, ∃ b ∈ B, UniqueMul A B a b


case neg
G : Type u_1
inst✝ : Mul G
A B : Finset G
h : 1 < A.card * B.card → ∃ p1 ∈ A ×ˢ B, ∃ p2 ∈ A ×ˢ B, p1 ≠ p2 ∧ UniqueMul A B p1.1 p1.2 ∧ UniqueMul A B p2.1 p2.2
hA : A.Nonempty
hB : B.Nonempty
hc : 1 < A.card ∨ 1 < B.card
⊢ ∃ a ∈ A, ∃ b ∈ B, UniqueMul A B a b


case neg.intro.intro.intro.intro.intro.intro
G : Type u_1
inst✝ : Mul G
A B : Finset G
h : 1 < A.card * B.card → ∃ p1 ∈ A ×ˢ B, ∃ p2 ∈ A ×ˢ B, p1 ≠ p2 ∧ UniqueMul A B p1.1 p1.2 ∧ UniqueMul A B p2.1 p2.2
hA : 0 < A.card
hB : 0 < B.card
hc : 1 < A.card ∨ 1 < B.card
p : G × G
hp : p ∈ A ×ˢ B
w✝ : G × G
left✝¹ : w✝ ∈ A ×ˢ B
left✝ : p ≠ w✝
hu : UniqueMul A B p.1 p.2
right✝ : UniqueMul A B w✝.1 w✝.2
⊢ ∃ a ∈ A, ∃ b ∈ B, UniqueMul A B a b


case pos
G : Type u_1
inst✝ : Mul G
A B : Finset G
h : 1 < A.card * B.card → ∃ p1 ∈ A ×ˢ B, ∃ p2 ∈ A ×ˢ B, p1 ≠ p2 ∧ UniqueMul A B p1.1 p1.2 ∧ UniqueMul A B p2.1 p2.2
hA : A.Nonempty
hB : B.Nonempty
hc : A.card ≤ 1 ∧ B.card ≤ 1
⊢ ∃ a ∈ A, ∃ b ∈ B, UniqueMul A B a b


case h
ι : Type u_1
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f✝ g : C ⟶ D
h k : D ⟶ E
i : ι
f : C ⟶ D
hom : (i j : ι) → c.Rel j i → (D.X i ⟶ E.X j)
n : ι
⊢ (f ≫ nullHomotopicMap' hom).f n = (nullHomotopicMap' fun i j hij => f.f i ≫ hom i j hij).f n


case neg
ι : Type u_1
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f✝ g : C ⟶ D
h k : D ⟶ E
i✝ : ι
f : C ⟶ D
hom : (i j : ι) → c.Rel j i → (D.X i ⟶ E.X j)
n i j : ι
h✝ : ¬c.Rel j i
⊢ f.f i ≫ 0 = 0


F : Type u_1
R : Type u
A : Type v
B : Type w
inst✝¹⁰ : CommSemiring R
inst✝⁹ : NonUnitalNonAssocSemiring A
inst✝⁸ : Module R A
inst✝⁷ : IsScalarTower R A A
inst✝⁶ : SMulCommClass R A A
inst✝⁵ : NonUnitalNonAssocSemiring B
inst✝⁴ : Module R B
inst✝³ : IsScalarTower R B B
inst✝² : SMulCommClass R B B
inst✝¹ : FunLike F A B
inst✝ : NonUnitalAlgHomClass F R A B
f : A →ₙₐ[R] B
⊢ ↑(NonUnitalSubalgebra.map f ⊥) = ↑⊥


α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ deriv ε =ᶠ[atTop] fun x => -x⁻¹ / log x ^ 2


case h
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
x : ℝ
hx : 1 < x
⊢ deriv ε x = -x⁻¹ / log x ^ 2


α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ (fun x => -x⁻¹ / log x ^ 2) = fun x => (-x * log x ^ 2)⁻¹


α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ (fun x => (-x * log x ^ 2)⁻¹) =o[atTop] fun x => (x * 1)⁻¹


case refine_1
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ (fun x => x * 1) =o[atTop] fun x => -x * log x ^ 2


case refine_1
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ (fun x => 1) =o[atTop] fun x => log x ^ 2


case refine_1
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ Tendsto (fun x => ‖log x ^ 2‖) atTop atTop


α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ (fun x => x) =O[atTop] Neg.neg


α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ (fun x => x) =O[atTop] fun x => x


case refine_2
α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ ∀ᶠ (x : ℝ) in atTop, x * 1 = 0 → -x * log x ^ 2 = 0


α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
x : ℝ
hx : x * 1 = 0
⊢ -x * log x ^ 2 = 0


α : Type u_1
M₀ : Type u_2
G₀ : Type u_3
M₀' : Type u_4
G₀' : Type u_5
F : Type u_6
F' : Type u_7
inst✝¹ : MonoidWithZero M₀
inst✝ : GroupWithZero G₀
a b : G₀
p : G₀ → Prop
⊢ (∃ u, p ↑u) ↔ ∃ x, x ≠ 0 ∧ p x


case intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type u_2
inst✝ : LinearOrderedField α
a b c : CauSeq α abs
εa : α
εa0 : εa > 0
ia : ℕ
ha : ∀ j ≥ ia, εa ≤ ↑(c - a) j
εb : α
εb0 : εb > 0
ib : ℕ
hb : ∀ j ≥ ib, εb ≤ ↑(c - b) j
i : ℕ
hi : i ≥ ia ⊔ ib
⊢ εa ⊓ εb ≤ ↑(c - a ⊔ b) i


R : Type u_1
M : Type u_2
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid M
inst✝¹ : Module R M
inst✝ : (x : M) → Decidable (x = 0)
p : R
hM : IsTorsion' M ↥(Submonoid.powers p)
d : ℕ
hd : d ≠ 0
s : Fin d → M
hs : span R (Set.range s) = ⊤
⊢ ∃ j, IsTorsionBy R M (p ^ pOrder hM (s j))


R : Type u_1
M : Type u_2
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid M
inst✝¹ : Module R M
inst✝ : (x : M) → Decidable (x = 0)
p : R
hM : IsTorsion' M ↥(Submonoid.powers p)
d : ℕ
hd : d ≠ 0
s : Fin d → M
hs : span R (Set.range s) = ⊤
oj : Option (Fin d) := List.argmax (fun i => pOrder hM (s i)) (List.finRange d)
hoj : oj.isSome = true
⊢ ∃ j, IsTorsionBy R M (p ^ pOrder hM (s j))


case h
R : Type u_1
M : Type u_2
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid M
inst✝¹ : Module R M
inst✝ : (x : M) → Decidable (x = 0)
p : R
hM : IsTorsion' M ↥(Submonoid.powers p)
d : ℕ
hd : d ≠ 0
s : Fin d → M
hs : span R (Set.range s) = ⊤
oj : Option (Fin d) := List.argmax (fun i => pOrder hM (s i)) (List.finRange d)
hoj : oj.isSome = true
⊢ IsTorsionBy R M (p ^ pOrder hM (s (oj.get hoj)))


case h
R : Type u_1
M : Type u_2
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid M
inst✝¹ : Module R M
inst✝ : (x : M) → Decidable (x = 0)
p : R
hM : IsTorsion' M ↥(Submonoid.powers p)
d : ℕ
hd : d ≠ 0
s : Fin d → M
hs : span R (Set.range s) = ⊤
oj : Option (Fin d) := List.argmax (fun i => pOrder hM (s i)) (List.finRange d)
hoj : oj.isSome = true
i : Fin d
⊢ s i ∈ ↑(torsionBy R M (p ^ pOrder hM (s (oj.get hoj))))


case h
R : Type u_1
M : Type u_2
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid M
inst✝¹ : Module R M
inst✝ : (x : M) → Decidable (x = 0)
p : R
hM : IsTorsion' M ↥(Submonoid.powers p)
d : ℕ
hd : d ≠ 0
s : Fin d → M
hs : span R (Set.range s) = ⊤
oj : Option (Fin d) := List.argmax (fun i => pOrder hM (s i)) (List.finRange d)
hoj : oj.isSome = true
i : Fin d
⊢ p ^ pOrder hM (s (oj.get hoj)) • s i = 0


case h
R : Type u_1
M : Type u_2
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid M
inst✝¹ : Module R M
inst✝ : (x : M) → Decidable (x = 0)
p : R
hM : IsTorsion' M ↥(Submonoid.powers p)
d : ℕ
hd : d ≠ 0
s : Fin d → M
hs : span R (Set.range s) = ⊤
oj : Option (Fin d) := List.argmax (fun i => pOrder hM (s i)) (List.finRange d)
hoj : oj.isSome = true
i : Fin d
this : pOrder hM (s i) ≤ pOrder hM (s (oj.get hoj))
⊢ p ^ pOrder hM (s (oj.get hoj)) • s i = 0


R S : CommRingCat
f : R ⟶ S
p : PrimeSpectrum ↑R
inst✝ : Algebra ↑R ↑S
y : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk p)
⊢ ∃ x, x.2 • y = (toPushforwardStalkAlgHom R S p) x.1


case intro.intro.intro
R S : CommRingCat
f : R ⟶ S
p : PrimeSpectrum ↑R
inst✝ : Algebra ↑R ↑S
y : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk p)
U : TopologicalSpace.Opens ↑(Spec.topObj R)
hp : p ∈ U
s : (forget CommRingCat).obj ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := U })
e : ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hp⟩) s = y
⊢ ∃ x, x.2 • y = (toPushforwardStalkAlgHom R S p) x.1


case intro.intro.intro.intro.intro.intro.intro
R S : CommRingCat
f : R ⟶ S
p : PrimeSpectrum ↑R
inst✝ : Algebra ↑R ↑S
y : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk p)
U : TopologicalSpace.Opens ↑(Spec.topObj R)
hp : p ∈ U
s : (forget CommRingCat).obj ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := U })
e : ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hp⟩) s = y
r : ↑R
hpr : p ∈ PrimeSpectrum.basicOpen r
hrU : PrimeSpectrum.basicOpen r ≤ U
⊢ ∃ x, x.2 • y = (toPushforwardStalkAlgHom R S p) x.1


case intro.intro.intro.intro.intro.intro.intro
R S : CommRingCat
f : R ⟶ S
p : PrimeSpectrum ↑R
inst✝ : Algebra ↑R ↑S
y : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk p)
U : TopologicalSpace.Opens ↑(Spec.topObj R)
hp : p ∈ U
s : (forget CommRingCat).obj ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := U })
r : ↑R
hpr : p ∈ PrimeSpectrum.basicOpen r
hrU : PrimeSpectrum.basicOpen r ≤ U
e :
  ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩)
      (((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).map (homOfLE hrU).op) s) =
    y
⊢ ∃ x, x.2 • y = (toPushforwardStalkAlgHom R S p) x.1


case intro.intro.intro.intro.intro.intro.intro
R S : CommRingCat
f : R ⟶ S
p : PrimeSpectrum ↑R
inst✝ : Algebra ↑R ↑S
y : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk p)
U : TopologicalSpace.Opens ↑(Spec.topObj R)
hp : p ∈ U
s : (forget CommRingCat).obj ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := U })
r : ↑R
hpr : p ∈ PrimeSpectrum.basicOpen r
hrU : PrimeSpectrum.basicOpen r ≤ U
s' : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := PrimeSpectrum.basicOpen r }) :=
  ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).map (homOfLE hrU).op) s
e : ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩) s' = y
h : s' = ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).map (homOfLE hrU).op) s
⊢ ∃ x, x.2 • y = (toPushforwardStalkAlgHom R S p) x.1


case intro.intro.intro.intro.intro.intro.intro
R S : CommRingCat
f : R ⟶ S
p : PrimeSpectrum ↑R
inst✝ : Algebra ↑R ↑S
y : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk p)
r : ↑R
hpr : p ∈ PrimeSpectrum.basicOpen r
s' : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := PrimeSpectrum.basicOpen r })
e : ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩) s' = y
⊢ ∃ x, x.2 • y = (toPushforwardStalkAlgHom R S p) x.1


case intro.intro.intro.intro.intro.intro.intro.intro.mk.mk.intro
R S : CommRingCat
f : R ⟶ S
p : PrimeSpectrum ↑R
inst✝ : Algebra ↑R ↑S
y : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk p)
r : ↑R
hpr : p ∈ PrimeSpectrum.basicOpen r
s' : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := PrimeSpectrum.basicOpen r })
e : ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩) s' = y
s : ↑S
n : ℕ
hsn :
  s' *
      (algebraMap ↑S ↑((structureSheaf ↑S).val.obj { unop := PrimeSpectrum.basicOpen ((algebraMap ↑R ↑S) r) }))
        ↑(s, ⟨(fun x => (algebraMap ↑R ↑S) r ^ x) n, ⋯⟩).2 =
    (algebraMap ↑S ↑((structureSheaf ↑S).val.obj { unop := PrimeSpectrum.basicOpen ((algebraMap ↑R ↑S) r) }))
      (s, ⟨(fun x => (algebraMap ↑R ↑S) r ^ x) n, ⋯⟩).1
⊢ (s, ⟨r, hpr⟩ ^ n).2 • y = (toPushforwardStalkAlgHom R S p) (s, ⟨r, hpr⟩ ^ n).1


case intro.intro.intro.intro.intro.intro.intro.intro.mk.mk.intro
R S : CommRingCat
f : R ⟶ S
p : PrimeSpectrum ↑R
inst✝ : Algebra ↑R ↑S
y : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk p)
r : ↑R
hpr : p ∈ PrimeSpectrum.basicOpen r
s' : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := PrimeSpectrum.basicOpen r })
e : ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩) s' = y
s : ↑S
n : ℕ
hsn :
  s' *
      (algebraMap ↑S ↑((structureSheaf ↑S).val.obj { unop := PrimeSpectrum.basicOpen ((algebraMap ↑R ↑S) r) }))
        ↑(s, ⟨(fun x => (algebraMap ↑R ↑S) r ^ x) n, ⋯⟩).2 =
    (algebraMap ↑S ↑((structureSheaf ↑S).val.obj { unop := PrimeSpectrum.basicOpen ((algebraMap ↑R ↑S) r) }))
      (s, ⟨(fun x => (algebraMap ↑R ↑S) r ^ x) n, ⋯⟩).1
⊢ ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, trivial⟩)
        ((toOpen ↑S ⊤) ((algebraMap ↑R ↑S) ↑(s, ⟨r, hpr⟩ ^ n).2)) *
      y =
    (toPushforwardStalkAlgHom R S p) (s, ⟨r, hpr⟩ ^ n).1


case intro.intro.intro.intro.intro.intro.intro.intro.mk.mk.intro
R S : CommRingCat
f : R ⟶ S
p : PrimeSpectrum ↑R
inst✝ : Algebra ↑R ↑S
y : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk p)
r : ↑R
hpr : p ∈ PrimeSpectrum.basicOpen r
s' : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := PrimeSpectrum.basicOpen r })
e : ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩) s' = y
s : ↑S
n : ℕ
hsn :
  s' *
      (algebraMap ↑S ↑((structureSheaf ↑S).val.obj { unop := PrimeSpectrum.basicOpen ((algebraMap ↑R ↑S) r) }))
        ↑(s, ⟨(fun x => (algebraMap ↑R ↑S) r ^ x) n, ⋯⟩).2 =
    (algebraMap ↑S ↑((structureSheaf ↑S).val.obj { unop := PrimeSpectrum.basicOpen ((algebraMap ↑R ↑S) r) }))
      (s, ⟨(fun x => (algebraMap ↑R ↑S) r ^ x) n, ⋯⟩).1
⊢ ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩)
        (((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).map (homOfLE ⋯).op)
          ((toOpen ↑S ⊤) ((algebraMap ↑R ↑S) ↑(s, ⟨r, hpr⟩ ^ n).2))) *
      ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩) s' =
    ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩)
      (((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).map (homOfLE ⋯).op)
        ((toOpen ↑S ⊤) (s, ⟨r, hpr⟩ ^ n).1))


case intro.intro.intro.intro.intro.intro.intro.intro.mk.mk.intro
R S : CommRingCat
f✝ : R ⟶ S
p : PrimeSpectrum ↑R
inst✝ : Algebra ↑R ↑S
y : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk p)
r : ↑R
hpr : p ∈ PrimeSpectrum.basicOpen r
s' : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := PrimeSpectrum.basicOpen r })
e : ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩) s' = y
s : ↑S
n : ℕ
hsn :
  s' *
      (algebraMap ↑S ↑((structureSheaf ↑S).val.obj { unop := PrimeSpectrum.basicOpen ((algebraMap ↑R ↑S) r) }))
        ↑(s, ⟨(fun x => (algebraMap ↑R ↑S) r ^ x) n, ⋯⟩).2 =
    (algebraMap ↑S ↑((structureSheaf ↑S).val.obj { unop := PrimeSpectrum.basicOpen ((algebraMap ↑R ↑S) r) }))
      (s, ⟨(fun x => (algebraMap ↑R ↑S) r ^ x) n, ⋯⟩).1
f : (Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := PrimeSpectrum.basicOpen r } ⟶
  (Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk ↑⟨p, hpr⟩ :=
  (Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩
⊢ f
        (((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).map (homOfLE ⋯).op)
          ((toOpen ↑S ⊤) ((algebraMap ↑R ↑S) ↑(s, ⟨r, hpr⟩ ^ n).2))) *
      f s' =
    f
      (((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).map (homOfLE ⋯).op)
        ((toOpen ↑S ⊤) (s, ⟨r, hpr⟩ ^ n).1))


case intro.intro.intro.intro.intro.intro.intro.intro.mk.mk.intro
R S : CommRingCat
f✝ : R ⟶ S
p : PrimeSpectrum ↑R
inst✝ : Algebra ↑R ↑S
y : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk p)
r : ↑R
hpr : p ∈ PrimeSpectrum.basicOpen r
s' : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := PrimeSpectrum.basicOpen r })
e : ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩) s' = y
s : ↑S
n : ℕ
hsn :
  s' *
      (algebraMap ↑S ↑((structureSheaf ↑S).val.obj { unop := PrimeSpectrum.basicOpen ((algebraMap ↑R ↑S) r) }))
        ↑(s, ⟨(fun x => (algebraMap ↑R ↑S) r ^ x) n, ⋯⟩).2 =
    (algebraMap ↑S ↑((structureSheaf ↑S).val.obj { unop := PrimeSpectrum.basicOpen ((algebraMap ↑R ↑S) r) }))
      (s, ⟨(fun x => (algebraMap ↑R ↑S) r ^ x) n, ⋯⟩).1
f : (Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := PrimeSpectrum.basicOpen r } ⟶
  (Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk ↑⟨p, hpr⟩ :=
  (Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩
⊢ f
      (s' *
        ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).map (homOfLE ⋯).op)
          ((toOpen ↑S ⊤) ((algebraMap ↑R ↑S) ↑(s, ⟨r, hpr⟩ ^ n).2))) =
    f
      (((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).map (homOfLE ⋯).op)
        ((toOpen ↑S ⊤) (s, ⟨r, hpr⟩ ^ n).1))


case intro.intro.intro.intro.intro.intro.intro.intro.mk.mk.intro
R S : CommRingCat
f✝ : R ⟶ S
p : PrimeSpectrum ↑R
inst✝ : Algebra ↑R ↑S
y : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk p)
r : ↑R
hpr : p ∈ PrimeSpectrum.basicOpen r
s' : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := PrimeSpectrum.basicOpen r })
e : ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩) s' = y
s : ↑S
n : ℕ
hsn :
  s' *
      (algebraMap ↑S ↑((structureSheaf ↑S).val.obj { unop := PrimeSpectrum.basicOpen ((algebraMap ↑R ↑S) r) }))
        ((algebraMap ↑R ↑S) r ^ n) =
    (algebraMap ↑S ↑((structureSheaf ↑S).val.obj { unop := PrimeSpectrum.basicOpen ((algebraMap ↑R ↑S) r) })) s
f : (Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := PrimeSpectrum.basicOpen r } ⟶
  (Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk ↑⟨p, hpr⟩ :=
  (Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩
⊢ f
      (s' *
        ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).map (homOfLE ⋯).op)
          ((toOpen ↑S ⊤) ((algebraMap ↑R ↑S) ↑(s, ⟨r, hpr⟩ ^ n).2))) =
    f
      (((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).map (homOfLE ⋯).op)
        ((toOpen ↑S ⊤) (s, ⟨r, hpr⟩ ^ n).1))


case intro.intro.intro.intro.intro.intro.intro.intro.mk.mk.intro
R S : CommRingCat
f : R ⟶ S
p : PrimeSpectrum ↑R
inst✝ : Algebra ↑R ↑S
y : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).stalk p)
r : ↑R
hpr : p ∈ PrimeSpectrum.basicOpen r
s' : ↑((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).obj { unop := PrimeSpectrum.basicOpen r })
e : ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩) s' = y
s : ↑S
n : ℕ
hsn :
  s' *
      (algebraMap ↑S ↑((structureSheaf ↑S).val.obj { unop := PrimeSpectrum.basicOpen ((algebraMap ↑R ↑S) r) }))
        ↑(s, ⟨(fun x => (algebraMap ↑R ↑S) r ^ x) n, ⋯⟩).2 =
    (algebraMap ↑S ↑((structureSheaf ↑S).val.obj { unop := PrimeSpectrum.basicOpen ((algebraMap ↑R ↑S) r) }))
      (s, ⟨(fun x => (algebraMap ↑R ↑S) r ^ x) n, ⋯⟩).1
⊢ ((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).germ ⟨p, hpr⟩)
        (((Spec.topMap (algebraMap ↑R ↑S) _* (structureSheaf ↑S).val).map (homOfLE ⋯).op)
          ((toOpen ↑S ⊤) ((algebraMap ↑R ↑S) ↑(s, ⟨r, hpr⟩ ^ n).2))) *
      y =
    (toPushforwardStalkAlgHom R S p) (s, ⟨r, hpr⟩ ^ n).1


l m r : List Char
f : Char → Bool
⊢ { str := { data := l ++ m ++ r }, startPos := { byteIdx := utf8Len l },
          stopPos := { byteIdx := utf8Len l + utf8Len m } }.any
      f =
    m.any f


ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
s s₁ s₂ : Finset α
a : α
f✝ g : α → β
inst✝¹ : CommMonoid β
M : Type u_6
inst✝ : CommGroup M
f : ℕ → M
n : ℕ
⊢ f n = f 0 * ∏ i ∈ range n, f (i + 1) / f i


α : Type u_1
x : α
xs : List α
p : α → Bool
⊢ findIdxs p (x :: xs) =
    bif p x then 0 :: map (fun x => x + 1) (findIdxs p xs) else map (fun x => x + 1) (findIdxs p xs)


α : Type u_1
x : α
xs : List α
p : α → Bool
⊢ (if p x = true then 0 :: foldrIdx (fun i a is => if p a = true then i :: is else is) [] xs 1
    else foldrIdx (fun i a is => if p a = true then i :: is else is) [] xs 1) =
    bif p x then 0 :: map (fun x => x + 1) (foldrIdx (fun i a is => if p a = true then i :: is else is) [] xs)
    else map (fun x => x + 1) (foldrIdx (fun i a is => if p a = true then i :: is else is) [] xs)


case isFalse
α : Type u_1
x : α
xs : List α
p : α → Bool
h✝ : ¬p x = true
⊢ foldrIdx (fun i a is => if p a = true then i :: is else is) [] xs 1 =
    map (fun x => x + 1) (foldrIdx (fun i a is => if p a = true then i :: is else is) [] xs)


case isFalse
α : Type u_1
x : α
xs : List α
p : α → Bool
h✝ : ¬p x = true
⊢ foldrIdx (fun i a is => if p a = true then (i + 0 + 1) :: is else is) [] xs =
    map (fun x => x + 1) (foldrIdx (fun i a is => if p a = true then (i + 0) :: is else is) [] xs)


α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a b c : α
n : ℤ
x₁ x₂ x₃ : α
⊢ toIcoMod hp x₁ x₂ ≤ toIocMod hp x₁ x₃ ↔ toIcoMod hp 0 (x₂ - x₁) + toIcoMod hp 0 (x₁ - x₃) ≤ p


R : Type u_1
inst✝ : LinearOrderedCommRing R
a : ℍ[R]
h : normSq a = 0
⊢ a = 0


case ha
R : Type u_1
inst✝ : LinearOrderedCommRing R
a : ℍ[R]
h : (a.re ^ 2 + a.imI ^ 2 = 0 ∧ a.imJ ^ 2 = 0) ∧ a.imK ^ 2 = 0
⊢ 0 ≤ a.re ^ 2

case hb
R : Type u_1
inst✝ : LinearOrderedCommRing R
a : ℍ[R]
h : (a.re ^ 2 + a.imI ^ 2 = 0 ∧ a.imJ ^ 2 = 0) ∧ a.imK ^ 2 = 0
⊢ 0 ≤ a.imI ^ 2

case ha
R : Type u_1
inst✝ : LinearOrderedCommRing R
a : ℍ[R]
h : a.re ^ 2 + a.imI ^ 2 + a.imJ ^ 2 = 0 ∧ a.imK ^ 2 = 0
⊢ 0 ≤ a.re ^ 2 + a.imI ^ 2

case hb
R : Type u_1
inst✝ : LinearOrderedCommRing R
a : ℍ[R]
h : a.re ^ 2 + a.imI ^ 2 + a.imJ ^ 2 = 0 ∧ a.imK ^ 2 = 0
⊢ 0 ≤ a.imJ ^ 2

case ha
R : Type u_1
inst✝ : LinearOrderedCommRing R
a : ℍ[R]
h : a.re ^ 2 + a.imI ^ 2 + a.imJ ^ 2 + a.imK ^ 2 = 0
⊢ 0 ≤ a.re ^ 2 + a.imI ^ 2 + a.imJ ^ 2

case hb
R : Type u_1
inst✝ : LinearOrderedCommRing R
a : ℍ[R]
h : a.re ^ 2 + a.imI ^ 2 + a.imJ ^ 2 + a.imK ^ 2 = 0
⊢ 0 ≤ a.imK ^ 2


R : Type u_1
inst✝ : LinearOrderedCommRing R
a : ℍ[R]
h : ((a.re ^ 2 = 0 ∧ a.imI ^ 2 = 0) ∧ a.imJ ^ 2 = 0) ∧ a.imK ^ 2 = 0
⊢ a = 0


case hb
R : Type u_1
inst✝ : LinearOrderedCommRing R
a : ℍ[R]
h : a.re ^ 2 + a.imI ^ 2 + a.imJ ^ 2 + a.imK ^ 2 = 0
⊢ 0 ≤ a.imK ^ 2


R : Type u_1
inst✝ : NonAssocRing R
⊢ ringChar R = 0 ↔ CharZero R


R : Type u₁
L : Type u₂
L₂ : Type u₃
M : Type u₄
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieRing L₂
inst✝⁴ : LieAlgebra R L₂
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
K : LieSubalgebra R L
hK₁ : IsEngelian R ↥K
hK₂ : K < K.normalizer
⊢ ∃ K', IsEngelian R ↥K' ∧ K < K'


case intro.intro
R : Type u₁
L : Type u₂
L₂ : Type u₃
M : Type u₄
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieRing L₂
inst✝⁴ : LieAlgebra R L₂
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
K : LieSubalgebra R L
hK₁ : IsEngelian R ↥K
hK₂ : K < K.normalizer
x : L
hx₁ : x ∈ K.normalizer
hx₂ : x ∉ K
⊢ ∃ K', IsEngelian R ↥K' ∧ K < K'


case intro.intro
R : Type u₁
L : Type u₂
L₂ : Type u₃
M : Type u₄
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieRing L₂
inst✝⁴ : LieAlgebra R L₂
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
K : LieSubalgebra R L
hK₁ : IsEngelian R ↥K
hK₂ : K < K.normalizer
x : L
hx₁ : x ∈ K.normalizer
hx₂ : x ∉ K
K' : LieSubalgebra R L :=
  let __src := Submodule.span R {x} ⊔ K.toSubmodule;
  { toSubmodule := __src, lie_mem' := ⋯ }
⊢ ∃ K', IsEngelian R ↥K' ∧ K < K'


case intro.intro
R : Type u₁
L : Type u₂
L₂ : Type u₃
M : Type u₄
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieRing L₂
inst✝⁴ : LieAlgebra R L₂
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
K : LieSubalgebra R L
hK₁ : IsEngelian R ↥K
hK₂ : K < K.normalizer
x : L
hx₁ : x ∈ K.normalizer
hx₂ : x ∉ K
K' : LieSubalgebra R L :=
  let __src := Submodule.span R {x} ⊔ K.toSubmodule;
  { toSubmodule := __src, lie_mem' := ⋯ }
hxK' : x ∈ K'
⊢ ∃ K', IsEngelian R ↥K' ∧ K < K'


case intro.intro
R : Type u₁
L : Type u₂
L₂ : Type u₃
M : Type u₄
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieRing L₂
inst✝⁴ : LieAlgebra R L₂
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
K : LieSubalgebra R L
hK₁ : IsEngelian R ↥K
hK₂ : K < K.normalizer
x : L
hx₁ : x ∈ K.normalizer
hx₂ : x ∉ K
K' : LieSubalgebra R L :=
  let __src := Submodule.span R {x} ⊔ K.toSubmodule;
  { toSubmodule := __src, lie_mem' := ⋯ }
hxK' : x ∈ K'
hKK' : K ≤ K'
⊢ ∃ K', IsEngelian R ↥K' ∧ K < K'


case intro.intro
R : Type u₁
L : Type u₂
L₂ : Type u₃
M✝ : Type u₄
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieRing L₂
inst✝⁴ : LieAlgebra R L₂
inst✝³ : AddCommGroup M✝
inst✝² : Module R M✝
inst✝¹ : LieRingModule L M✝
inst✝ : LieModule R L M✝
K : LieSubalgebra R L
hK₁ : IsEngelian R ↥K
hK₂ : K < K.normalizer
x : L
hx₁ : x ∈ K.normalizer
hx₂ : x ∉ K
K' : LieSubalgebra R L :=
  let __src := Submodule.span R {x} ⊔ K.toSubmodule;
  { toSubmodule := __src, lie_mem' := ⋯ }
hxK' : x ∈ K'
hKK' : K ≤ K'
hK' : K' ≤ K.normalizer
M : Type u₄
_i1 : AddCommGroup M
_i2 : Module R M
_i3 : LieRingModule (↥K') M
_i4 : LieModule R (↥K') M
h : ∀ (x : ↥K'), _root_.IsNilpotent ((toEnd R (↥K') M) x)
⊢ LieModule.IsNilpotent R (↥K') M


case intro.intro.intro
R : Type u₁
L : Type u₂
L₂ : Type u₃
M✝ : Type u₄
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieRing L₂
inst✝⁴ : LieAlgebra R L₂
inst✝³ : AddCommGroup M✝
inst✝² : Module R M✝
inst✝¹ : LieRingModule L M✝
inst✝ : LieModule R L M✝
K : LieSubalgebra R L
hK₁ : IsEngelian R ↥K
hK₂ : K < K.normalizer
x : L
hx₁ : x ∈ K.normalizer
hx₂ : x ∉ K
K' : LieSubalgebra R L :=
  let __src := Submodule.span R {x} ⊔ K.toSubmodule;
  { toSubmodule := __src, lie_mem' := ⋯ }
hxK' : x ∈ K'
hKK' : K ≤ K'
hK' : K' ≤ K.normalizer
M : Type u₄
_i1 : AddCommGroup M
_i2 : Module R M
_i3 : LieRingModule (↥K') M
_i4 : LieModule R (↥K') M
h : ∀ (x : ↥K'), _root_.IsNilpotent ((toEnd R (↥K') M) x)
I : LieIdeal R ↥K'
hI₁ : lieIdealSubalgebra R (↥K') I = LieSubalgebra.ofLe hKK'
⊢ LieModule.IsNilpotent R (↥K') M


case intro.intro.intro
R : Type u₁
L : Type u₂
L₂ : Type u₃
M✝ : Type u₄
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieRing L₂
inst✝⁴ : LieAlgebra R L₂
inst✝³ : AddCommGroup M✝
inst✝² : Module R M✝
inst✝¹ : LieRingModule L M✝
inst✝ : LieModule R L M✝
K : LieSubalgebra R L
hK₁ : IsEngelian R ↥K
hK₂ : K < K.normalizer
x : L
hx₁ : x ∈ K.normalizer
hx₂ : x ∉ K
K' : LieSubalgebra R L :=
  let __src := Submodule.span R {x} ⊔ K.toSubmodule;
  { toSubmodule := __src, lie_mem' := ⋯ }
hxK' : x ∈ K'
hKK' : K ≤ K'
hK' : K' ≤ K.normalizer
M : Type u₄
_i1 : AddCommGroup M
_i2 : Module R M
_i3 : LieRingModule (↥K') M
_i4 : LieModule R (↥K') M
h : ∀ (x : ↥K'), _root_.IsNilpotent ((toEnd R (↥K') M) x)
I : LieIdeal R ↥K'
hI₁ : lieIdealSubalgebra R (↥K') I = LieSubalgebra.ofLe hKK'
hI₂ : Submodule.span R {⟨x, hxK'⟩} ⊔ ↑I = ⊤
⊢ LieModule.IsNilpotent R (↥K') M


case intro.intro.intro
R : Type u₁
L : Type u₂
L₂ : Type u₃
M✝ : Type u₄
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieRing L₂
inst✝⁴ : LieAlgebra R L₂
inst✝³ : AddCommGroup M✝
inst✝² : Module R M✝
inst✝¹ : LieRingModule L M✝
inst✝ : LieModule R L M✝
K : LieSubalgebra R L
hK₁ : IsEngelian R ↥K
hK₂ : K < K.normalizer
x : L
hx₁ : x ∈ K.normalizer
hx₂ : x ∉ K
K' : LieSubalgebra R L :=
  let __src := Submodule.span R {x} ⊔ K.toSubmodule;
  { toSubmodule := __src, lie_mem' := ⋯ }
hxK' : x ∈ K'
hKK' : K ≤ K'
hK' : K' ≤ K.normalizer
M : Type u₄
_i1 : AddCommGroup M
_i2 : Module R M
_i3 : LieRingModule (↥K') M
_i4 : LieModule R (↥K') M
h : ∀ (x : ↥K'), _root_.IsNilpotent ((toEnd R (↥K') M) x)
I : LieIdeal R ↥K'
hI₁ : lieIdealSubalgebra R (↥K') I = LieSubalgebra.ofLe hKK'
hI₂ : Submodule.span R {⟨x, hxK'⟩} ⊔ ↑I = ⊤
e : ↥K ≃ₗ⁅R⁆ ↥↑I
⊢ LieModule.IsNilpotent R (↥K') M


case intro.intro.intro
R : Type u₁
L : Type u₂
L₂ : Type u₃
M✝ : Type u₄
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieRing L₂
inst✝⁴ : LieAlgebra R L₂
inst✝³ : AddCommGroup M✝
inst✝² : Module R M✝
inst✝¹ : LieRingModule L M✝
inst✝ : LieModule R L M✝
K : LieSubalgebra R L
hK₁ : IsEngelian R ↥K
hK₂ : K < K.normalizer
x : L
hx₁ : x ∈ K.normalizer
hx₂ : x ∉ K
K' : LieSubalgebra R L :=
  let __src := Submodule.span R {x} ⊔ K.toSubmodule;
  { toSubmodule := __src, lie_mem' := ⋯ }
hxK' : x ∈ K'
hKK' : K ≤ K'
hK' : K' ≤ K.normalizer
M : Type u₄
_i1 : AddCommGroup M
_i2 : Module R M
_i3 : LieRingModule (↥K') M
_i4 : LieModule R (↥K') M
h : ∀ (x : ↥K'), _root_.IsNilpotent ((toEnd R (↥K') M) x)
I : LieIdeal R ↥K'
hI₁ : lieIdealSubalgebra R (↥K') I = LieSubalgebra.ofLe hKK'
hI₂ : Submodule.span R {⟨x, hxK'⟩} ⊔ ↑I = ⊤
e : ↥K ≃ₗ⁅R⁆ ↥↑I
hI₃ : IsEngelian R ↥↑I
⊢ LieModule.IsNilpotent R (↥K') M


R : Type u₁
L : Type u₂
L₂ : Type u₃
M : Type u₄
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieRing L₂
inst✝⁴ : LieAlgebra R L₂
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
K : LieSubalgebra R L
hK₁ : IsEngelian R ↥K
hK₂ : K < K.normalizer
x : L
hx₁ : x ∈ K.normalizer
hx₂ : x ∉ K
K' : LieSubalgebra R L :=
  let __src := Submodule.span R {x} ⊔ K.toSubmodule;
  { toSubmodule := __src, lie_mem' := ⋯ }
hxK' : x ∈ K'
hKK' : K ≤ K'
⊢ K' ≤ K.normalizer


R : Type u₁
L : Type u₂
L₂ : Type u₃
M : Type u₄
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieRing L₂
inst✝⁴ : LieAlgebra R L₂
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : LieRingModule L M
inst✝ : LieModule R L M
K : LieSubalgebra R L
hK₁ : IsEngelian R ↥K
hK₂ : K < K.normalizer
x : L
hx₁ : x ∈ K.normalizer
hx₂ : x ∉ K
K' : LieSubalgebra R L :=
  let __src := Submodule.span R {x} ⊔ K.toSubmodule;
  { toSubmodule := __src, lie_mem' := ⋯ }
hxK' : x ∈ K'
hKK' : K ≤ K'
⊢ K'.toSubmodule ≤ K.normalizer.toSubmodule


R : Type u₁
L : Type u₂
L₂ : Type u₃
M✝ : Type u₄
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieRing L₂
inst✝⁴ : LieAlgebra R L₂
inst✝³ : AddCommGroup M✝
inst✝² : Module R M✝
inst✝¹ : LieRingModule L M✝
inst✝ : LieModule R L M✝
K : LieSubalgebra R L
hK₁ : IsEngelian R ↥K
hK₂ : K < K.normalizer
x : L
hx₁ : x ∈ K.normalizer
hx₂ : x ∉ K
K' : LieSubalgebra R L :=
  let __src := Submodule.span R {x} ⊔ K.toSubmodule;
  { toSubmodule := __src, lie_mem' := ⋯ }
hxK' : x ∈ K'
hKK' : K ≤ K'
hK' : K' ≤ K.normalizer
M : Type u₄
_i1 : AddCommGroup M
_i2 : Module R M
_i3 : LieRingModule (↥K') M
_i4 : LieModule R (↥K') M
h : ∀ (x : ↥K'), _root_.IsNilpotent ((toEnd R (↥K') M) x)
I : LieIdeal R ↥K'
hI₁ : lieIdealSubalgebra R (↥K') I = LieSubalgebra.ofLe hKK'
⊢ Submodule.span R {⟨x, hxK'⟩} ⊔ ↑I = ⊤


R : Type u₁
L : Type u₂
L₂ : Type u₃
M✝ : Type u₄
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieRing L₂
inst✝⁴ : LieAlgebra R L₂
inst✝³ : AddCommGroup M✝
inst✝² : Module R M✝
inst✝¹ : LieRingModule L M✝
inst✝ : LieModule R L M✝
K : LieSubalgebra R L
hK₁ : IsEngelian R ↥K
hK₂ : K < K.normalizer
x : L
hx₁ : x ∈ K.normalizer
hx₂ : x ∉ K
K' : LieSubalgebra R L :=
  let __src := Submodule.span R {x} ⊔ K.toSubmodule;
  { toSubmodule := __src, lie_mem' := ⋯ }
hxK' : x ∈ K'
hKK' : K ≤ K'
hK' : K' ≤ K.normalizer
M : Type u₄
_i1 : AddCommGroup M
_i2 : Module R M
_i3 : LieRingModule (↥K') M
_i4 : LieModule R (↥K') M
h : ∀ (x : ↥K'), _root_.IsNilpotent ((toEnd R (↥K') M) x)
I : LieIdeal R ↥K'
hI₁ : lieIdealSubalgebra R (↥K') I = LieSubalgebra.ofLe hKK'
⊢ Submodule.span R {⟨x, hxK'⟩} ⊔ (LieSubalgebra.ofLe hKK').toSubmodule = ⊤


v : List ℕ
⊢ id.eval v = pure v