case intro
G✝ : Type ?u.314742
inst✝³ : Group G✝
H : Subgroup G✝
inst✝² : Normal H
P : (G : Type u_1) → [inst : Group G] → [inst : Group.IsNilpotent G] → Prop
G : Type u_1
inst✝¹ : Group G
inst✝ : Group.IsNilpotent G
hbase : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Subsingleton G], P G
hstep : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], P (G ⧸ center G) → P G
n : ℕ
h : nilpotencyClass G = n
⊢ P G
G✝ : Type ?u.314742
inst✝³ : Group G✝
H : Subgroup G✝
inst✝² : Normal H
P : (G : Type u_1) → [inst : Group G] → [inst : Group.IsNilpotent G] → Prop
G : Type u_1
inst✝¹ : Group G
inst✝ : Group.IsNilpotent G
hbase : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Subsingleton G], P G
hstep : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], P (G ⧸ center G) → P G
⊢ P G
obtain ⟨n, h⟩ : ∃ n, Group.nilpotencyClass G = n := ⟨_, rfl⟩
case intro.zero
G✝¹ : Type ?u.314742
inst✝⁵ : Group G✝¹
H : Subgroup G✝¹
inst✝⁴ : Normal H
P : (G : Type u_1) → [inst : Group G] → [inst : Group.IsNilpotent G] → Prop
G✝ : Type u_1
inst✝³ : Group G✝
inst✝² : Group.IsNilpotent G✝
hbase : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Subsingleton G], P G
hstep : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], P (G ⧸ center G) → P G
n : ℕ
h✝ : nilpotencyClass G✝ = n
G : Type u_1
inst✝¹ : Group G
inst✝ : Group.IsNilpotent G
h : nilpotencyClass G = Nat.zero
⊢ P G

case intro.succ
G✝¹ : Type ?u.314742
inst✝⁵ : Group G✝¹
H : Subgroup G✝¹
inst✝⁴ : Normal H
P : (G : Type u_1) → [inst : Group G] → [inst : Group.IsNilpotent G] → Prop
G✝ : Type u_1
inst✝³ : Group G✝
inst✝² : Group.IsNilpotent G✝
hbase : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Subsingleton G], P G
hstep : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], P (G ⧸ center G) → P G
n✝ : ℕ
h✝ : nilpotencyClass G✝ = n✝
n : ℕ
ih : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], nilpotencyClass G = n → P G
G : Type u_1
inst✝¹ : Group G
inst✝ : Group.IsNilpotent G
h : nilpotencyClass G = Nat.succ n
⊢ P G
case intro
G✝ : Type ?u.314742
inst✝³ : Group G✝
H : Subgroup G✝
inst✝² : Normal H
P : (G : Type u_1) → [inst : Group G] → [inst : Group.IsNilpotent G] → Prop
G : Type u_1
inst✝¹ : Group G
inst✝ : Group.IsNilpotent G
hbase : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Subsingleton G], P G
hstep : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], P (G ⧸ center G) → P G
n : ℕ
h : nilpotencyClass G = n
⊢ P G
induction' n with n ih generalizing G
case intro.zero
G✝¹ : Type ?u.314742
inst✝⁵ : Group G✝¹
H : Subgroup G✝¹
inst✝⁴ : Normal H
P : (G : Type u_1) → [inst : Group G] → [inst : Group.IsNilpotent G] → Prop
G✝ : Type u_1
inst✝³ : Group G✝
inst✝² : Group.IsNilpotent G✝
hbase : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Subsingleton G], P G
hstep : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], P (G ⧸ center G) → P G
n : ℕ
h✝ : nilpotencyClass G✝ = n
G : Type u_1
inst✝¹ : Group G
inst✝ : Group.IsNilpotent G
h : nilpotencyClass G = Nat.zero
this : Subsingleton G
⊢ P G
case intro.zero
G✝¹ : Type ?u.314742
inst✝⁵ : Group G✝¹
H : Subgroup G✝¹
inst✝⁴ : Normal H
P : (G : Type u_1) → [inst : Group G] → [inst : Group.IsNilpotent G] → Prop
G✝ : Type u_1
inst✝³ : Group G✝
inst✝² : Group.IsNilpotent G✝
hbase : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Subsingleton G], P G
hstep : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], P (G ⧸ center G) → P G
n : ℕ
h✝ : nilpotencyClass G✝ = n
G : Type u_1
inst✝¹ : Group G
inst✝ : Group.IsNilpotent G
h : nilpotencyClass G = Nat.zero
⊢ P G
haveI := nilpotencyClass_zero_iff_subsingleton.mp h
no goals
case intro.zero
G✝¹ : Type ?u.314742
inst✝⁵ : Group G✝¹
H : Subgroup G✝¹
inst✝⁴ : Normal H
P : (G : Type u_1) → [inst : Group G] → [inst : Group.IsNilpotent G] → Prop
G✝ : Type u_1
inst✝³ : Group G✝
inst✝² : Group.IsNilpotent G✝
hbase : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Subsingleton G], P G
hstep : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], P (G ⧸ center G) → P G
n : ℕ
h✝ : nilpotencyClass G✝ = n
G : Type u_1
inst✝¹ : Group G
inst✝ : Group.IsNilpotent G
h : nilpotencyClass G = Nat.zero
this : Subsingleton G
⊢ P G
exact hbase _
case intro.succ
G✝¹ : Type ?u.314742
inst✝⁵ : Group G✝¹
H : Subgroup G✝¹
inst✝⁴ : Normal H
P : (G : Type u_1) → [inst : Group G] → [inst : Group.IsNilpotent G] → Prop
G✝ : Type u_1
inst✝³ : Group G✝
inst✝² : Group.IsNilpotent G✝
hbase : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Subsingleton G], P G
hstep : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], P (G ⧸ center G) → P G
n✝ : ℕ
h✝ : nilpotencyClass G✝ = n✝
n : ℕ
ih : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], nilpotencyClass G = n → P G
G : Type u_1
inst✝¹ : Group G
inst✝ : Group.IsNilpotent G
h : nilpotencyClass G = Nat.succ n
hn : nilpotencyClass (G ⧸ center G) = n
⊢ P G
case intro.succ
G✝¹ : Type ?u.314742
inst✝⁵ : Group G✝¹
H : Subgroup G✝¹
inst✝⁴ : Normal H
P : (G : Type u_1) → [inst : Group G] → [inst : Group.IsNilpotent G] → Prop
G✝ : Type u_1
inst✝³ : Group G✝
inst✝² : Group.IsNilpotent G✝
hbase : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Subsingleton G], P G
hstep : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], P (G ⧸ center G) → P G
n✝ : ℕ
h✝ : nilpotencyClass G✝ = n✝
n : ℕ
ih : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], nilpotencyClass G = n → P G
G : Type u_1
inst✝¹ : Group G
inst✝ : Group.IsNilpotent G
h : nilpotencyClass G = Nat.succ n
⊢ P G
have hn : Group.nilpotencyClass (G ⧸ center G) = n := by
  simp [nilpotencyClass_quotient_center, h]
no goals
case intro.succ
G✝¹ : Type ?u.314742
inst✝⁵ : Group G✝¹
H : Subgroup G✝¹
inst✝⁴ : Normal H
P : (G : Type u_1) → [inst : Group G] → [inst : Group.IsNilpotent G] → Prop
G✝ : Type u_1
inst✝³ : Group G✝
inst✝² : Group.IsNilpotent G✝
hbase : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Subsingleton G], P G
hstep : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], P (G ⧸ center G) → P G
n✝ : ℕ
h✝ : nilpotencyClass G✝ = n✝
n : ℕ
ih : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], nilpotencyClass G = n → P G
G : Type u_1
inst✝¹ : Group G
inst✝ : Group.IsNilpotent G
h : nilpotencyClass G = Nat.succ n
hn : nilpotencyClass (G ⧸ center G) = n
⊢ P G
exact hstep _ (ih _ hn)
no goals
G✝¹ : Type ?u.314742
inst✝⁵ : Group G✝¹
H : Subgroup G✝¹
inst✝⁴ : Normal H
P : (G : Type u_1) → [inst : Group G] → [inst : Group.IsNilpotent G] → Prop
G✝ : Type u_1
inst✝³ : Group G✝
inst✝² : Group.IsNilpotent G✝
hbase : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Subsingleton G], P G
hstep : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], P (G ⧸ center G) → P G
n✝ : ℕ
h✝ : nilpotencyClass G✝ = n✝
n : ℕ
ih : ∀ (G : Type u_1) [inst : Group G] [inst_1 : Group.IsNilpotent G], nilpotencyClass G = n → P G
G : Type u_1
inst✝¹ : Group G
inst✝ : Group.IsNilpotent G
h : nilpotencyClass G = Nat.succ n
⊢ nilpotencyClass (G ⧸ center G) = n
simp [nilpotencyClass_quotient_center, h]