ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Equiv.isLawfulTraversable
protected theorem isLawfulTraversable : @LawfulTraversable t' (Equiv.traversable eqv) 
Arguments: {t t' : Type u → Type u} (eqv : (α : Type u) → t α ≃ t' α) [Traversable t] [LawfulTraversable t]
Goal: LawfulTraversable t'
-- Equiv.isLawfulTraversable'
protected theorem isLawfulTraversable' [Traversable t']
    (h₀ : ∀ {α β} (f : α → β), map f = Equiv.map eqv f)
    (h₁ : ∀ {α β} (f : β), mapConst f = (Equiv.map eqv ∘ Function.const α) f)
    (h₂ : ∀ {F : Type u → Type u} [Applicative F],
      ∀ [LawfulApplicative F] {α β} (f : α → F β), traverse f = Equiv.traverse eqv f) :
    LawfulTraversable t' 
Arguments: {t t' : Type u → Type u} (eqv : (α : Type u) → t α ≃ t' α) [Traversable t] [LawfulTraversable t] [Traversable t'] (h₀ : ∀ {α β : Type u} (f : α → β), Functor.map f = Equiv.map eqv f) (h₁ : ∀ {α β : Type u} (f : β), Functor.mapConst f = (Equiv.map eqv ∘ Function.const α) f) (h₂ :
  ∀ {F : Type u → Type u} [inst : Applicative F] [inst_1 : LawfulApplicative F] {α β : Type u} (f : α → F β),
    traverse f = Equiv.traverse eqv f)
Goal: LawfulTraversable t'
-- mem_upperCentralSeriesStep
theorem mem_upperCentralSeriesStep (x : G) :
    x ∈ upperCentralSeriesStep H ↔ ∀ y, x * y * x⁻¹ * y⁻¹ ∈ H 
Arguments: {G : Type u_1} [Group G] (H : Subgroup G) [H.Normal] (x : G)
Goal: x ∈ upperCentralSeriesStep H ↔ ∀ (y : G), x * y * x⁻¹ * y⁻¹ ∈ H
-- upperCentralSeriesStep_eq_comap_center
theorem upperCentralSeriesStep_eq_comap_center :
    upperCentralSeriesStep H = Subgroup.comap (mk' H) (center (G ⧸ H)) 
Arguments: {G : Type u_1} [Group G] (H : Subgroup G) [H.Normal]
Goal: upperCentralSeriesStep H = Subgroup.comap (QuotientGroup.mk' H) (Subgroup.center (G ⧸ H))
-- upperCentralSeries_zero
@[simp]
theorem upperCentralSeries_zero : upperCentralSeries G 0 = ⊥ 
Arguments: (G : Type u_1) [Group G]
Goal: upperCentralSeries G 0 = ⊥
-- upperCentralSeries_one
@[simp]
theorem upperCentralSeries_one : upperCentralSeries G 1 = center G 
Arguments: (G : Type u_1) [Group G]
Goal: upperCentralSeries G 1 = Subgroup.center G
-- mem_upperCentralSeries_succ_iff
theorem mem_upperCentralSeries_succ_iff (n : ℕ) (x : G) :
    x ∈ upperCentralSeries G (n + 1) ↔ ∀ y : G, x * y * x⁻¹ * y⁻¹ ∈ upperCentralSeries G n 
Arguments: (G : Type u_1) [Group G] (n : ℕ) (x : G)
Goal: x ∈ upperCentralSeries G (n + 1) ↔ ∀ (y : G), x * y * x⁻¹ * y⁻¹ ∈ upperCentralSeries G n
-- Group.IsNilpotent.nilpotent'
class Group.IsNilpotent (G : Type*) [Group G] : Prop where
  nilpotent' : ∃ n : ℕ, upperCentralSeries G n = ⊤
Arguments: {G : Type u_2} [Group G] [self : Group.IsNilpotent G]
Goal: ∃ n, upperCentralSeries G n = ⊤
-- Group.IsNilpotent.nilpotent
lemma Group.IsNilpotent.nilpotent (G : Type*) [Group G] [IsNilpotent G] :
    ∃ n : ℕ, upperCentralSeries G n = ⊤ 
Arguments: (G : Type u_2) [Group G] [Group.IsNilpotent G]
Goal: ∃ n, upperCentralSeries G n = ⊤
-- ascending_central_series_le_upper
theorem ascending_central_series_le_upper (H : ℕ → Subgroup G) (hH : IsAscendingCentralSeries H) :
    ∀ n : ℕ, H n ≤ upperCentralSeries G n
  
Arguments: {G : Type u_1} [Group G] (H : ℕ → Subgroup G) (hH : IsAscendingCentralSeries H) (n : ℕ)
Goal: H n ≤ upperCentralSeries G n
-- upperCentralSeries_isAscendingCentralSeries
theorem upperCentralSeries_isAscendingCentralSeries :
    IsAscendingCentralSeries (upperCentralSeries G) 
Arguments: (G : Type u_1) [Group G]
Goal: IsAscendingCentralSeries (upperCentralSeries G)
-- upperCentralSeries_mono
theorem upperCentralSeries_mono : Monotone (upperCentralSeries G) 
Arguments: (G : Type u_1) [Group G]
Goal: Monotone (upperCentralSeries G)
-- nilpotent_iff_finite_ascending_central_series
theorem nilpotent_iff_finite_ascending_central_series :
    IsNilpotent G ↔ ∃ n : ℕ, ∃ H : ℕ → Subgroup G, IsAscendingCentralSeries H ∧ H n = ⊤ 
Arguments: (G : Type u_1) [Group G]
Goal: Group.IsNilpotent G ↔ ∃ n H, IsAscendingCentralSeries H ∧ H n = ⊤
-- is_decending_rev_series_of_is_ascending
theorem is_decending_rev_series_of_is_ascending {H : ℕ → Subgroup G} {n : ℕ} (hn : H n = ⊤)
    (hasc : IsAscendingCentralSeries H) : IsDescendingCentralSeries fun m : ℕ => H (n - m) 
Arguments: (G : Type u_1) [Group G] {H : ℕ → Subgroup G} {n : ℕ} (hn : H n = ⊤) (hasc : IsAscendingCentralSeries H)
Goal: IsDescendingCentralSeries fun m => H (n - m)
-- is_ascending_rev_series_of_is_descending
theorem is_ascending_rev_series_of_is_descending {H : ℕ → Subgroup G} {n : ℕ} (hn : H n = ⊥)
    (hdesc : IsDescendingCentralSeries H) : IsAscendingCentralSeries fun m : ℕ => H (n - m) 
Arguments: (G : Type u_1) [Group G] {H : ℕ → Subgroup G} {n : ℕ} (hn : H n = ⊥) (hdesc : IsDescendingCentralSeries H)
Goal: IsAscendingCentralSeries fun m => H (n - m)
-- nilpotent_iff_finite_descending_central_series
theorem nilpotent_iff_finite_descending_central_series :
    IsNilpotent G ↔ ∃ n : ℕ, ∃ H : ℕ → Subgroup G, IsDescendingCentralSeries H ∧ H n = ⊥ 
Arguments: (G : Type u_1) [Group G]
Goal: Group.IsNilpotent G ↔ ∃ n H, IsDescendingCentralSeries H ∧ H n = ⊥
-- lowerCentralSeries_zero
@[simp]
theorem lowerCentralSeries_zero : lowerCentralSeries G 0 = ⊤ 
Arguments: {G : Type u_1} [Group G]
Goal: lowerCentralSeries G 0 = ⊤
-- lowerCentralSeries_one
@[simp]
theorem lowerCentralSeries_one : lowerCentralSeries G 1 = commutator G 
Arguments: {G : Type u_1} [Group G]
Goal: lowerCentralSeries G 1 = commutator G
-- mem_lowerCentralSeries_succ_iff
theorem mem_lowerCentralSeries_succ_iff (n : ℕ) (q : G) :
    q ∈ lowerCentralSeries G (n + 1) ↔
    q ∈ closure { x | ∃ p ∈ lowerCentralSeries G n,
                        ∃ q ∈ (⊤ : Subgroup G), p * q * p⁻¹ * q⁻¹ = x } 
Arguments: {G : Type u_1} [Group G] (n : ℕ) (q : G)
Goal: q ∈ lowerCentralSeries G (n + 1) ↔
  q ∈ Subgroup.closure {x | ∃ p ∈ lowerCentralSeries G n, ∃ q ∈ ⊤, p * q * p⁻¹ * q⁻¹ = x}
-- lowerCentralSeries_succ
theorem lowerCentralSeries_succ (n : ℕ) :
    lowerCentralSeries G (n + 1) =
      closure { x | ∃ p ∈ lowerCentralSeries G n, ∃ q ∈ (⊤ : Subgroup G), p * q * p⁻¹ * q⁻¹ = x } 
Arguments: {G : Type u_1} [Group G] (n : ℕ)
Goal: lowerCentralSeries G (n + 1) = Subgroup.closure {x | ∃ p ∈ lowerCentralSeries G n, ∃ q ∈ ⊤, p * q * p⁻¹ * q⁻¹ = x}
-- lowerCentralSeries_antitone
theorem lowerCentralSeries_antitone : Antitone (lowerCentralSeries G) 
Arguments: {G : Type u_1} [Group G]
Goal: Antitone (lowerCentralSeries G)
-- lowerCentralSeries_isDescendingCentralSeries
theorem lowerCentralSeries_isDescendingCentralSeries :
    IsDescendingCentralSeries (lowerCentralSeries G) 
Arguments: {G : Type u_1} [Group G]
Goal: IsDescendingCentralSeries (lowerCentralSeries G)
-- descending_central_series_ge_lower
theorem descending_central_series_ge_lower (H : ℕ → Subgroup G) (hH : IsDescendingCentralSeries H) :
    ∀ n : ℕ, lowerCentralSeries G n ≤ H n
  
Arguments: {G : Type u_1} [Group G] (H : ℕ → Subgroup G) (hH : IsDescendingCentralSeries H) (n : ℕ)
Goal: lowerCentralSeries G n ≤ H n
-- nilpotent_iff_lowerCentralSeries
theorem nilpotent_iff_lowerCentralSeries : IsNilpotent G ↔ ∃ n, lowerCentralSeries G n = ⊥ 
Arguments: {G : Type u_1} [Group G]
Goal: Group.IsNilpotent G ↔ ∃ n, lowerCentralSeries G n = ⊥
-- upperCentralSeries_nilpotencyClass
@[simp]
theorem upperCentralSeries_nilpotencyClass : upperCentralSeries G (Group.nilpotencyClass G) = ⊤ 
Arguments: {G : Type u_1} [Group G] [hG : Group.IsNilpotent G]
Goal: upperCentralSeries G (Group.nilpotencyClass G) = ⊤
-- upperCentralSeries_eq_top_iff_nilpotencyClass_le
theorem upperCentralSeries_eq_top_iff_nilpotencyClass_le {n : ℕ} :
    upperCentralSeries G n = ⊤ ↔ Group.nilpotencyClass G ≤ n 
Arguments: {G : Type u_1} [Group G] [hG : Group.IsNilpotent G] {n : ℕ}
Goal: upperCentralSeries G n = ⊤ ↔ Group.nilpotencyClass G ≤ n
-- least_ascending_central_series_length_eq_nilpotencyClass
theorem least_ascending_central_series_length_eq_nilpotencyClass :
    Nat.find ((nilpotent_iff_finite_ascending_central_series G).mp hG) =
    Group.nilpotencyClass G 
Arguments: {G : Type u_1} [Group G] [hG : Group.IsNilpotent G]
Goal: Nat.find ⋯ = Group.nilpotencyClass G
-- least_descending_central_series_length_eq_nilpotencyClass
theorem least_descending_central_series_length_eq_nilpotencyClass :
    Nat.find ((nilpotent_iff_finite_descending_central_series G).mp hG) =
    Group.nilpotencyClass G 
Arguments: {G : Type u_1} [Group G] [hG : Group.IsNilpotent G]
Goal: Nat.find ⋯ = Group.nilpotencyClass G
-- lowerCentralSeries_length_eq_nilpotencyClass
theorem lowerCentralSeries_length_eq_nilpotencyClass :
    Nat.find (nilpotent_iff_lowerCentralSeries.mp hG) = Group.nilpotencyClass (G := G) 
Arguments: {G : Type u_1} [Group G] [hG : Group.IsNilpotent G]
Goal: Nat.find ⋯ = Group.nilpotencyClass G
-- lowerCentralSeries_nilpotencyClass
@[simp]
theorem lowerCentralSeries_nilpotencyClass :
    lowerCentralSeries G (Group.nilpotencyClass G) = ⊥ 
Arguments: {G : Type u_1} [Group G] [hG : Group.IsNilpotent G]
Goal: lowerCentralSeries G (Group.nilpotencyClass G) = ⊥
-- lowerCentralSeries_eq_bot_iff_nilpotencyClass_le
theorem lowerCentralSeries_eq_bot_iff_nilpotencyClass_le {n : ℕ} :
    lowerCentralSeries G n = ⊥ ↔ Group.nilpotencyClass G ≤ n 
Arguments: {G : Type u_1} [Group G] [hG : Group.IsNilpotent G] {n : ℕ}
Goal: lowerCentralSeries G n = ⊥ ↔ Group.nilpotencyClass G ≤ n
-- lowerCentralSeries_map_subtype_le
theorem lowerCentralSeries_map_subtype_le (H : Subgroup G) (n : ℕ) :
    (lowerCentralSeries H n).map H.subtype ≤ lowerCentralSeries G n 
Arguments: {G : Type u_1} [Group G] (H : Subgroup G) (n : ℕ)
Goal: Subgroup.map H.subtype (lowerCentralSeries (↥H) n) ≤ lowerCentralSeries G n
-- Subgroup.nilpotencyClass_le
theorem Subgroup.nilpotencyClass_le (H : Subgroup G) [hG : IsNilpotent G] :
    Group.nilpotencyClass H ≤ Group.nilpotencyClass G 
Arguments: {G : Type u_1} [Group G] (H : Subgroup G) [hG : Group.IsNilpotent G]
Goal: Group.nilpotencyClass ↥H ≤ Group.nilpotencyClass G
-- upperCentralSeries.map
theorem upperCentralSeries.map {H : Type*} [Group H] {f : G →* H} (h : Function.Surjective f)
    (n : ℕ) : Subgroup.map f (upperCentralSeries G n) ≤ upperCentralSeries H n 
Arguments: {G : Type u_1} [Group G] {H : Type u_2} [Group H] {f : G →* H} (h : Function.Surjective ⇑f) (n : ℕ)
Goal: Subgroup.map f (upperCentralSeries G n) ≤ upperCentralSeries H n
-- lowerCentralSeries.map
theorem lowerCentralSeries.map {H : Type*} [Group H] (f : G →* H) (n : ℕ) :
    Subgroup.map f (lowerCentralSeries G n) ≤ lowerCentralSeries H n 
Arguments: {G : Type u_1} [Group G] {H : Type u_2} [Group H] (f : G →* H) (n : ℕ)
Goal: Subgroup.map f (lowerCentralSeries G n) ≤ lowerCentralSeries H n
-- lowerCentralSeries_succ_eq_bot
theorem lowerCentralSeries_succ_eq_bot {n : ℕ} (h : lowerCentralSeries G n ≤ center G) :
    lowerCentralSeries G (n + 1) = ⊥ 
Arguments: {G : Type u_1} [Group G] {n : ℕ} (h : lowerCentralSeries G n ≤ Subgroup.center G)
Goal: lowerCentralSeries G (n + 1) = ⊥
-- isNilpotent_of_ker_le_center
theorem isNilpotent_of_ker_le_center {H : Type*} [Group H] (f : G →* H) (hf1 : f.ker ≤ center G)
    (hH : IsNilpotent H) : IsNilpotent G 
Arguments: {G : Type u_1} [Group G] {H : Type u_2} [Group H] (f : G →* H) (hf1 : f.ker ≤ Subgroup.center G) (hH : Group.IsNilpotent H)
Goal: Group.IsNilpotent G
-- nilpotencyClass_le_of_ker_le_center
theorem nilpotencyClass_le_of_ker_le_center {H : Type*} [Group H] (f : G →* H)
    (hf1 : f.ker ≤ center G) (hH : IsNilpotent H) :
    Group.nilpotencyClass (hG := isNilpotent_of_ker_le_center f hf1 hH) ≤
      Group.nilpotencyClass H + 1 
Arguments: {G : Type u_1} [Group G] {H : Type u_2} [Group H] (f : G →* H) (hf1 : f.ker ≤ Subgroup.center G) (hH : Group.IsNilpotent H)
Goal: Group.nilpotencyClass G ≤ Group.nilpotencyClass H + 1
-- nilpotent_of_surjective
theorem nilpotent_of_surjective {G' : Type*} [Group G'] [h : IsNilpotent G] (f : G →* G')
    (hf : Function.Surjective f) : IsNilpotent G' 
Arguments: {G : Type u_1} [Group G] {G' : Type u_2} [Group G'] [h : Group.IsNilpotent G] (f : G →* G') (hf : Function.Surjective ⇑f)
Goal: Group.IsNilpotent G'
-- nilpotencyClass_le_of_surjective
theorem nilpotencyClass_le_of_surjective {G' : Type*} [Group G'] (f : G →* G')
    (hf : Function.Surjective f) [h : IsNilpotent G] :
    Group.nilpotencyClass (hG := nilpotent_of_surjective _ hf) ≤ Group.nilpotencyClass G 
Arguments: {G : Type u_1} [Group G] {G' : Type u_2} [Group G'] (f : G →* G') (hf : Function.Surjective ⇑f) [h : Group.IsNilpotent G]
Goal: Group.nilpotencyClass G' ≤ Group.nilpotencyClass G
-- nilpotent_of_mulEquiv
theorem nilpotent_of_mulEquiv {G' : Type*} [Group G'] [_h : IsNilpotent G] (f : G ≃* G') :
    IsNilpotent G' 
Arguments: {G : Type u_1} [Group G] {G' : Type u_2} [Group G'] [_h : Group.IsNilpotent G] (f : G ≃* G')
Goal: Group.IsNilpotent G'
-- nilpotencyClass_quotient_le
theorem nilpotencyClass_quotient_le (H : Subgroup G) [H.Normal] [_h : IsNilpotent G] :
    Group.nilpotencyClass (G ⧸ H) ≤ Group.nilpotencyClass G 
Arguments: {G : Type u_1} [Group G] (H : Subgroup G) [H.Normal] [_h : Group.IsNilpotent G]
Goal: Group.nilpotencyClass (G ⧸ H) ≤ Group.nilpotencyClass G
-- _private.Mathlib.GroupTheory.Nilpotent.0.comap_center_subst
private theorem comap_center_subst {H₁ H₂ : Subgroup G} [Normal H₁] [Normal H₂] (h : H₁ = H₂) :
    comap (mk' H₁) (center (G ⧸ H₁)) = comap (mk' H₂) (center (G ⧸ H₂)) 
Arguments: {G : Type u_1} [Group G] {H₁ H₂ : Subgroup G} [H₁.Normal] [H₂.Normal] (h : H₁ = H₂)
Goal: Subgroup.comap (QuotientGroup.mk' H₁) (Subgroup.center (G ⧸ H₁)) =
  Subgroup.comap (QuotientGroup.mk' H₂) (Subgroup.center (G ⧸ H₂))
-- comap_upperCentralSeries_quotient_center
theorem comap_upperCentralSeries_quotient_center (n : ℕ) :
    comap (mk' (center G)) (upperCentralSeries (G ⧸ center G) n) = upperCentralSeries G n.succ 
Arguments: {G : Type u_1} [Group G] (n : ℕ)
Goal: Subgroup.comap (QuotientGroup.mk' (Subgroup.center G)) (upperCentralSeries (G ⧸ Subgroup.center G) n) =
  upperCentralSeries G n.succ
-- nilpotencyClass_zero_iff_subsingleton
theorem nilpotencyClass_zero_iff_subsingleton [IsNilpotent G] :
    Group.nilpotencyClass G = 0 ↔ Subsingleton G 
Arguments: {G : Type u_1} [Group G] [Group.IsNilpotent G]
Goal: Group.nilpotencyClass G = 0 ↔ Subsingleton G
-- nilpotencyClass_quotient_center
theorem nilpotencyClass_quotient_center [hH : IsNilpotent G] :
    Group.nilpotencyClass (G ⧸ center G) = Group.nilpotencyClass G - 1 
Arguments: {G : Type u_1} [Group G] [hH : Group.IsNilpotent G]
Goal: Group.nilpotencyClass (G ⧸ Subgroup.center G) = Group.nilpotencyClass G - 1
-- nilpotencyClass_eq_quotient_center_plus_one
theorem nilpotencyClass_eq_quotient_center_plus_one [hH : IsNilpotent G] [Nontrivial G] :
    Group.nilpotencyClass G = Group.nilpotencyClass (G ⧸ center G) + 1 
Arguments: {G : Type u_1} [Group G] [hH : Group.IsNilpotent G] [Nontrivial G]
Goal: Group.nilpotencyClass G = Group.nilpotencyClass (G ⧸ Subgroup.center G) + 1
-- of_quotient_center_nilpotent
theorem of_quotient_center_nilpotent (h : IsNilpotent (G ⧸ center G)) : IsNilpotent G 
Arguments: {G : Type u_1} [Group G] (h : Group.IsNilpotent (G ⧸ Subgroup.center G))
Goal: Group.IsNilpotent G
-- nilpotent_center_quotient_ind
@[elab_as_elim]
theorem nilpotent_center_quotient_ind {P : ∀ (G) [Group G] [IsNilpotent G], Prop}
    (G : Type*) [Group G] [IsNilpotent G]
    (hbase : ∀ (G) [Group G] [Subsingleton G], P G)
    (hstep : ∀ (G) [Group G] [IsNilpotent G], P (G ⧸ center G) → P G) : P G 
Arguments: {P : (G : Type u_2) → [inst : Group G] → [inst : Group.IsNilpotent G] → Prop} (G : Type u_2) [Group G] [Group.IsNilpotent G] (hbase : ∀ (G : Type u_2) [inst : Group G] [inst_1 : Subsingleton G], P G) (hstep : ∀ (G : Type u_2) [inst : Group G] [inst_1 : Group.IsNilpotent G], P (G ⧸ Subgroup.center G) → P G)
Goal: P G
-- derived_le_lower_central
theorem derived_le_lower_central (n : ℕ) : derivedSeries G n ≤ lowerCentralSeries G n 
Arguments: {G : Type u_1} [Group G] (n : ℕ)
Goal: derivedSeries G n ≤ lowerCentralSeries G n
-- CommGroup.nilpotencyClass_le_one
theorem CommGroup.nilpotencyClass_le_one {G : Type*} [CommGroup G] :
    Group.nilpotencyClass G ≤ 1 
Arguments: {G : Type u_2} [CommGroup G]
Goal: Group.nilpotencyClass G ≤ 1
-- lowerCentralSeries_prod
theorem lowerCentralSeries_prod (n : ℕ) :
    lowerCentralSeries (G₁ × G₂) n = (lowerCentralSeries G₁ n).prod (lowerCentralSeries G₂ n) 
Arguments: {G₁ : Type u_2} {G₂ : Type u_3} [Group G₁] [Group G₂] (n : ℕ)
Goal: lowerCentralSeries (G₁ × G₂) n = (lowerCentralSeries G₁ n).prod (lowerCentralSeries G₂ n)
-- nilpotencyClass_prod
theorem nilpotencyClass_prod [IsNilpotent G₁] [IsNilpotent G₂] :
    Group.nilpotencyClass (G₁ × G₂) =
    max (Group.nilpotencyClass G₁) (Group.nilpotencyClass G₂) 
Arguments: {G₁ : Type u_2} {G₂ : Type u_3} [Group G₁] [Group G₂] [Group.IsNilpotent G₁] [Group.IsNilpotent G₂]
Goal: Group.nilpotencyClass (G₁ × G₂) = max (Group.nilpotencyClass G₁) (Group.nilpotencyClass G₂)
-- lowerCentralSeries_pi_le
theorem lowerCentralSeries_pi_le (n : ℕ) :
    lowerCentralSeries (∀ i, Gs i) n ≤ Subgroup.pi Set.univ
      fun i => lowerCentralSeries (Gs i) n 
Arguments: {η : Type u_2} {Gs : η → Type u_3} [(i : η) → Group (Gs i)] (n : ℕ)
Goal: lowerCentralSeries ((i : η) → Gs i) n ≤ Subgroup.pi Set.univ fun i => lowerCentralSeries (Gs i) n
-- isNilpotent_pi_of_bounded_class
theorem isNilpotent_pi_of_bounded_class [∀ i, IsNilpotent (Gs i)] (n : ℕ)
    (h : ∀ i, Group.nilpotencyClass (Gs i) ≤ n) : IsNilpotent (∀ i, Gs i) 
Arguments: {η : Type u_2} {Gs : η → Type u_3} [(i : η) → Group (Gs i)] [∀ (i : η), Group.IsNilpotent (Gs i)] (n : ℕ) (h : ∀ (i : η), Group.nilpotencyClass (Gs i) ≤ n)
Goal: Group.IsNilpotent ((i : η) → Gs i)
-- lowerCentralSeries_pi_of_finite
theorem lowerCentralSeries_pi_of_finite [Finite η] (n : ℕ) :
    lowerCentralSeries (∀ i, Gs i) n = Subgroup.pi Set.univ
      fun i => lowerCentralSeries (Gs i) n 
Arguments: {η : Type u_2} {Gs : η → Type u_3} [(i : η) → Group (Gs i)] [Finite η] (n : ℕ)
Goal: lowerCentralSeries ((i : η) → Gs i) n = Subgroup.pi Set.univ fun i => lowerCentralSeries (Gs i) n
-- nilpotencyClass_pi
theorem nilpotencyClass_pi [Fintype η] [∀ i, IsNilpotent (Gs i)] :
    Group.nilpotencyClass (∀ i, Gs i) = Finset.univ.sup fun i => Group.nilpotencyClass (Gs i) 
Arguments: {η : Type u_2} {Gs : η → Type u_3} [(i : η) → Group (Gs i)] [Fintype η] [∀ (i : η), Group.IsNilpotent (Gs i)]
Goal: Group.nilpotencyClass ((i : η) → Gs i) = Finset.univ.sup fun i => Group.nilpotencyClass (Gs i)
-- normalizerCondition_of_isNilpotent
theorem normalizerCondition_of_isNilpotent [h : IsNilpotent G] : NormalizerCondition G 
Arguments: {G : Type u_1} [Group G] [h : Group.IsNilpotent G]
Goal: NormalizerCondition G
-- IsPGroup.isNilpotent
theorem IsPGroup.isNilpotent [Finite G] {p : ℕ} [hp : Fact (Nat.Prime p)] (h : IsPGroup p G) :
    IsNilpotent G 
Arguments: {G : Type u_1} [hG : Group G] [Finite G] {p : ℕ} [hp : Fact (Nat.Prime p)] (h : IsPGroup p G)
Goal: Group.IsNilpotent G
-- isNilpotent_of_product_of_sylow_group
theorem isNilpotent_of_product_of_sylow_group
    (e : (∀ p : (Nat.card G).primeFactors, ∀ P : Sylow p G, (↑P : Subgroup G)) ≃* G) :
    IsNilpotent G 
Arguments: {G : Type u_1} [hG : Group G] [Finite G] (e : ((p : { x // x ∈ (Nat.card G).primeFactors }) → (P : Sylow (↑p) G) → ↥↑P) ≃* G)
Goal: Group.IsNilpotent G
-- isNilpotent_of_finite_tfae
theorem isNilpotent_of_finite_tfae :
    List.TFAE
      [IsNilpotent G, NormalizerCondition G, ∀ H : Subgroup G, IsCoatom H → H.Normal,
        ∀ (p : ℕ) (_hp : Fact p.Prime) (P : Sylow p G), (↑P : Subgroup G).Normal,
        Nonempty
          ((∀ p : (Nat.card G).primeFactors, ∀ P : Sylow p G, (↑P : Subgroup G)) ≃* G)] 
Arguments: {G : Type u_1} [hG : Group G] [Finite G]
Goal: [Group.IsNilpotent G, NormalizerCondition G, ∀ (H : Subgroup G), IsCoatom H → H.Normal,
    ∀ (p : ℕ), Fact (Nat.Prime p) → ∀ (P : Sylow p G), (↑P).Normal,
    Nonempty (((p : { x // x ∈ (Nat.card G).primeFactors }) → (P : Sylow (↑p) G) → ↥↑P) ≃* G)].TFAE
-- LawfulFix.fix_eq
class LawfulFix (α : Type*) [OmegaCompletePartialOrder α] extends Fix α where
  fix_eq : ∀ {f : α →o α}, Continuous f → Fix.fix f = f (Fix.fix f)
Arguments: {α : Type u_3} [OmegaCompletePartialOrder α] [self : LawfulFix α] {f : α →o α}
Goal: OmegaCompletePartialOrder.Continuous f → Fix.fix ⇑f = f (Fix.fix ⇑f)
-- LawfulFix.fix_eq'
theorem LawfulFix.fix_eq' {α} [OmegaCompletePartialOrder α] [LawfulFix α] {f : α → α}
    (hf : Continuous' f) : Fix.fix f = f (Fix.fix f) 
Arguments: {α : Type u_3} [OmegaCompletePartialOrder α] [LawfulFix α] {f : α → α} (hf : OmegaCompletePartialOrder.Continuous' f)
Goal: Fix.fix f = f (Fix.fix f)
-- Part.Fix.approx_mono'
theorem approx_mono' {i : ℕ} : Fix.approx f i ≤ Fix.approx f (succ i) 
Arguments: {α : Type u_1} {β : α → Type u_2} (f : ((a : α) → Part (β a)) →o (a : α) → Part (β a)) {i : ℕ}
Goal: Part.Fix.approx (⇑f) i ≤ Part.Fix.approx (⇑f) i.succ
-- Part.Fix.approx_mono
theorem approx_mono ⦃i j : ℕ⦄ (hij : i ≤ j) : approx f i ≤ approx f j 
Arguments: {α : Type u_1} {β : α → Type u_2} (f : ((a : α) → Part (β a)) →o (a : α) → Part (β a)) ⦃i j : ℕ⦄ (hij : i ≤ j)
Goal: Part.Fix.approx (⇑f) i ≤ Part.Fix.approx (⇑f) j
-- Part.Fix.mem_iff
theorem mem_iff (a : α) (b : β a) : b ∈ Part.fix f a ↔ ∃ i, b ∈ approx f i a 
Arguments: {α : Type u_1} {β : α → Type u_2} (f : ((a : α) → Part (β a)) →o (a : α) → Part (β a)) (a : α) (b : β a)
Goal: b ∈ Part.fix (⇑f) a ↔ ∃ i, b ∈ Part.Fix.approx (⇑f) i a
-- Part.Fix.approx_le_fix
theorem approx_le_fix (i : ℕ) : approx f i ≤ Part.fix f 
Arguments: {α : Type u_1} {β : α → Type u_2} (f : ((a : α) → Part (β a)) →o (a : α) → Part (β a)) (i : ℕ)
Goal: Part.Fix.approx (⇑f) i ≤ Part.fix ⇑f
-- Part.Fix.exists_fix_le_approx
theorem exists_fix_le_approx (x : α) : ∃ i, Part.fix f x ≤ approx f i x 
Arguments: {α : Type u_1} {β : α → Type u_2} (f : ((a : α) → Part (β a)) →o (a : α) → Part (β a)) (x : α)
Goal: ∃ i, Part.fix (⇑f) x ≤ Part.Fix.approx (⇑f) i x
-- Part.Fix.le_f_of_mem_approx
theorem le_f_of_mem_approx {x} : x ∈ approxChain f → x ≤ f x 
Arguments: {α : Type u_1} {β : α → Type u_2} (f : ((a : α) → Part (β a)) →o (a : α) → Part (β a)) {x : (a : α) → Part (β a)}
Goal: x ∈ Part.Fix.approxChain f → x ≤ f x
-- Part.Fix.approx_mem_approxChain
theorem approx_mem_approxChain {i} : approx f i ∈ approxChain f 
Arguments: {α : Type u_1} {β : α → Type u_2} (f : ((a : α) → Part (β a)) →o (a : α) → Part (β a)) {i : ℕ}
Goal: Part.Fix.approx (⇑f) i ∈ Part.Fix.approxChain f
-- Part.fix_eq_ωSup
theorem fix_eq_ωSup : Part.fix f = ωSup (approxChain f) 
Arguments: {α : Type u_1} {β : α → Type u_2} (f : ((a : α) → Part (β a)) →o (a : α) → Part (β a))
Goal: Part.fix ⇑f = OmegaCompletePartialOrder.ωSup (Part.Fix.approxChain f)
-- Part.fix_le
theorem fix_le {X : (a : _) → Part <| β a} (hX : f X ≤ X) : Part.fix f ≤ X 
Arguments: {α : Type u_1} {β : α → Type u_2} (f : ((a : α) → Part (β a)) →o (a : α) → Part (β a)) {X : (a : α) → Part (β a)} (hX : f X ≤ X)
Goal: Part.fix ⇑f ≤ X
-- Part.fix_eq
theorem fix_eq (hc : Continuous f) : Part.fix f = f (Part.fix f) 
Arguments: {α : Type u_1} {β : α → Type u_2} {f : ((a : α) → Part (β a)) →o (a : α) → Part (β a)} (hc : OmegaCompletePartialOrder.Continuous f)
Goal: Part.fix ⇑f = f (Part.fix ⇑f)
-- Part.toUnitMono_coe
@[simps]
def toUnitMono (f : Part α →o Part α) : (Unit → Part α) →o Unit → Part α 
Arguments: {α : Type u_1} (f : Part α →o Part α) (x : Unit → Part α) (u : Unit)
Goal: (Part.toUnitMono f) x u = f (x u)
-- Part.to_unit_cont
theorem to_unit_cont (f : Part α →o Part α) (hc : Continuous f) : Continuous (toUnitMono f)
  
Arguments: {α : Type u_1} (f : Part α →o Part α) (hc : OmegaCompletePartialOrder.Continuous f)
Goal: OmegaCompletePartialOrder.Continuous (Part.toUnitMono f)
-- Pi.monotoneCurry_coe
@[simps]
def monotoneCurry [(x y : _) → Preorder <| γ x y] :
    (∀ x : Σa, β a, γ x.1 x.2) →o ∀ (a) (b : β a), γ a b 
Arguments: (α : Type u_1) (β : α → Type u_2) (γ : (a : α) → β a → Type u_3) [(x : α) → (y : β x) → Preorder (γ x y)] (f : (x : (a : α) × β a) → γ x.fst x.snd) (x : α) (y : β x)
Goal: (Pi.monotoneCurry α β γ) f x y = Sigma.curry f x y
-- Pi.monotoneUncurry_coe
@[simps]
def monotoneUncurry [(x y : _) → Preorder <| γ x y] :
    (∀ (a) (b : β a), γ a b) →o ∀ x : Σa, β a, γ x.1 x.2 
Arguments: (α : Type u_1) (β : α → Type u_2) (γ : (a : α) → β a → Type u_3) [(x : α) → (y : β x) → Preorder (γ x y)] (f : (x : α) → (y : β x) → γ x y) (x : Sigma β)
Goal: (Pi.monotoneUncurry α β γ) f x = Sigma.uncurry f x