Theorem: SzemerediRegularity.add_div_le_sum_sq_div_card
File: Mathlib/Combinatorics/SimpleGraph/Regularity/Bound.lean

tactic: obtain hscard | hscard := (s.card.cast_nonneg : (0 : 𝕜) ≤ s.card).eq_or_lt
state_before: α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
⊢ d + ↑s.card / ↑t.card * x ^ 2 ≤ (∑ i ∈ t, f i ^ 2) / ↑t.card
state_after: case inl
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 = ↑s.card
⊢ d + ↑s.card / ↑t.card * x ^ 2 ≤ (∑ i ∈ t, f i ^ 2) / ↑t.card

case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
⊢ d + ↑s.card / ↑t.card * x ^ 2 ≤ (∑ i ∈ t, f i ^ 2) / ↑t.card

tactic: have htcard : (0 : 𝕜) < t.card := hscard.trans_le (Nat.cast_le.2 (card_le_card hst))
state_before: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
⊢ d + ↑s.card / ↑t.card * x ^ 2 ≤ (∑ i ∈ t, f i ^ 2) / ↑t.card
state_after: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
⊢ d + ↑s.card / ↑t.card * x ^ 2 ≤ (∑ i ∈ t, f i ^ 2) / ↑t.card

tactic: have h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / s.card - (∑ i ∈ t, f i) / t.card) ^ 2 :=
  sq_le_sq.2 (by rwa [abs_of_nonneg hx])
state_before: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
⊢ d + ↑s.card / ↑t.card * x ^ 2 ≤ (∑ i ∈ t, f i ^ 2) / ↑t.card
state_after: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
⊢ d + ↑s.card / ↑t.card * x ^ 2 ≤ (∑ i ∈ t, f i ^ 2) / ↑t.card

tactic: have h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / t.card)) / s.card) ^ 2 := by
  apply h₁.trans
  rw [sum_sub_distrib, sum_const, nsmul_eq_mul, sub_div, mul_div_cancel_left₀ _ hscard.ne']
state_before: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
⊢ d + ↑s.card / ↑t.card * x ^ 2 ≤ (∑ i ∈ t, f i ^ 2) / ↑t.card
state_after: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
⊢ d + ↑s.card / ↑t.card * x ^ 2 ≤ (∑ i ∈ t, f i ^ 2) / ↑t.card

tactic: apply (add_le_add_right ht _).trans
state_before: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
⊢ d + ↑s.card / ↑t.card * x ^ 2 ≤ (∑ i ∈ t, f i ^ 2) / ↑t.card
state_after: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
⊢ ((∑ i ∈ t, f i) / ↑t.card) ^ 2 + ↑s.card / ↑t.card * x ^ 2 ≤ (∑ i ∈ t, f i ^ 2) / ↑t.card

tactic: rw [← mul_div_right_comm, le_div_iff htcard, add_mul, div_mul_cancel₀ _ htcard.ne']
state_before: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
⊢ ((∑ i ∈ t, f i) / ↑t.card) ^ 2 + ↑s.card / ↑t.card * x ^ 2 ≤ (∑ i ∈ t, f i ^ 2) / ↑t.card
state_after: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
⊢ ((∑ i ∈ t, f i) / ↑t.card) ^ 2 * ↑t.card + ↑s.card * x ^ 2 ≤ ∑ i ∈ t, f i ^ 2

tactic: have h₃ := mul_sq_le_sum_sq hst (fun i => (f i - (∑ j ∈ t, f j) / t.card)) h₂ hscard.ne'
state_before: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
⊢ ((∑ i ∈ t, f i) / ↑t.card) ^ 2 * ↑t.card + ↑s.card * x ^ 2 ≤ ∑ i ∈ t, f i ^ 2
state_after: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
h₃ : ↑s.card * x ^ 2 ≤ ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2
⊢ ((∑ i ∈ t, f i) / ↑t.card) ^ 2 * ↑t.card + ↑s.card * x ^ 2 ≤ ∑ i ∈ t, f i ^ 2

tactic: apply (add_le_add_left h₃ _).trans
state_before: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
h₃ : ↑s.card * x ^ 2 ≤ ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2
⊢ ((∑ i ∈ t, f i) / ↑t.card) ^ 2 * ↑t.card + ↑s.card * x ^ 2 ≤ ∑ i ∈ t, f i ^ 2
state_after: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
h₃ : ↑s.card * x ^ 2 ≤ ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2
⊢ ((∑ i ∈ t, f i) / ↑t.card) ^ 2 * ↑t.card + ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2 ≤ ∑ i ∈ t, f i ^ 2

tactic: simp_rw [sub_div' _ _ _ htcard.ne']
state_before: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
h₃ : ↑s.card * x ^ 2 ≤ ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2
⊢ ((∑ i ∈ t, f i) / ↑t.card) ^ 2 * ↑t.card + ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2 ≤ ∑ i ∈ t, f i ^ 2
state_after: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
h₃ : ↑s.card * x ^ 2 ≤ ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2
⊢ ((∑ i ∈ t, f i) / ↑t.card) ^ 2 * ↑t.card + ∑ x ∈ t, ((f x * ↑t.card - ∑ i ∈ t, f i) / ↑t.card) ^ 2 ≤ ∑ i ∈ t, f i ^ 2

tactic: conv_lhs => enter [2, 2, x]; rw [div_pow]
state_before: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
h₃ : ↑s.card * x ^ 2 ≤ ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2
⊢ ((∑ i ∈ t, f i) / ↑t.card) ^ 2 * ↑t.card + ∑ x ∈ t, ((f x * ↑t.card - ∑ i ∈ t, f i) / ↑t.card) ^ 2 ≤ ∑ i ∈ t, f i ^ 2
state_after: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
h₃ : ↑s.card * x ^ 2 ≤ ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2
⊢ ((∑ i ∈ t, f i) / ↑t.card) ^ 2 * ↑t.card + ∑ x ∈ t, (f x * ↑t.card - ∑ i ∈ t, f i) ^ 2 / ↑t.card ^ 2 ≤
    ∑ i ∈ t, f i ^ 2

tactic: rw [div_pow, ← sum_div, ← mul_div_right_comm _ (t.card : 𝕜), ← add_div,
  div_le_iff (sq_pos_of_ne_zero htcard.ne')]
state_before: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
h₃ : ↑s.card * x ^ 2 ≤ ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2
⊢ ((∑ i ∈ t, f i) / ↑t.card) ^ 2 * ↑t.card + ∑ x ∈ t, (f x * ↑t.card - ∑ i ∈ t, f i) ^ 2 / ↑t.card ^ 2 ≤
    ∑ i ∈ t, f i ^ 2
state_after: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
h₃ : ↑s.card * x ^ 2 ≤ ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2
⊢ (∑ i ∈ t, f i) ^ 2 * ↑t.card + ∑ i ∈ t, (f i * ↑t.card - ∑ i ∈ t, f i) ^ 2 ≤ (∑ i ∈ t, f i ^ 2) * ↑t.card ^ 2

tactic: simp_rw [sub_sq, sum_add_distrib, sum_const, nsmul_eq_mul, sum_sub_distrib, mul_pow, ← sum_mul,
  ← mul_sum, ← sum_mul]
state_before: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
h₃ : ↑s.card * x ^ 2 ≤ ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2
⊢ (∑ i ∈ t, f i) ^ 2 * ↑t.card + ∑ i ∈ t, (f i * ↑t.card - ∑ i ∈ t, f i) ^ 2 ≤ (∑ i ∈ t, f i ^ 2) * ↑t.card ^ 2
state_after: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
h₃ : ↑s.card * x ^ 2 ≤ ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2
⊢ (∑ i ∈ t, f i) ^ 2 * ↑t.card +
      ((∑ i ∈ t, f i ^ 2) * ↑t.card ^ 2 - 2 * ((∑ i ∈ t, f i) * ↑t.card) * ∑ i ∈ t, f i +
        ↑t.card * (∑ i ∈ t, f i) ^ 2) ≤
    (∑ i ∈ t, f i ^ 2) * ↑t.card ^ 2

tactic: ring_nf
state_before: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
h₃ : ↑s.card * x ^ 2 ≤ ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2
⊢ (∑ i ∈ t, f i) ^ 2 * ↑t.card +
      ((∑ i ∈ t, f i ^ 2) * ↑t.card ^ 2 - 2 * ((∑ i ∈ t, f i) * ↑t.card) * ∑ i ∈ t, f i +
        ↑t.card * (∑ i ∈ t, f i) ^ 2) ≤
    (∑ i ∈ t, f i ^ 2) * ↑t.card ^ 2
state_after: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
h₃ : ↑s.card * x ^ 2 ≤ ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2
⊢ ↑t.card ^ 2 * ∑ x ∈ t, f x ^ 2 ≤ ↑t.card ^ 2 * ∑ x ∈ t, f x ^ 2

tactic: rfl
state_before: case inr
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
h₂ : x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
h₃ : ↑s.card * x ^ 2 ≤ ∑ i ∈ t, (fun i => f i - (∑ j ∈ t, f j) / ↑t.card) i ^ 2
⊢ ↑t.card ^ 2 * ∑ x ∈ t, f x ^ 2 ≤ ↑t.card ^ 2 * ∑ x ∈ t, f x ^ 2
state_after: no goals

tactic: simpa [← hscard] using ht.trans sum_div_card_sq_le_sum_sq_div_card
state_before: case inl
α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 = ↑s.card
⊢ d + ↑s.card / ↑t.card * x ^ 2 ≤ (∑ i ∈ t, f i ^ 2) / ↑t.card
state_after: no goals

tactic: rwa [abs_of_nonneg hx]
state_before: α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
⊢ |x| ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
state_after: no goals

tactic: apply h₁.trans
state_before: α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
⊢ x ^ 2 ≤ ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
state_after: α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
⊢ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2 ≤
    ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2

tactic: rw [sum_sub_distrib, sum_const, nsmul_eq_mul, sub_div, mul_div_cancel_left₀ _ hscard.ne']
state_before: α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Fintype α
P : Finpartition univ
u : Finset α
ε : ℝ
l : ℕ
ι : Type u_2
𝕜 : Type u_3
inst✝¹ : LinearOrderedField 𝕜
r : ι → ι → Prop
inst✝ : DecidableRel r
s t : Finset ι
x : 𝕜
hst : s ⊆ t
f : ι → 𝕜
d : 𝕜
hx : 0 ≤ x
hs : x ≤ |(∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card|
ht : d ≤ ((∑ i ∈ t, f i) / ↑t.card) ^ 2
hscard : 0 < ↑s.card
htcard : 0 < ↑t.card
h₁ : x ^ 2 ≤ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2
⊢ ((∑ i ∈ s, f i) / ↑s.card - (∑ i ∈ t, f i) / ↑t.card) ^ 2 ≤
    ((∑ i ∈ s, (f i - (∑ j ∈ t, f j) / ↑t.card)) / ↑s.card) ^ 2
state_after: no goals