ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Mathlib/Data/Seq/Computation.lean
α : Type u
β : Type v
γ : Type w
s : Computation α
a : α
n : ℕ
h : s.think.Results a (n + 1)

⊢ s.Results a n
-- Mathlib/Data/Seq/Computation.lean
α : Type u
β : Type v
γ : Type w
s : Computation α
a : α
n : ℕ
h : s.think.Results a (n + 1)
n' : ℕ
r : s.Results a n'
e : n + 1 = n' + 1

⊢ s.Results a n
-- Mathlib/Algebra/Homology/HomotopyCategory/HomComplexShift.lean
C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
K L M : CochainComplex C ℤ
n✝ : ℤ
γ✝ γ₁ γ₂ : Cochain K L n✝
n' a : ℤ
γ : Cochain K ((CategoryTheory.shiftFunctor (CochainComplex C ℤ) a).obj L) n'
n : ℤ
hn : n' + a = n

⊢ (rightShiftAddEquiv K L n a n' hn).symm (-γ) = -γ.rightUnshift n hn
-- Mathlib/Algebra/Group/Submonoid/Pointwise.lean
α : Type u_1
G : Type u_2
M : Type u_3
R : Type u_4
A : Type u_5
inst✝⁴ : Monoid M
inst✝³ : AddMonoid A
s✝ t u : Set M
N : Type u_6
inst✝² : CommMonoid N
inst✝¹ : MulAction M N
inst✝ : IsScalarTower M N N
r : M
s : Set N
x : N
hx : x ∈ closure s

⊢ ∃ n, r ^ n • x ∈ closure (r • s)
-- Mathlib/Algebra/Group/Submonoid/Pointwise.lean
α : Type u_1
G : Type u_2
M : Type u_3
R : Type u_4
A : Type u_5
inst✝⁴ : Monoid M
inst✝³ : AddMonoid A
s✝ t u : Set M
N : Type u_6
inst✝² : CommMonoid N
inst✝¹ : MulAction M N
inst✝ : IsScalarTower M N N
r : M
s : Set N
x : N
hx : x ∈ closure s

⊢ ∀ x ∈ s, (fun x => ∃ n, r ^ n • x ∈ closure (r • s)) x
-- Mathlib/Algebra/Group/Submonoid/Pointwise.lean
α : Type u_1
G : Type u_2
M : Type u_3
R : Type u_4
A : Type u_5
inst✝⁴ : Monoid M
inst✝³ : AddMonoid A
s✝ t u : Set M
N : Type u_6
inst✝² : CommMonoid N
inst✝¹ : MulAction M N
inst✝ : IsScalarTower M N N
r : M
s : Set N
x : N
hx : x ∈ closure s

⊢ (fun x => ∃ n, r ^ n • x ∈ closure (r • s)) 1
-- Mathlib/Algebra/Group/Submonoid/Pointwise.lean
α : Type u_1
G : Type u_2
M : Type u_3
R : Type u_4
A : Type u_5
inst✝⁴ : Monoid M
inst✝³ : AddMonoid A
s✝ t u : Set M
N : Type u_6
inst✝² : CommMonoid N
inst✝¹ : MulAction M N
inst✝ : IsScalarTower M N N
r : M
s : Set N
x : N
hx : x ∈ closure s

⊢ ∀ (x y : N), (fun x => ∃ n, r ^ n • x ∈ closure (r • s)) x → (fun x => ∃ n, r ^ n • x ∈ closure (r • s)) y → (fun x => ∃ n, r ^ n • x ∈ closure (r • s)) (x * y)
-- Mathlib/Analysis/Calculus/ContDiff/Basic.lean
𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
D : Type uD
inst✝¹⁴ : NormedAddCommGroup D
inst✝¹³ : NormedSpace 𝕜 D
E : Type uE
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace 𝕜 E
F : Type uF
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
G : Type uG
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace 𝕜 G
X : Type u_2
inst✝⁶ : NormedAddCommGroup X
inst✝⁵ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
b : E × F → G
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
ι : Type u_3
ι' : Type u_4
inst✝⁴ : Fintype ι
inst✝³ : Fintype ι'
F' : ι → Type u_5
inst✝² : (i : ι) → NormedAddCommGroup (F' i)
inst✝¹ : (i : ι) → NormedSpace 𝕜 (F' i)
φ : (i : ι) → E → F' i
p' : (i : ι) → E → FormalMultilinearSeries 𝕜 E (F' i)
Φ : E → (i : ι) → F' i
P' : E → FormalMultilinearSeries 𝕜 E ((i : ι) → F' i)
inst✝ : DecidableEq ι
k : ℕ∞
x : (i : ι) → F' i
i : ι

⊢ ContDiff 𝕜 k (update x i)
-- Mathlib/Analysis/Calculus/ContDiff/Basic.lean
𝕜 : Type u_1
inst✝¹⁵ : NontriviallyNormedField 𝕜
D : Type uD
inst✝¹⁴ : NormedAddCommGroup D
inst✝¹³ : NormedSpace 𝕜 D
E : Type uE
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace 𝕜 E
F : Type uF
inst✝¹⁰ : NormedAddCommGroup F
inst✝⁹ : NormedSpace 𝕜 F
G : Type uG
inst✝⁸ : NormedAddCommGroup G
inst✝⁷ : NormedSpace 𝕜 G
X : Type u_2
inst✝⁶ : NormedAddCommGroup X
inst✝⁵ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
b : E × F → G
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
ι : Type u_3
ι' : Type u_4
inst✝⁴ : Fintype ι
inst✝³ : Fintype ι'
F' : ι → Type u_5
inst✝² : (i : ι) → NormedAddCommGroup (F' i)
inst✝¹ : (i : ι) → NormedSpace 𝕜 (F' i)
φ : (i : ι) → E → F' i
p' : (i : ι) → E → FormalMultilinearSeries 𝕜 E (F' i)
Φ : E → (i : ι) → F' i
P' : E → FormalMultilinearSeries 𝕜 E ((i : ι) → F' i)
inst✝ : DecidableEq ι
k : ℕ∞
x : (i : ι) → F' i
i : ι

⊢ ∀ (i_1 : ι), ContDiff 𝕜 k fun x_1 => update x i x_1 i_1
-- Mathlib/Algebra/Polynomial/Taylor.lean
R✝ : Type u_1
inst✝¹ : Semiring R✝
r✝ : R✝
f : R✝[X]
R : Type u_2
inst✝ : CommSemiring R
r : R
p q : R[X]

⊢ (taylor r) (p * q) = (taylor r) p * (taylor r) q
-- Mathlib/Topology/UniformSpace/Cauchy.lean
α : Type u
β : Type v
uniformSpace : UniformSpace α
inst✝ : UniformSpace β
F : Filter (α × β)

⊢ Cauchy F ↔ Cauchy (map Prod.fst F) ∧ Cauchy (map Prod.snd F)
-- Mathlib/Data/ENNReal/Real.lean
a b c d : ℝ≥0∞
r p q : ℝ≥0
α : Type u_1
s : Finset α
f : α → ℝ
hf : ∀ i ∈ s, 0 ≤ f i

⊢ ENNReal.ofReal (∏ i ∈ s, f i) = ∏ i ∈ s, ENNReal.ofReal (f i)
-- Mathlib/Data/ENNReal/Real.lean
a b c d : ℝ≥0∞
r p q : ℝ≥0
α : Type u_1
s : Finset α
f : α → ℝ
hf : ∀ i ∈ s, 0 ≤ f i

⊢ (∏ i ∈ s, f i).toNNReal = ∏ a ∈ s, (f a).toNNReal
-- Mathlib/CategoryTheory/Limits/Shapes/Pullback/Iso.lean
C : Type u
inst✝¹ : Category.{v, u} C
X Y Z : C
f : X ⟶ Z
g : Y ⟶ Z
inst✝ : IsIso g

⊢ inv (pullback.fst f g) ≫ pullback.snd f g = f ≫ inv g
-- Mathlib/Analysis/Calculus/Deriv/Comp.lean
𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
F : Type v
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace 𝕜 F
E : Type w
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
f f₀ f₁ g : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
𝕜' : Type u_1
inst✝³ : NontriviallyNormedField 𝕜'
inst✝² : NormedAlgebra 𝕜 𝕜'
inst✝¹ : NormedSpace 𝕜' F
inst✝ : IsScalarTower 𝕜 𝕜' F
s' t' : Set 𝕜'
h : 𝕜 → 𝕜'
h₁ : 𝕜 → 𝕜
h₂ : 𝕜' → 𝕜'
h' h₂' : 𝕜'
h₁' : 𝕜
g₁ : 𝕜' → F
g₁' : F
L' : Filter 𝕜'
y : 𝕜'
hg : DifferentiableAt 𝕜' g₁ (h x)
hh : DifferentiableAt 𝕜 h x
hy : y = h x

⊢ deriv (g₁ ∘ h) x = deriv h x • deriv g₁ (h x)
-- Mathlib/NumberTheory/LegendreSymbol/ZModChar.lean
n : ℤ

⊢ χ₈ ↑n = χ₈ ↑(n % 8)
-- Mathlib/Algebra/Polynomial/Degree/Definitions.lean
R : Type u
S : Type v
a b c d : R
n m : ℕ
inst✝ : Semiring R
p✝¹ p✝ q✝ : R[X]
ι : Type u_1
p q : R[X]
H : (p + q).natDegree < p.natDegree

⊢ p.natDegree = q.natDegree
-- Mathlib/Algebra/Polynomial/Degree/Definitions.lean
R : Type u
S : Type v
a b c d : R
n m : ℕ
inst✝ : Semiring R
p✝¹ p✝ q✝ : R[X]
ι : Type u_1
p q : R[X]
H : (p + q).natDegree < p.natDegree
h : ¬p.natDegree = q.natDegree

⊢ False
-- Mathlib/Algebra/CubicDiscriminant.lean
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
h : P.toPoly = Q.toPoly

⊢ P.a = Q.a
-- Mathlib/Analysis/Normed/Lp/lpSpace.lean
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝⁴ : (i : α) → NormedAddCommGroup (E i)
𝕜 : Type u_3
inst✝³ : NormedRing 𝕜
inst✝² : (i : α) → Module 𝕜 (E i)
inst✝¹ : ∀ (i : α), BoundedSMul 𝕜 (E i)
inst✝ : DecidableEq α
hp : 0 < p.toReal
f : (i : α) → E i
i : α

⊢ ‖lp.single p i (f i)‖ = ‖f i‖
-- Mathlib/Analysis/Normed/Lp/lpSpace.lean
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝⁴ : (i : α) → NormedAddCommGroup (E i)
𝕜 : Type u_3
inst✝³ : NormedRing 𝕜
inst✝² : (i : α) → Module 𝕜 (E i)
inst✝¹ : ∀ (i : α), BoundedSMul 𝕜 (E i)
inst✝ : DecidableEq α
hp : 0 < p.toReal
f : (i : α) → E i
i : α

⊢ (fun y => y ^ p.toReal) ‖lp.single p i (f i)‖ = (fun y => y ^ p.toReal) ‖f i‖
-- Mathlib/RingTheory/Perfection.lean
R : Type u₁
inst✝¹ : CommSemiring R
p : ℕ
hp : Fact (Nat.Prime p)
inst✝ : CharP R p
f : Ring.Perfection R p
n : ℕ
hfn : (coeff R p n) f ≠ 0
k✝ k : ℕ
ih : (coeff R p (n + k)) f ≠ 0
h : (coeff R p (n + k.succ)) f = 0

⊢ (coeff R p (n + k)) f = 0
-- Mathlib/RingTheory/HahnSeries/Summable.lean
Γ : Type u_1
R : Type u_2
inst✝¹ : PartialOrder Γ
inst✝ : AddCommMonoid R
α : Type u_3
β : Type u_4
s : SummableFamily Γ R α
f : α ↪ β
a : α
b : β
h : b ∉ Set.range ⇑f

⊢ (s.embDomain f) b = 0
-- Mathlib/MeasureTheory/Measure/EverywherePos.lean
α : Type u_1
inst✝² : TopologicalSpace α
inst✝¹ : MeasurableSpace α
μ ν : Measure α
s k : Set α
inst✝ : μ.IsOpenPosMeasure
hs : IsOpen s
x : α
xs : x ∈ s
n : Set α
hn : n ∈ 𝓝[s] x

⊢ 0 < μ n
-- Mathlib/MeasureTheory/Measure/EverywherePos.lean
α : Type u_1
inst✝² : TopologicalSpace α
inst✝¹ : MeasurableSpace α
μ ν : Measure α
s k : Set α
inst✝ : μ.IsOpenPosMeasure
hs : IsOpen s
x : α
xs : x ∈ s
n : Set α
hn : n ∈ 𝓝[s] x
u : Set α
u_open : IsOpen u
xu : x ∈ u
hu : u ∩ s ⊆ n

⊢ 0 < μ n
-- Mathlib/MeasureTheory/Measure/EverywherePos.lean
α : Type u_1
inst✝² : TopologicalSpace α
inst✝¹ : MeasurableSpace α
μ ν : Measure α
s k : Set α
inst✝ : μ.IsOpenPosMeasure
hs : IsOpen s
x : α
xs : x ∈ s
n : Set α
hn : n ∈ 𝓝[s] x
u : Set α
u_open : IsOpen u
xu : x ∈ u
hu : u ∩ s ⊆ n

⊢ 0 < μ (u ∩ s)
-- Mathlib/SetTheory/Cardinal/Cofinality.lean
α : Type u_1
r : α → α → Prop
a o : Ordinal.{u}
f✝ : (b : Ordinal.{u}) → b < o → Ordinal.{u}
f : (b : Ordinal.{u_2}) → b < 0 → Ordinal.{u_2}

⊢ 0 ≤ (cof 0).ord
-- Mathlib/GroupTheory/Perm/Fin.lean
n : ℕ
h : 2 ≤ n

⊢ (finRotate n).cycleType = {n}
-- Mathlib/GroupTheory/Perm/Fin.lean
m : ℕ
h : 2 ≤ 2 + m

⊢ (finRotate (2 + m)).cycleType = {2 + m}
-- Mathlib/CategoryTheory/Preadditive/Basic.lean
C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Preadditive C
X Y : C
f g : X ⟶ Y
c : KernelFork (f - g)

⊢ Fork.ι c ≫ f = Fork.ι c ≫ g
-- Mathlib/Algebra/Homology/Homotopy.lean
ι : 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 : (i j : ι) → C.X i ⟶ D.X j
i i' : ι
w : c.Rel i i'

⊢ (dNext i) f = C.d i i' ≫ f i' i
-- Mathlib/Algebra/Homology/Homotopy.lean
ι : 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 : (i j : ι) → C.X i ⟶ D.X j
i : ι
w : c.Rel i (c.next i)

⊢ (dNext i) f = C.d i (c.next i) ≫ f (c.next i) i
-- Mathlib/Analysis/Convex/EGauge.lean
𝕜 : Type u_1
inst✝² : NormedDivisionRing 𝕜
α : Type u_2
E : Type u_3
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
c : 𝕜
s t : Set E
x y : E
r : ℝ≥0∞
h : c • x ∈ s
hc : c ≠ 0

⊢ egauge 𝕜 s x ≤ ↑‖c‖₊⁻¹
-- Mathlib/Analysis/Convex/EGauge.lean
𝕜 : Type u_1
inst✝² : NormedDivisionRing 𝕜
α : Type u_2
E : Type u_3
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
c : 𝕜
s t : Set E
x y : E
r : ℝ≥0∞
h : c • x ∈ s
hc : c ≠ 0

⊢ egauge 𝕜 s x ≤ ↑‖c⁻¹‖₊
-- Mathlib/Algebra/Polynomial/Degree/Definitions.lean
R : Type u
S : Type v
a b c d : R
n✝ m : ℕ
inst✝ : Ring R
n : ℤ

⊢ (↑n).natDegree = 0
-- Mathlib/Analysis/SpecialFunctions/Log/Base.lean
b x y : ℝ
b_pos : 0 < b
b_lt_one : b < 1

⊢ Tendsto (logb b) atTop atBot
-- Mathlib/Analysis/SpecialFunctions/Log/Base.lean
b x y : ℝ
b_pos : 0 < b
b_lt_one : b < 1

⊢ ∀ (b_1 : ℝ), ∃ i, ∀ (a : ℝ), i ≤ a → logb b a ≤ b_1
-- Mathlib/Analysis/SpecialFunctions/Log/Base.lean
b x y : ℝ
b_pos : 0 < b
b_lt_one : b < 1
e : ℝ

⊢ ∃ i, ∀ (a : ℝ), i ≤ a → logb b a ≤ e
-- Mathlib/Analysis/SpecialFunctions/Log/Base.lean
b x y : ℝ
b_pos : 0 < b
b_lt_one : b < 1
e : ℝ

⊢ ∀ (a : ℝ), 1 ⊔ b ^ e ≤ a → logb b a ≤ e
-- Mathlib/Analysis/SpecialFunctions/Log/Base.lean
b x y : ℝ
b_pos : 0 < b
b_lt_one : b < 1
e a : ℝ

⊢ 1 ⊔ b ^ e ≤ a → logb b a ≤ e
-- Mathlib/Analysis/SpecialFunctions/Log/Base.lean
b x y : ℝ
b_pos : 0 < b
b_lt_one : b < 1
e a : ℝ

⊢ 1 ≤ a → b ^ e ≤ a → logb b a ≤ e
-- Mathlib/Analysis/SpecialFunctions/Log/Base.lean
b x y : ℝ
b_pos : 0 < b
b_lt_one : b < 1
e a : ℝ
ha : 1 ≤ a

⊢ b ^ e ≤ a → logb b a ≤ e
-- Mathlib/Analysis/SpecialFunctions/Log/Base.lean
b x y : ℝ
b_pos : 0 < b
b_lt_one : b < 1
e a : ℝ
ha : 1 ≤ a

⊢ b ^ e ≤ a → b ^ e ≤ a
-- Mathlib/Analysis/SpecialFunctions/Log/Base.lean
b x y : ℝ
b_pos : 0 < b
b_lt_one : b < 1
e a : ℝ
ha : 1 ≤ a

⊢ 0 < a
-- Mathlib/Analysis/CstarAlgebra/ContinuousFunctionalCalculus/Unital.lean
R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹⁰ : CommSemiring R
inst✝⁹ : StarRing R
inst✝⁸ : MetricSpace R
inst✝⁷ : TopologicalSemiring R
inst✝⁶ : ContinuousStar R
inst✝⁵ : TopologicalSpace A
inst✝⁴ : Ring A
inst✝³ : StarRing A
inst✝² : Algebra R A
inst✝¹ : ContinuousFunctionalCalculus R p
f g : R → R
a : A
ha✝ : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝ : UniqueContinuousFunctionalCalculus R A
h_spec : spectrum R a ⊆ {0}
ha : autoParam (p a) _auto✝

⊢ a = 0
-- Mathlib/Analysis/Calculus/Deriv/Inverse.lean
𝕜 : Type u
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type v
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type w
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f✝ f₀ f₁ g✝ : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
f g : 𝕜 → 𝕜
a : 𝕜
hf : HasDerivAt f 0 (g a)
hfg : f ∘ g =ᶠ[𝓝 a] id
hg : DifferentiableAt 𝕜 g a

⊢ False
-- Mathlib/Analysis/Calculus/Deriv/Inverse.lean
𝕜 : Type u
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type v
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type w
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f✝ f₀ f₁ g✝ : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
f g : 𝕜 → 𝕜
a : 𝕜
hf : HasDerivAt f 0 (g a)
hfg : f ∘ g =ᶠ[𝓝 a] id
hg : DifferentiableAt 𝕜 g a
this : HasDerivAt id (0 * deriv g a) a

⊢ False
-- Mathlib/Deprecated/Subfield.lean
F : Type u_1
inst✝¹ : Field F
S : Set F
K : Type u_2
inst✝ : Field K
f : F →+* K

⊢ IsSubfield (Set.range ⇑f)
-- Mathlib/Deprecated/Subfield.lean
F : Type u_1
inst✝¹ : Field F
S : Set F
K : Type u_2
inst✝ : Field K
f : F →+* K

⊢ IsSubfield (⇑f '' Set.univ)
-- Mathlib/Analysis/Normed/Group/Uniform.lean
𝓕 : Type u_1
α : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : SeminormedGroup E
inst✝ : SeminormedGroup F
s : Set E
a✝ a₁ a₂ b✝ b₁ b₂ : E
r r₁ r₂ : ℝ
a b : E

⊢ dist b (a * b) = ‖a‖
-- Mathlib/Order/Filter/Basic.lean
α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
f✝ g✝ : Filter α
s t : Set α
f g : Filter α

⊢ f ⊓ g = ⊥ ↔ ∃ U ∈ f, ∃ V ∈ g, U ∩ V = ∅
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
s : Finset ι
f : ι → Finset (Finset α)
hf : ∀ i ∈ s, (↑(f i)).Intersecting
this : DecidableEq ι

⊢ (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
s : Finset ι
f : ι → Finset (Finset α)
hf : ∀ i ∈ s, (↑(f i)).Intersecting
this : DecidableEq ι
hs : Fintype.card α ≤ s.card

⊢ (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
s : Finset ι
f : ι → Finset (Finset α)
hf : ∀ i ∈ s, (↑(f i)).Intersecting
this : DecidableEq ι
hs : s.card ≤ Fintype.card α

⊢ (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
this : DecidableEq ι
f : ι → Finset (Finset α)
hf : ∀ i ∈ ∅, (↑(f i)).Intersecting
hs : ∅.card ≤ Fintype.card α

⊢ (∅.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - ∅.card)
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
this : DecidableEq ι
i : ι
s : Finset ι
hi : i ∉ s
ih : ∀ (f : ι → Finset (Finset α)), (∀ i ∈ s, (↑(f i)).Intersecting) → s.card ≤ Fintype.card α → (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
f : ι → Finset (Finset α)
hf : ∀ i_1 ∈ cons i s hi, (↑(f i_1)).Intersecting
hs : (cons i s hi).card ≤ Fintype.card α

⊢ ((cons i s hi).biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - (cons i s hi).card)
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
this : DecidableEq ι
i : ι
s : Finset ι
hi : i ∉ s
ih : ∀ (f : ι → Finset (Finset α)), (∀ i ∈ s, (↑(f i)).Intersecting) → s.card ≤ Fintype.card α → (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
f : ι → Finset (Finset α)
hf : ∀ i_1 ∈ cons i s hi, (↑(f i_1)).Intersecting
hs : (cons i s hi).card ≤ Fintype.card α
f' : ι → Finset (Finset α) := fun j => if hj : j ∈ cons i s hi then ⋯.choose else ∅

⊢ ((cons i s hi).biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - (cons i s hi).card)
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
this : DecidableEq ι
i : ι
s : Finset ι
hi : i ∉ s
ih : ∀ (f : ι → Finset (Finset α)), (∀ i ∈ s, (↑(f i)).Intersecting) → s.card ≤ Fintype.card α → (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
f : ι → Finset (Finset α)
hf : ∀ i_1 ∈ cons i s hi, (↑(f i_1)).Intersecting
hs : (cons i s hi).card ≤ Fintype.card α
f' : ι → Finset (Finset α) := fun j => if hj : j ∈ cons i s hi then ⋯.choose else ∅
hf₁ : ∀ j ∈ cons i s hi, f j ⊆ f' j ∧ 2 * (f' j).card = 2 ^ Fintype.card α ∧ (↑(f' j)).Intersecting

⊢ ((cons i s hi).biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - (cons i s hi).card)
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
this : DecidableEq ι
i : ι
s : Finset ι
hi : i ∉ s
ih : ∀ (f : ι → Finset (Finset α)), (∀ i ∈ s, (↑(f i)).Intersecting) → s.card ≤ Fintype.card α → (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
f : ι → Finset (Finset α)
hf : ∀ i_1 ∈ cons i s hi, (↑(f i_1)).Intersecting
hs : (cons i s hi).card ≤ Fintype.card α
f' : ι → Finset (Finset α) := fun j => if hj : j ∈ cons i s hi then ⋯.choose else ∅
hf₁ : ∀ j ∈ cons i s hi, f j ⊆ f' j ∧ 2 * (f' j).card = 2 ^ Fintype.card α ∧ (↑(f' j)).Intersecting
hf₂ : ∀ j ∈ cons i s hi, IsUpperSet ↑(f' j)

⊢ ((cons i s hi).biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - (cons i s hi).card)
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
this : DecidableEq ι
i : ι
s : Finset ι
hi : i ∉ s
ih : ∀ (f : ι → Finset (Finset α)), (∀ i ∈ s, (↑(f i)).Intersecting) → s.card ≤ Fintype.card α → (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
f : ι → Finset (Finset α)
hf : ∀ i_1 ∈ cons i s hi, (↑(f i_1)).Intersecting
hs : (cons i s hi).card ≤ Fintype.card α
f' : ι → Finset (Finset α) := fun j => if hj : j ∈ cons i s hi then ⋯.choose else ∅
hf₁ : ∀ j ∈ cons i s hi, f j ⊆ f' j ∧ 2 * (f' j).card = 2 ^ Fintype.card α ∧ (↑(f' j)).Intersecting
hf₂ : ∀ j ∈ cons i s hi, IsUpperSet ↑(f' j)

⊢ ((cons i s hi).biUnion f').card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - (cons i s hi).card)
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
this : DecidableEq ι
i : ι
s : Finset ι
hi : i ∉ s
ih : ∀ (f : ι → Finset (Finset α)), (∀ i ∈ s, (↑(f i)).Intersecting) → s.card ≤ Fintype.card α → (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
f : ι → Finset (Finset α)
hf : ∀ i_1 ∈ cons i s hi, (↑(f i_1)).Intersecting
hs : (cons i s hi).card ≤ Fintype.card α
f' : ι → Finset (Finset α) := fun j => if hj : j ∈ cons i s hi then ⋯.choose else ∅
hf₁ : ∀ j ∈ cons i s hi, f j ⊆ f' j ∧ 2 * (f' j).card = 2 ^ Fintype.card α ∧ (↑(f' j)).Intersecting
hf₂ : ∀ j ∈ cons i s hi, IsUpperSet ↑(f' j)

⊢ ((insert i s).biUnion f').card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - (cons i s hi).card)
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
this : DecidableEq ι
i : ι
s : Finset ι
hi : i ∉ s
ih : ∀ (f : ι → Finset (Finset α)), (∀ i ∈ s, (↑(f i)).Intersecting) → s.card ≤ Fintype.card α → (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
f : ι → Finset (Finset α)
hf : ∀ i_1 ∈ cons i s hi, (↑(f i_1)).Intersecting
hs : (cons i s hi).card ≤ Fintype.card α
f' : ι → Finset (Finset α) := fun j => if hj : j ∈ cons i s hi then ⋯.choose else ∅
hf₁ : ∀ j ∈ cons i s hi, f j ⊆ f' j ∧ 2 * (f' j).card = 2 ^ Fintype.card α ∧ (↑(f' j)).Intersecting
hf₂ : ∀ j ∈ cons i s hi, IsUpperSet ↑(f' j)

⊢ (f' i ∪ s.biUnion f').card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - (cons i s hi).card)
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
this : DecidableEq ι
i : ι
s : Finset ι
hi : i ∉ s
ih : ∀ (f : ι → Finset (Finset α)), (∀ i ∈ s, (↑(f i)).Intersecting) → s.card ≤ Fintype.card α → (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
f : ι → Finset (Finset α)
hf : ∀ i_1 ∈ cons i s hi, (↑(f i_1)).Intersecting
hs : (cons i s hi).card ≤ Fintype.card α
f' : ι → Finset (Finset α) := fun j => if hj : j ∈ cons i s hi then ⋯.choose else ∅
hf₁ : ∀ j ∈ cons i s hi, f j ⊆ f' j ∧ 2 * (f' j).card = 2 ^ Fintype.card α ∧ (↑(f' j)).Intersecting
hf₂ : ∀ j ∈ cons i s hi, IsUpperSet ↑(f' j)

⊢ (f' i).card + ((f' i ∪ s.biUnion f') \ f' i).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - (cons i s hi).card)
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
this : DecidableEq ι
i : ι
s : Finset ι
hi : i ∉ s
ih : ∀ (f : ι → Finset (Finset α)), (∀ i ∈ s, (↑(f i)).Intersecting) → s.card ≤ Fintype.card α → (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
f : ι → Finset (Finset α)
hf : ∀ i_1 ∈ cons i s hi, (↑(f i_1)).Intersecting
hs : (cons i s hi).card ≤ Fintype.card α
f' : ι → Finset (Finset α) := fun j => if hj : j ∈ cons i s hi then ⋯.choose else ∅
hf₁ : ∀ j ∈ cons i s hi, f j ⊆ f' j ∧ 2 * (f' j).card = 2 ^ Fintype.card α ∧ (↑(f' j)).Intersecting
hf₂ : ∀ j ∈ cons i s hi, IsUpperSet ↑(f' j)

⊢ (f' i).card + (s.biUnion f' ∩ (f' i)ᶜ).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - (cons i s hi).card)
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
this : DecidableEq ι
i : ι
s : Finset ι
hi : i ∉ s
ih : ∀ (f : ι → Finset (Finset α)), (∀ i ∈ s, (↑(f i)).Intersecting) → s.card ≤ Fintype.card α → (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
f : ι → Finset (Finset α)
hf : ∀ i_1 ∈ cons i s hi, (↑(f i_1)).Intersecting
hs : (cons i s hi).card ≤ Fintype.card α
f' : ι → Finset (Finset α) := fun j => if hj : j ∈ cons i s hi then ⋯.choose else ∅
hf₁ : ∀ j ∈ cons i s hi, f j ⊆ f' j ∧ 2 * (f' j).card = 2 ^ Fintype.card α ∧ (↑(f' j)).Intersecting
hf₂ : ∀ j ∈ cons i s hi, IsUpperSet ↑(f' j)

⊢ 2 ^ (Fintype.card α + 1) * ((f' i).card + (s.biUnion f' ∩ (f' i)ᶜ).card) ≤ 2 ^ (Fintype.card α + 1) * (2 ^ Fintype.card α - 2 ^ (Fintype.card α - (cons i s hi).card))
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
this : DecidableEq ι
i : ι
s : Finset ι
hi : i ∉ s
ih : ∀ (f : ι → Finset (Finset α)), (∀ i ∈ s, (↑(f i)).Intersecting) → s.card ≤ Fintype.card α → (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
f : ι → Finset (Finset α)
hf : ∀ i_1 ∈ cons i s hi, (↑(f i_1)).Intersecting
hs : (cons i s hi).card ≤ Fintype.card α
f' : ι → Finset (Finset α) := fun j => if hj : j ∈ cons i s hi then ⋯.choose else ∅
hf₁ : ∀ j ∈ cons i s hi, f j ⊆ f' j ∧ 2 * (f' j).card = 2 ^ Fintype.card α ∧ (↑(f' j)).Intersecting
hf₂ : ∀ j ∈ cons i s hi, IsUpperSet ↑(f' j)

⊢ 2 ^ Fintype.card α * (2 * (f' i).card) + 2 * (2 ^ Fintype.card α * (s.biUnion f' ∩ (f' i)ᶜ).card) ≤ 2 * 2 ^ Fintype.card α * (2 ^ Fintype.card α - 2 ^ (Fintype.card α - (cons i s hi).card))
-- Mathlib/Combinatorics/SetFamily/Kleitman.lean
ι : Type u_1
α : Type u_2
inst✝² : Fintype α
inst✝¹ : DecidableEq α
inst✝ : Nonempty α
this : DecidableEq ι
i : ι
s : Finset ι
hi : i ∉ s
ih : ∀ (f : ι → Finset (Finset α)), (∀ i ∈ s, (↑(f i)).Intersecting) → s.card ≤ Fintype.card α → (s.biUnion f).card ≤ 2 ^ Fintype.card α - 2 ^ (Fintype.card α - s.card)
f : ι → Finset (Finset α)
hf : ∀ i_1 ∈ cons i s hi, (↑(f i_1)).Intersecting
hs : (cons i s hi).card ≤ Fintype.card α
f' : ι → Finset (Finset α) := fun j => if hj : j ∈ cons i s hi then ⋯.choose else ∅
hf₁ : ∀ j ∈ cons i s hi, f j ⊆ f' j ∧ 2 * (f' j).card = 2 ^ Fintype.card α ∧ (↑(f' j)).Intersecting
hf₂ : ∀ j ∈ cons i s hi, IsUpperSet ↑(f' j)

⊢ IsUpperSet ↑(s.biUnion f')