ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Mathlib/CategoryTheory/Sites/Plus.lean
C : Type u
inst✝³ : Category.{v, u} C
J : GrothendieckTopology C
D : Type w
inst✝² : Category.{max v u, w} D
inst✝¹ : ∀ (P : Cᵒᵖ ⥤ D) (X : C) (S : J.Cover X), HasMultiequalizer (S.index P)
P : Cᵒᵖ ⥤ D
inst✝ : ∀ (X : C), HasColimitsOfShape (J.Cover X)ᵒᵖ D
X : Cᵒᵖ
S : (J.Cover (unop X))ᵒᵖ
e : unop S ⟶ ⊤ := homOfLE ⋯
I : ((unop S).index (J.plusObj P)).L
ee : (J.pullback (Cover.Arrow.map I e).f).obj (unop S) ⟶ ⊤ := homOfLE ⋯
II : ((unop (op ((J.pullback (Cover.Arrow.map I e).f).obj (unop S)))).index P).L

⊢ ((Multiequalizer.ι ((unop S).index P) I ≫ ⊤.toMultiequalizer P) ≫ (J.diagram P I.Y).map ee.op) ≫ Multiequalizer.ι ((unop (op ((J.pullback (Cover.Arrow.map I e).f).obj (unop S)))).index P) II = Multiequalizer.lift ((unop ((J.pullback (Cover.Arrow.map I e.op.unop).f.op.unop).op.obj S)).index P) ((J.diagram P (unop X)).obj S) (fun I_1 => Multiequalizer.ι ((unop S).index P) (Cover.Arrow.base I_1)) ⋯ ≫ Multiequalizer.ι ((unop (op ((J.pullback (Cover.Arrow.map I e).f).obj (unop S)))).index P) II
-- Mathlib/CategoryTheory/Sites/Plus.lean
C : Type u
inst✝³ : Category.{v, u} C
J : GrothendieckTopology C
D : Type w
inst✝² : Category.{max v u, w} D
inst✝¹ : ∀ (P : Cᵒᵖ ⥤ D) (X : C) (S : J.Cover X), HasMultiequalizer (S.index P)
P : Cᵒᵖ ⥤ D
inst✝ : ∀ (X : C), HasColimitsOfShape (J.Cover X)ᵒᵖ D
X : Cᵒᵖ
S : (J.Cover (unop X))ᵒᵖ
e : unop S ⟶ ⊤ := homOfLE ⋯
I : ((unop S).index (J.plusObj P)).L
ee : (J.pullback (Cover.Arrow.map I e).f).obj (unop S) ⟶ ⊤ := homOfLE ⋯
II : ((unop (op ((J.pullback (Cover.Arrow.map I e).f).obj (unop S)))).index P).L
e_1✝ : ((J.diagram P (unop X)).obj S ⟶ ((unop (op ((J.pullback (Cover.Arrow.map I e).f).obj (unop S)))).index P).left II) = (multiequalizer ((unop S).index P) ⟶ ((unop S).index P).right { fst := I, snd := Cover.Arrow.base II, r := { Z := II.Y, g₁ := II.f, g₂ := 𝟙 II.Y, w := ⋯ } })

⊢ ((Multiequalizer.ι ((unop S).index P) I ≫ ⊤.toMultiequalizer P) ≫ (J.diagram P I.Y).map ee.op) ≫ Multiequalizer.ι ((unop (op ((J.pullback (Cover.Arrow.map I e).f).obj (unop S)))).index P) II = Multiequalizer.ι ((unop S).index P) (((unop S).index P).fstTo { fst := I, snd := Cover.Arrow.base II, r := { Z := II.Y, g₁ := II.f, g₂ := 𝟙 II.Y, w := ⋯ } }) ≫ ((unop S).index P).fst { fst := I, snd := Cover.Arrow.base II, r := { Z := II.Y, g₁ := II.f, g₂ := 𝟙 II.Y, w := ⋯ } }
-- Mathlib/CategoryTheory/Sites/Plus.lean
C : Type u
inst✝³ : Category.{v, u} C
J : GrothendieckTopology C
D : Type w
inst✝² : Category.{max v u, w} D
inst✝¹ : ∀ (P : Cᵒᵖ ⥤ D) (X : C) (S : J.Cover X), HasMultiequalizer (S.index P)
P : Cᵒᵖ ⥤ D
inst✝ : ∀ (X : C), HasColimitsOfShape (J.Cover X)ᵒᵖ D
X : Cᵒᵖ
S : (J.Cover (unop X))ᵒᵖ
e : unop S ⟶ ⊤ := homOfLE ⋯
I : ((unop S).index (J.plusObj P)).L
ee : (J.pullback (Cover.Arrow.map I e).f).obj (unop S) ⟶ ⊤ := homOfLE ⋯
II : ((unop (op ((J.pullback (Cover.Arrow.map I e).f).obj (unop S)))).index P).L
e_1✝ : ((J.diagram P (unop X)).obj S ⟶ ((unop (op ((J.pullback (Cover.Arrow.map I e).f).obj (unop S)))).index P).left II) = (multiequalizer ((unop S).index P) ⟶ ((unop S).index P).right { fst := I, snd := Cover.Arrow.base II, r := { Z := II.Y, g₁ := II.f, g₂ := 𝟙 II.Y, w := ⋯ } })

⊢ Multiequalizer.lift ((unop ((J.pullback (Cover.Arrow.map I e.op.unop).f.op.unop).op.obj S)).index P) ((J.diagram P (unop X)).obj S) (fun I_1 => Multiequalizer.ι ((unop S).index P) (Cover.Arrow.base I_1)) ⋯ ≫ Multiequalizer.ι ((unop (op ((J.pullback (Cover.Arrow.map I e).f).obj (unop S)))).index P) II = Multiequalizer.ι ((unop S).index P) (((unop S).index P).sndTo { fst := I, snd := Cover.Arrow.base II, r := { Z := II.Y, g₁ := II.f, g₂ := 𝟙 II.Y, w := ⋯ } }) ≫ ((unop S).index P).snd { fst := I, snd := Cover.Arrow.base II, r := { Z := II.Y, g₁ := II.f, g₂ := 𝟙 II.Y, w := ⋯ } }
-- Mathlib/Data/List/Infix.lean
α : Type u_1
β : Type u_2
l l₁ l₂ l₃ : List α
a b : α
m n : ℕ
L : List (List (Option α))
hm : m < L.length

⊢ take m L <+: take n L ↔ m ≤ n
-- Mathlib/Data/List/Infix.lean
α : Type u_1
β : Type u_2
l l₁ l₂ l₃ : List α
a b : α
m n : ℕ
L : List (List (Option α))
hm : m < L.length

⊢ take m L = take (min m L.length) (take n L) ↔ m ≤ n
-- Mathlib/Analysis/Normed/Group/Uniform.lean
𝓕 : Type u_1
α : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : SeminormedCommGroup E
inst✝ : SeminormedCommGroup F
a✝ a₁ a₂ b✝ b₁ b₂ : E
r r₁ r₂ : ℝ
a b : E

⊢ dist a (a * b) = ‖b‖
-- Mathlib/AlgebraicTopology/SimplexCategory.lean
x : SimplexCategory
i : x ⟶ x
inst✝ : Epi i

⊢ i = 𝟙 x
-- Mathlib/AlgebraicTopology/SimplexCategory.lean
x : SimplexCategory
i : x ⟶ x
inst✝ : Epi i

⊢ IsIso i
-- Mathlib/AlgebraicTopology/SimplexCategory.lean
x : SimplexCategory
i : x ⟶ x
inst✝ : Epi i

⊢ Function.Bijective (Hom.toOrderHom i).toFun
-- Mathlib/AlgebraicTopology/SimplexCategory.lean
x : SimplexCategory
i : x ⟶ x
inst✝ : Epi i

⊢ Function.Bijective ⇑(Hom.toOrderHom i)
-- Mathlib/AlgebraicTopology/SimplexCategory.lean
x : SimplexCategory
i : x ⟶ x
inst✝ : Epi i

⊢ Epi i
-- Mathlib/Analysis/SpecificLimits/Normed.lean
α : Type u_1
β : Type u_2
ι : Type u_3
E : Type u_4
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
b : ℝ
f : ℕ → ℝ
z : ℕ → E
hfa : Monotone f
hf0 : Tendsto f atTop (𝓝 0)

⊢ CauchySeq fun n => ∑ i ∈ Finset.range n, (-1) ^ i * f i
-- Mathlib/Analysis/SpecificLimits/Normed.lean
α : Type u_1
β : Type u_2
ι : Type u_3
E : Type u_4
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
b : ℝ
f : ℕ → ℝ
z : ℕ → E
hfa : Monotone f
hf0 : Tendsto f atTop (𝓝 0)

⊢ CauchySeq fun n => ∑ x ∈ Finset.range n, f x * (-1) ^ x
-- .lake/packages/batteries/Batteries/Data/String/Lemmas.lean
it : Iterator

⊢ ValidFor it.s.data.reverse [] { s := it.s, i := it.s.endPos }
-- Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
i : Free.ChooseBasisIndex ℤ (𝓞 K)

⊢ (latticeBasis K) i = (canonicalEmbedding K) ((integralBasis K) i)
-- Mathlib/RingTheory/Polynomial/ScaleRoots.lean
R : Type u_1
S : Type u_2
A : Type u_3
K : Type u_4
inst✝³ : Semiring S
inst✝² : CommSemiring R
inst✝¹ : Semiring A
inst✝ : Field K
p : R[X]
r s : R
n✝ : ℕ

⊢ (p.scaleRoots (r * s)).coeff n✝ = ((p.scaleRoots r).scaleRoots s).coeff n✝
-- Mathlib/Topology/DiscreteSubset.lean
X : Type u_1
Y : Type u_2
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
f : X → Y
inst✝¹ : T1Space X
inst✝ : WeaklyLocallyCompactSpace Y
hf' : Continuous f
hf : Tendsto f cofinite (cocompact Y)

⊢ DiscreteTopology X
-- Mathlib/Topology/DiscreteSubset.lean
X : Type u_1
Y : Type u_2
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
f : X → Y
inst✝¹ : T1Space X
inst✝ : WeaklyLocallyCompactSpace Y
hf' : Continuous f
hf : Tendsto f cofinite (cocompact Y)
x : X

⊢ IsOpen {x}
-- Mathlib/Topology/DiscreteSubset.lean
X : Type u_1
Y : Type u_2
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
f : X → Y
inst✝¹ : T1Space X
inst✝ : WeaklyLocallyCompactSpace Y
hf' : Continuous f
hf : Tendsto f cofinite (cocompact Y)
x : X
K : Set Y
hK : IsCompact K
hK' : K ∈ 𝓝 (f x)

⊢ IsOpen {x}
-- Mathlib/Topology/DiscreteSubset.lean
X : Type u_1
Y : Type u_2
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
f : X → Y
inst✝¹ : T1Space X
inst✝ : WeaklyLocallyCompactSpace Y
hf' : Continuous f
hf : Tendsto f cofinite (cocompact Y)
x : X
K : Set Y
hK : IsCompact K
hK' : K ∈ 𝓝 (f x)
U : Set Y
hU₁ : U ⊆ K
hU₂ : IsOpen U
hU₃ : f x ∈ U

⊢ IsOpen {x}
-- Mathlib/Topology/DiscreteSubset.lean
X : Type u_1
Y : Type u_2
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
f : X → Y
inst✝¹ : T1Space X
inst✝ : WeaklyLocallyCompactSpace Y
hf' : Continuous f
hf : Tendsto f cofinite (cocompact Y)
x : X
K : Set Y
hK : IsCompact K
hK' : K ∈ 𝓝 (f x)
U : Set Y
hU₁ : U ⊆ K
hU₂ : IsOpen U
hU₃ : f x ∈ U
hU₄ : (f ⁻¹' U).Finite

⊢ IsOpen {x}
-- Mathlib/Topology/NoetherianSpace.lean
α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : NoetherianSpace α

⊢ (irreducibleComponents α).Finite
-- Mathlib/Topology/NoetherianSpace.lean
α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : NoetherianSpace α
S : Set (Set α)
hSf : S.Finite
hSc : ∀ t ∈ S, IsClosed t
hSi : ∀ t ∈ S, IsIrreducible t
hSU : Set.univ = ⋃₀ S

⊢ (irreducibleComponents α).Finite
-- Mathlib/Topology/NoetherianSpace.lean
α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : NoetherianSpace α
S : Set (Set α)
hSf : S.Finite
hSc : ∀ t ∈ S, IsClosed t
hSi : ∀ t ∈ S, IsIrreducible t
hSU : Set.univ = ⋃₀ S
s : Set α
hs : s ∈ irreducibleComponents α

⊢ s ∈ S
-- Mathlib/Topology/NoetherianSpace.lean
α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : NoetherianSpace α
s : Set α
hs : s ∈ irreducibleComponents α
S : Finset (Set α)
hSc : ∀ t ∈ ↑S, IsClosed t
hSi : ∀ t ∈ ↑S, IsIrreducible t
hSU : Set.univ = ⋃₀ ↑S

⊢ s ∈ ↑S
-- Mathlib/Topology/NoetherianSpace.lean
α : Type u_1
β : Type u_2
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : NoetherianSpace α
s : Set α
hs : s ∈ irreducibleComponents α
S : Finset (Set α)
hSc : ∀ t ∈ ↑S, IsClosed t
hSi : ∀ t ∈ ↑S, IsIrreducible t
hSU : Set.univ = ⋃₀ ↑S
t : Set α
htS : t ∈ S
ht : s ⊆ t

⊢ s ∈ ↑S
-- Mathlib/Topology/FiberBundle/Constructions.lean
B : Type u_1
inst✝⁶ : TopologicalSpace B
F₁ : Type u_2
inst✝⁵ : TopologicalSpace F₁
E₁ : B → Type u_3
inst✝⁴ : TopologicalSpace (TotalSpace F₁ E₁)
F₂ : Type u_4
inst✝³ : TopologicalSpace F₂
E₂ : B → Type u_5
inst✝² : TopologicalSpace (TotalSpace F₂ E₂)
e₁ : Trivialization F₁ TotalSpace.proj
e₂ : Trivialization F₂ TotalSpace.proj
inst✝¹ : (x : B) → Zero (E₁ x)
inst✝ : (x : B) → Zero (E₂ x)
x : B
v₁ : E₁ x
v₂ : E₂ x
h₁ : x ∈ e₁.baseSet
h₂ : x ∈ e₂.baseSet

⊢ invFun' e₁ e₂ (toFun' e₁ e₂ { proj := x, snd := (v₁, v₂) }) = { proj := x, snd := (v₁, v₂) }
-- Mathlib/Data/Nat/Cast/Defs.lean
R : Type u_1
inst✝ : AddMonoidWithOne R

⊢ 3 + 1 = 4
-- Mathlib/Data/Nat/Cast/Defs.lean
R : Type u_1
inst✝ : AddMonoidWithOne R

⊢ ↑(1 + 1 + 1 + 1) = 4
-- Mathlib/Data/Nat/Cast/Defs.lean
R : Type u_1
inst✝ : AddMonoidWithOne R

⊢ 1 + 1 + 1 + 1 = 4
-- Mathlib/RingTheory/Kaehler/CotangentComplex.lean
R : Type u
S : Type v
inst✝² : CommRing R
inst✝¹ : CommRing S
inst✝ : Algebra R S
P : Generators R S
r : S
x : P.Ring
i : P.vars

⊢ (P.cotangentSpaceBasis.repr (r ⊗ₜ[P.Ring] (D R P.Ring) x)) i = r * (aeval P.val) ((pderiv i) x)
-- Mathlib/Analysis/Asymptotics/Asymptotics.lean
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedAddGroup E'''
inst✝² : SeminormedRing R'
inst✝¹ : NormedDivisionRing 𝕜
inst✝ : NormedDivisionRing 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
ι : Type u_17
A : ι → α → E'
C : ι → ℝ
s : Finset ι
h : ∀ i ∈ s, A i =O[l] g

⊢ (fun x => ∑ i ∈ s, A i x) =O[l] g
-- Mathlib/Analysis/Asymptotics/Asymptotics.lean
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedAddGroup E'''
inst✝² : SeminormedRing R'
inst✝¹ : NormedDivisionRing 𝕜
inst✝ : NormedDivisionRing 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
ι : Type u_17
A : ι → α → E'
C : ι → ℝ
s : Finset ι
h : ∀ i ∈ s, ∃ c, IsBigOWith c l (A i) g

⊢ ∃ c, IsBigOWith c l (fun x => ∑ i ∈ s, A i x) g
-- Mathlib/Analysis/Asymptotics/Asymptotics.lean
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedAddGroup E'''
inst✝² : SeminormedRing R'
inst✝¹ : NormedDivisionRing 𝕜
inst✝ : NormedDivisionRing 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
ι : Type u_17
A : ι → α → E'
C✝ : ι → ℝ
s : Finset ι
C : ι → ℝ
hC : ∀ i ∈ s, IsBigOWith (C i) l (A i) g

⊢ ∃ c, IsBigOWith c l (fun x => ∑ i ∈ s, A i x) g
-- Mathlib/Algebra/Polynomial/Monic.lean
R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝¹ : Semiring R
p q r : R[X]
inst✝ : Semiring S
f : R →+* S
hp : p.Monic
a✝ : Nontrivial S

⊢ (Polynomial.map f p).leadingCoeff = 1
-- Mathlib/Algebra/Polynomial/Monic.lean
R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝¹ : Semiring R
p q r : R[X]
inst✝ : Semiring S
f : R →+* S
hp : p.Monic
a✝ : Nontrivial S
this : f p.leadingCoeff ≠ 0

⊢ (Polynomial.map f p).leadingCoeff = 1
-- Mathlib/Algebra/Polynomial/Monic.lean
R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝¹ : Semiring R
p q r : R[X]
inst✝ : Semiring S
f : R →+* S
hp : p.Monic
a✝ : Nontrivial S
this : f p.leadingCoeff ≠ 0

⊢ f (p.coeff (Polynomial.map f p).natDegree) = 1
-- Mathlib/Algebra/Polynomial/Monic.lean
R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝¹ : Semiring R
p q r : R[X]
inst✝ : Semiring S
f : R →+* S
hp : p.Monic
a✝ : Nontrivial S
this : f p.leadingCoeff ≠ 0

⊢ p.coeff (Polynomial.map f p).natDegree = 1
-- Mathlib/NumberTheory/Zsqrtd/Basic.lean
d : ℕ
a b c : ℤ√↑d
h : c + a ≤ c + b

⊢ a ≤ b
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α

⊢ ∃ P, P.IsEquipartition ∧ l ≤ P.parts.card ∧ P.parts.card ≤ bound ε l ∧ P.IsUniform G ε
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : Fintype.card α ≤ bound ε l

⊢ ∃ P, P.IsEquipartition ∧ l ≤ P.parts.card ∧ P.parts.card ≤ bound ε l ∧ P.IsUniform G ε
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α

⊢ ∃ P, P.IsEquipartition ∧ l ≤ P.parts.card ∧ P.parts.card ≤ bound ε l ∧ P.IsUniform G ε
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α
t : ℕ := initialBound ε l

⊢ ∃ P, P.IsEquipartition ∧ l ≤ P.parts.card ∧ P.parts.card ≤ bound ε l ∧ P.IsUniform G ε
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α
t : ℕ := initialBound ε l
htα : t ≤ univ.card

⊢ ∃ P, P.IsEquipartition ∧ l ≤ P.parts.card ∧ P.parts.card ≤ bound ε l ∧ P.IsUniform G ε
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α
t : ℕ := initialBound ε l
htα : t ≤ univ.card
dum : Finpartition univ
hdum₁ : dum.IsEquipartition
hdum₂ : dum.parts.card = initialBound ε l

⊢ ∃ P, P.IsEquipartition ∧ l ≤ P.parts.card ∧ P.parts.card ≤ bound ε l ∧ P.IsUniform G ε
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α
t : ℕ := initialBound ε l
htα : t ≤ univ.card
dum : Finpartition univ
hdum₁ : dum.IsEquipartition
hdum₂ : dum.parts.card = initialBound ε l
hε₁ : 1 ≤ ε

⊢ ∃ P, P.IsEquipartition ∧ l ≤ P.parts.card ∧ P.parts.card ≤ bound ε l ∧ P.IsUniform G ε
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α
t : ℕ := initialBound ε l
htα : t ≤ univ.card
dum : Finpartition univ
hdum₁ : dum.IsEquipartition
hdum₂ : dum.parts.card = initialBound ε l
hε₁ : ε ≤ 1

⊢ ∃ P, P.IsEquipartition ∧ l ≤ P.parts.card ∧ P.parts.card ≤ bound ε l ∧ P.IsUniform G ε
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α
t : ℕ := initialBound ε l
htα : t ≤ univ.card
dum : Finpartition univ
hdum₁ : dum.IsEquipartition
hdum₂ : dum.parts.card = initialBound ε l
hε₁ : ε ≤ 1
this : Nonempty α

⊢ ∃ P, P.IsEquipartition ∧ l ≤ P.parts.card ∧ P.parts.card ≤ bound ε l ∧ P.IsUniform G ε
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α
t : ℕ := initialBound ε l
htα : t ≤ univ.card
dum : Finpartition univ
hdum₁ : dum.IsEquipartition
hdum₂ : dum.parts.card = initialBound ε l
hε₁ : ε ≤ 1
this : Nonempty α
i : ℕ
P : Finpartition univ
hP₁ : P.IsEquipartition
hP₂ : t ≤ P.parts.card
hP₃ : P.parts.card ≤ stepBound^[i] t
hP₄ : P.IsUniform G ε ∨ ε ^ 5 / 4 * ↑i ≤ ↑(P.energy G)
huniform : ¬P.IsUniform G ε

⊢ ∃ P, P.IsEquipartition ∧ t ≤ P.parts.card ∧ P.parts.card ≤ stepBound^[i + 1] t ∧ (P.IsUniform G ε ∨ ε ^ 5 / 4 * ↑(i + 1) ≤ ↑(P.energy G))
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α
t : ℕ := initialBound ε l
htα : t ≤ univ.card
dum : Finpartition univ
hdum₁ : dum.IsEquipartition
hdum₂ : dum.parts.card = initialBound ε l
hε₁ : ε ≤ 1
this : Nonempty α
i : ℕ
P : Finpartition univ
hP₁ : P.IsEquipartition
hP₂ : t ≤ P.parts.card
hP₃ : P.parts.card ≤ stepBound^[i] t
huniform : ¬P.IsUniform G ε
hP₄ : ε ^ 5 / 4 * ↑i ≤ ↑(P.energy G)

⊢ ∃ P, P.IsEquipartition ∧ t ≤ P.parts.card ∧ P.parts.card ≤ stepBound^[i + 1] t ∧ (P.IsUniform G ε ∨ ε ^ 5 / 4 * ↑(i + 1) ≤ ↑(P.energy G))
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α
t : ℕ := initialBound ε l
htα : t ≤ univ.card
dum : Finpartition univ
hdum₁ : dum.IsEquipartition
hdum₂ : dum.parts.card = initialBound ε l
hε₁ : ε ≤ 1
this : Nonempty α
i : ℕ
P : Finpartition univ
hP₁ : P.IsEquipartition
hP₂ : t ≤ P.parts.card
hP₃ : P.parts.card ≤ stepBound^[i] t
huniform : ¬P.IsUniform G ε
hP₄ : ε ^ 5 / 4 * ↑i ≤ ↑(P.energy G)
hεl' : 100 ≤ 4 ^ P.parts.card * ε ^ 5

⊢ ∃ P, P.IsEquipartition ∧ t ≤ P.parts.card ∧ P.parts.card ≤ stepBound^[i + 1] t ∧ (P.IsUniform G ε ∨ ε ^ 5 / 4 * ↑(i + 1) ≤ ↑(P.energy G))
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α
t : ℕ := initialBound ε l
htα : t ≤ univ.card
dum : Finpartition univ
hdum₁ : dum.IsEquipartition
hdum₂ : dum.parts.card = initialBound ε l
hε₁ : ε ≤ 1
this : Nonempty α
i : ℕ
P : Finpartition univ
hP₁ : P.IsEquipartition
hP₂ : t ≤ P.parts.card
hP₃ : P.parts.card ≤ stepBound^[i] t
huniform : ¬P.IsUniform G ε
hP₄ : ε ^ 5 / 4 * ↑i ≤ ↑(P.energy G)
hεl' : 100 ≤ 4 ^ P.parts.card * ε ^ 5
hi : ↑i ≤ 4 / ε ^ 5

⊢ ∃ P, P.IsEquipartition ∧ t ≤ P.parts.card ∧ P.parts.card ≤ stepBound^[i + 1] t ∧ (P.IsUniform G ε ∨ ε ^ 5 / 4 * ↑(i + 1) ≤ ↑(P.energy G))
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α
t : ℕ := initialBound ε l
htα : t ≤ univ.card
dum : Finpartition univ
hdum₁ : dum.IsEquipartition
hdum₂ : dum.parts.card = initialBound ε l
hε₁ : ε ≤ 1
this : Nonempty α
i : ℕ
P : Finpartition univ
hP₁ : P.IsEquipartition
hP₂ : t ≤ P.parts.card
hP₃ : P.parts.card ≤ stepBound^[i] t
huniform : ¬P.IsUniform G ε
hP₄ : ε ^ 5 / 4 * ↑i ≤ ↑(P.energy G)
hεl' : 100 ≤ 4 ^ P.parts.card * ε ^ 5
hi : ↑i ≤ 4 / ε ^ 5
hsize : P.parts.card ≤ stepBound^[⌊4 / ε ^ 5⌋₊] t

⊢ ∃ P, P.IsEquipartition ∧ t ≤ P.parts.card ∧ P.parts.card ≤ stepBound^[i + 1] t ∧ (P.IsUniform G ε ∨ ε ^ 5 / 4 * ↑(i + 1) ≤ ↑(P.energy G))
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α
t : ℕ := initialBound ε l
htα : t ≤ univ.card
dum : Finpartition univ
hdum₁ : dum.IsEquipartition
hdum₂ : dum.parts.card = initialBound ε l
hε₁ : ε ≤ 1
this : Nonempty α
i : ℕ
P : Finpartition univ
hP₁ : P.IsEquipartition
hP₂ : t ≤ P.parts.card
hP₃ : P.parts.card ≤ stepBound^[i] t
huniform : ¬P.IsUniform G ε
hP₄ : ε ^ 5 / 4 * ↑i ≤ ↑(P.energy G)
hεl' : 100 ≤ 4 ^ P.parts.card * ε ^ 5
hi : ↑i ≤ 4 / ε ^ 5
hsize : P.parts.card ≤ stepBound^[⌊4 / ε ^ 5⌋₊] t
hPα : P.parts.card * 16 ^ P.parts.card ≤ Fintype.card α

⊢ ∃ P, P.IsEquipartition ∧ t ≤ P.parts.card ∧ P.parts.card ≤ stepBound^[i + 1] t ∧ (P.IsUniform G ε ∨ ε ^ 5 / 4 * ↑(i + 1) ≤ ↑(P.energy G))
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α
t : ℕ := initialBound ε l
htα : t ≤ univ.card
dum : Finpartition univ
hdum₁ : dum.IsEquipartition
hdum₂ : dum.parts.card = initialBound ε l
hε₁ : ε ≤ 1
this : Nonempty α
i : ℕ
P : Finpartition univ
hP₁ : P.IsEquipartition
hP₂ : t ≤ P.parts.card
hP₃ : P.parts.card ≤ stepBound^[i] t
huniform : ¬P.IsUniform G ε
hP₄ : ε ^ 5 / 4 * ↑i ≤ ↑(P.energy G)
hεl' : 100 ≤ 4 ^ P.parts.card * ε ^ 5
hi : ↑i ≤ 4 / ε ^ 5
hsize : P.parts.card ≤ stepBound^[⌊4 / ε ^ 5⌋₊] t
hPα : P.parts.card * 16 ^ P.parts.card ≤ Fintype.card α

⊢ t ≤ (increment hP₁ G ε).parts.card
-- Mathlib/Combinatorics/SimpleGraph/Regularity/Lemma.lean
α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : ℝ
l : ℕ
hε : 0 < ε
hl : l ≤ Fintype.card α
hα : bound ε l ≤ Fintype.card α
t : ℕ := initialBound ε l
htα : t ≤ univ.card
dum : Finpartition univ
hdum₁ : dum.IsEquipartition
hdum₂ : dum.parts.card = initialBound ε l
hε₁ : ε ≤ 1
this : Nonempty α
i : ℕ
P : Finpartition univ
hP₁ : P.IsEquipartition
hP₂ : t ≤ P.parts.card
hP₃ : P.parts.card ≤ stepBound^[i] t
huniform : ¬P.IsUniform G ε
hP₄ : ε ^ 5 / 4 * ↑i ≤ ↑(P.energy G)
hεl' : 100 ≤ 4 ^ P.parts.card * ε ^ 5
hi : ↑i ≤ 4 / ε ^ 5
hsize : P.parts.card ≤ stepBound^[⌊4 / ε ^ 5⌋₊] t
hPα : P.parts.card * 16 ^ P.parts.card ≤ Fintype.card α

⊢ (increment hP₁ G ε).parts.card ≤ stepBound^[i + 1] t