Built with Alectryon, running Lean4 v4.17.0. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑ Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use instead of Ctrl.
/-
  Created in 2024 by Gaëtan Serré
-/

/-
  Formalization of the proof on the upper bound of the probability for LIPO to reject a candidate.
-/

import Mathlib.Order.CompletePartialOrder
import Mathlib.MeasureTheory.Measure.Lebesgue.VolumeOfBalls
import LeanLIPO.CompactUtils

open Metric Finset MeasureTheory ENNReal Set

/- The dimension of the space. -/
variable {d : ℕ} (hd : 0 < d)

include hd in
/-- Utility lemma: the the bigger the radius of a ball, the bigger its volume. -/
lemma volume_ball_mono (x₁ x₂ : EuclideanSpace  (Fin d))
    (r₁ r₂ : ℝ) (h : r₁  r₂) : volume (ball x₁ r₁)  volume (ball x₂ r₂) := 

Goals accomplished! 🐙
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂

volume (ball x₁ r₁) volume (ball x₂ r₂)
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)

volume (ball x₁ r₁) volume (ball x₂ r₂)
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂

volume (ball x₁ r₁) volume (ball x₂ r₂)
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)

volume (ball x₁ r₁) volume (ball x₂ r₂)
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)

ENNReal.ofReal r₁ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) volume (ball x₂ r₂)
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)

ENNReal.ofReal r₁ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) ENNReal.ofReal r₂ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1))
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)

ENNReal.ofReal r₁ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) volume (ball x₂ r₂)
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)

ENNReal.ofReal r₁ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) ENNReal.ofReal r₂ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1))
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)

ENNReal.ofReal r₁ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) ENNReal.ofReal r₂ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1))
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂

volume (ball x₁ r₁) volume (ball x₂ r₂)
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)

ENNReal.ofReal r₁ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) ENNReal.ofReal r₂ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1))

Goals accomplished! 🐙
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)

ENNReal.ofReal r₁ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) ENNReal.ofReal r₂ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1))
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)

ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) 0

Goals accomplished! 🐙
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this✝: Nonempty (Fin d)
this: 0 < Real.pi ^ d / Real.Gamma (d / 2 + 1)

ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) 0

Goals accomplished! 🐙
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)

ENNReal.ofReal r₁ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) ENNReal.ofReal r₂ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1))
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)
sqrt_pi_pos: 0 < Real.pi ^ d

0 < Real.pi ^ d / Real.Gamma (d / 2 + 1)
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)

ENNReal.ofReal r₁ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) ENNReal.ofReal r₂ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1))
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)
sqrt_pi_pos: 0 < Real.pi ^ d

0 < Real.pi ^ d / Real.Gamma (d / 2 + 1)

Goals accomplished! 🐙
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)
sqrt_pi_pos: 0 < Real.pi ^ d

0 < Real.pi ^ d / Real.Gamma (d / 2 + 1)
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this✝: Nonempty (Fin d)
sqrt_pi_pos: 0 < Real.pi ^ d
this: 0 < d / 2

0 < d / 2 + 1
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)
sqrt_pi_pos: 0 < Real.pi ^ d

0 < Real.pi ^ d / Real.Gamma (d / 2 + 1)

Goals accomplished! 🐙
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)

ENNReal.ofReal r₁ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) ENNReal.ofReal r₂ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1))

Goals accomplished! 🐙
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂

volume (ball x₁ r₁) volume (ball x₂ r₂)
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)
h1: ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) 0

ENNReal.ofReal r₁ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) ENNReal.ofReal r₂ ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1))
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)
h1: ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) 0

ENNReal.ofReal r₁ ^ d ENNReal.ofReal r₂ ^ d
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂
this: Nonempty (Fin d)
h1: ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1)) 0

ENNReal.ofReal r₁ ^ d ENNReal.ofReal r₂ ^ d
d:
hd: 0 < d
x₁, x₂: EuclideanSpace (Fin d)
r₁, r₂:
h: r₁ r₂

volume (ball x₁ r₁) volume (ball x₂ r₂)

Goals accomplished! 🐙
/-- `Finset` is a finite set of elements. The image of a nonempty `Finset` by a function is also nonempty. -/ lemma image_nonempty β : Type*} [DecidableEq β] {f : α β} {A : Finset α} (ha : A.Nonempty) : (A.image f).Nonempty := (Finset.image_nonempty).mpr ha /- The search space. -/ variable {X : Set (EuclideanSpace (Fin d))} (hcompact : IsCompact X) (hne : X.Nonempty) /- To create the instance `MeasureSpace X` -/ attribute [local instance] Measure.Subtype.measureSpace /-- The subtraction operator for the subtype `X`. It uses the operator from the encompassing type. -/ noncomputable instance : HSub X X (EuclideanSpace (Fin d)) where hSub := fun x y x.1 - y.1 /-- Definition of the diameter of the image of `X` by a continuous function. -/ noncomputable def diam {f : X ℝ} (hf : Continuous f) := f (hcompact.exists_argmax hf hne).choose - f (hcompact.exists_argmin hf hne).choose noncomputable def image_max (f : X ℝ) {A : Finset X} (hA : A.Nonempty) := (A.image f).max' (image_nonempty hA) /-- Wether the candidate `x` is being rejected. -/ def is_rejected (f : X ℝ) {A : Finset X} (hA : A.Nonempty) : ℝ) (x : X) := (A.image (fun y f y + κ * x - y)).min' (image_nonempty hA) < image_max f hA /-- The set containing all points that are rejected, given a nonempty `Finset` of potential maximizers -/ def rejected (f : X ℝ) {A : Finset X} (hA : A.Nonempty) : ℝ) := {x | is_rejected f hA κ x} /-- A candidate `x` is rejected iff it belongs to a ball determined by the best maximizer found so far and a potential maximizer. -/ theorem reject_iff_ball (f : X ℝ) {A : Finset X} (hA : A.Nonempty) : ℝ} (hκ : 0 < κ) (x : X) : is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ) :=

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:

is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:

is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:

is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:

is_rejected f hA κ x x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

is_rejected f hA κ x x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

(Finset.image (fun y => f y + κ * x - y) A).min' < image_max f hA x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

(Finset.image (fun y => f y + κ * x - y) A).min' < image_max f hA x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

(Finset.image (fun y => f y + κ * x - y) A).min' < image_max f hA x₁ A, x ball x₁ ((f' - f x₁) / κ)

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

f'' < image_max f hA x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

mp
f'' < image_max f hA x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
( x₁ A, x ball x₁ ((f' - f x₁) / κ)) f'' < image_max f hA
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

mp
f'' < image_max f hA x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

mp
f'' < image_max f hA x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
( x₁ A, x ball x₁ ((f' - f x₁) / κ)) f'' < image_max f hA
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
h: f'' < image_max f hA

mp
x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

mp
f'' < image_max f hA x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
h: f'' < image_max f hA
this: x₁ A, f x₁ + κ * x - x₁ = f''

mp
x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

mp
f'' < image_max f hA x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
h: f'' < image_max f hA
x₁: X
hx₁: x₁ A
hfx₁: f x₁ + κ * x - x₁ = f''

mp.intro.intro
x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

mp
f'' < image_max f hA x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
h: f'' < image_max f hA
x₁: X
hx₁: x₁ A
hfx₁: f x₁ + κ * x - x₁ = f''

h
x₁ A x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

mp
f'' < image_max f hA x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
h: f'' < image_max f hA
x₁: X
hx₁: x₁ A
hfx₁: f x₁ + κ * x - x₁ = f''

h
x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

mp
f'' < image_max f hA x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
h: f'' < image_max f hA
x₁: X
hx₁: x₁ A
hfx₁: f x₁ + κ * x - x₁ = f''

h
x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
x₁: X
h: f x₁ + κ * x - x₁ < image_max f hA
hx₁: x₁ A
hfx₁: f x₁ + κ * x - x₁ = f''

h
x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
x₁: X
h: f x₁ + κ * x - x₁ < image_max f hA
hx₁: x₁ A
hfx₁: f x₁ + κ * x - x₁ = f''

h
x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
x₁: X
h: f x₁ + κ * x - x₁ < image_max f hA
hx₁: x₁ A
hfx₁: f x₁ + κ * x - x₁ = f''

h
x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

mp
f'' < image_max f hA x₁ A, x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
x₁: X
h: f x₁ + κ * x - x₁ < image_max f hA
hx₁: x₁ A
hfx₁: f x₁ + κ * x - x₁ = f''
norm_ineq: x - x₁ < (f' - f x₁) / κ

h
x ball x₁ ((f' - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :

mp
f'' < image_max f hA x₁ A, x ball x₁ ((f' - f x₁) / κ)

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
x₁: X
hx₁: x₁ A
h: x ball x₁ ((f' - f x₁) / κ)

mpr.intro.intro
f'' < image_max f hA
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
x₁: X
hx₁: x₁ A
h: x ball x₁ ((f' - f x₁) / κ)
reject: f x₁ + κ * x - x₁ < f'

mpr.intro.intro
f'' < image_max f hA
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
f':= image_max f hA:
f'':= (Finset.image (fun y => f y + κ * x - y) A).min' :
x₁: X
hx₁: x₁ A
h: x ball x₁ ((f' - f x₁) / κ)
reject: f x₁ + κ * x - x₁ < f'
min_le: f'' f x₁ + κ * x - x₁

mpr.intro.intro
f'' < image_max f hA
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

is_rejected f hA κ x x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)

Goals accomplished! 🐙
/-- The set of rejected candidates is equal to the union indexed by `A` of balls.-/ theorem reject_iff_ball_set (f : X ℝ) {A : Finset X} (hA : A.Nonempty) : ℝ} (hκ : 0 < κ) : rejected f hA κ = xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ) :=

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ

rejected f hA κ = xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

h
x rejected f hA κ x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ

rejected f hA κ = xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

h.mp
x rejected f hA κ x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ) x rejected f hA κ
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ

rejected f hA κ = xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

h.mp
x rejected f hA κ x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

h.mp
x rejected f hA κ x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ) x rejected f hA κ
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
hx: x rejected f hA κ

h.mp
x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

h.mp
x rejected f hA κ x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
hx: x rejected f hA κ
x₁: X
hx₁: x₁ A
hx₁ball: x ball x₁ ((image_max f hA - f x₁) / κ)

h.mp.intro.intro
x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X

h.mp
x rejected f hA κ x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ

rejected f hA κ = xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
hx: x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)

h.mpr
x rejected f hA κ
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ

rejected f hA κ = xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
hx: x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)

h.mpr
x rejected f hA κ

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
hx: x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)
this: is_rejected f hA κ x

x rejected f hA κ

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ

rejected f hA κ = xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
hx: x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)

h.mpr
is_rejected f hA κ x
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
hx: x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)

h.mpr
x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
x: X
hx: x xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)

h.mpr
x₁ A, x ball x₁ ((image_max f hA - f x₁) / κ)
d:
X: Set (EuclideanSpace (Fin d))
f: X
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ

rejected f hA κ = xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)

Goals accomplished! 🐙
/-- The diameter is bigger than any distance within `A`. -/ lemma diam_le {f : X ℝ} (hf : Continuous f) {A : Finset X} (hA : A.Nonempty) : ⦃x⦄, x A image_max f hA - f x diam hcompact hne hf :=

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty

⦃x : X⦄, x A image_max f hA - f x _root_.diam hcompact hne hf
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
x: X
a✝: x A

image_max f hA - f x _root_.diam hcompact hne hf
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty

⦃x : X⦄, x A image_max f hA - f x _root_.diam hcompact hne hf
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
x: X
a✝: x A

image_max f hA - f x _root_.diam hcompact hne hf

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
x: X
a✝: x A

image_max f hA - f x _root_.diam hcompact hne hf
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
x: X
a✝: x A
this: x₁ A, f x₁ = image_max f hA

image_max f hA f ⋯.choose
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
x: X
a✝: x A

image_max f hA - f x _root_.diam hcompact hne hf
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
x: X
a✝: x A
x₁: X
left✝: x₁ A
hfx₁: f x₁ = image_max f hA

intro.intro
image_max f hA f ⋯.choose
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
x: X
a✝: x A

image_max f hA - f x _root_.diam hcompact hne hf
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
x: X
a✝: x A
x₁: X
left✝: x₁ A
hfx₁: f x₁ = image_max f hA

intro.intro
image_max f hA f ⋯.choose
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
x: X
a✝: x A
x₁: X
left✝: x₁ A
hfx₁: f x₁ = image_max f hA

intro.intro
f x₁ f ⋯.choose
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
x: X
a✝: x A
x₁: X
left✝: x₁ A
hfx₁: f x₁ = image_max f hA

intro.intro
f x₁ f ⋯.choose
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
x: X
a✝: x A

image_max f hA - f x _root_.diam hcompact hne hf

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty

⦃x : X⦄, x A image_max f hA - f x _root_.diam hcompact hne hf

Goals accomplished! 🐙
/-- The uniform measure on `X`. -/ noncomputable def μ : Measure X := (volume X)⁻¹ volume include hcompact in /-- Utility lemma. It shows that the volume restricted on `X` of a ball is less or equal than the volume on the entire space of the same ball. -/ lemma le_coe_volume (r : ℝ) (x : X) : volume (ball x r) volume (ball x.1 r) :=

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (ball x r) volume (ball (x) r)

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

(Measure.comap Subtype.val volume) (ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

(Measure.comap Subtype.val volume) (ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (Subtype.val '' ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
(s : Set { x // x X }), MeasurableSet s NullMeasurableSet (Subtype.val '' s) volume
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
NullMeasurableSet (ball x r) (Measure.comap Subtype.val volume)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (Subtype.val '' ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
(s : Set { x // x X }), MeasurableSet s NullMeasurableSet (Subtype.val '' s) volume
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
NullMeasurableSet (ball x r) (Measure.comap Subtype.val volume)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

hf
(s : Set { x // x X }), MeasurableSet s NullMeasurableSet (Subtype.val '' s) volume
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
volume (Subtype.val '' ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
NullMeasurableSet (ball x r) (Measure.comap Subtype.val volume)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (Subtype.val '' ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
NullMeasurableSet (ball x r) (Measure.comap Subtype.val volume)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

hs
NullMeasurableSet (ball x r) (Measure.comap Subtype.val volume)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
volume (Subtype.val '' ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

hs
NullMeasurableSet (ball x r) (Measure.comap Subtype.val volume)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
volume (Subtype.val '' ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (Subtype.val '' ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (Subtype.val '' ball x r) volume (ball (x) r)

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
this: Subtype.val '' ball x r ball (x) r

volume (Subtype.val '' ball x r) volume (ball (x) r)

Goals accomplished! 🐙
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
y: EuclideanSpace (Fin d)
hy: y Subtype.val '' ball x r

y ball (x) r
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
y: EuclideanSpace (Fin d)
hy: y Subtype.val '' ball x r
x': { x // x X }
h1x': x' ball x r
h2x': x' = y

intro.intro
y ball (x) r
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (ball x r) volume (ball (x) r)
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
y: EuclideanSpace (Fin d)
hy: y Subtype.val '' ball x r
x': { x // x X }
h1x': x' ball x r
h2x': x' = y

intro.intro
y ball (x) r
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
y: EuclideanSpace (Fin d)
hy: y Subtype.val '' ball x r
x': { x // x X }
h1x': x' ball x r
h2x': x' = y

intro.intro
x' ball (x) r
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X
y: EuclideanSpace (Fin d)
hy: y Subtype.val '' ball x r
x': { x // x X }
h1x': x' ball x r
h2x': x' = y

intro.intro
x' ball (x) r
d:
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
r:
x: X

volume (ball x r) volume (ball (x) r)

Goals accomplished! 🐙
/-- The measure over the entire space of a ball of radius `diam`. -/ noncomputable def measure_ball_diam {f : X ℝ} (hf : Continuous f) : ℝ) := (volume X)⁻¹ * (ENNReal.ofReal (diam hcompact hne hf / κ) ^ d * ENNReal.ofReal (Real.pi ^ d / ((d : ℝ) / 2 + 1).Gamma)) include hd hcompact in /-- **Main theorem**: the measure of the rejected candidates is less or equal than the volume of `|A|` ball of radius `diam`. -/ theorem measure_reject_le {f : X ℝ} (hf : Continuous f) {A : Finset X} (hA : A.Nonempty) : ℝ} (hκ : 0 < κ) : μ (rejected f hA κ) A.card * measure_ball_diam hcompact hne hf κ :=

Goals accomplished! 🐙
/- We rewrite the set of rejected candidates as a union of balls. -/
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ

μ (rejected f hA κ) (#A) * measure_ball_diam hcompact hne hf κ
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * measure_ball_diam hcompact hne hf κ
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * measure_ball_diam hcompact hne hf κ
/- We show that μ ∪(x ∈ A) ball(x, (A.img f).max - f (x)) ≤ ∑ (x ∈ A) (volume X)⁻¹ * volume (ball((x : ℝᵈ), diam)) -/
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * measure_ball_diam hcompact hne hf κ
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ

μ (rejected f hA κ) (#A) * measure_ball_diam hcompact hne hf κ
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * measure_ball_diam hcompact hne hf κ

Goals accomplished! 🐙
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * measure_ball_diam hcompact hne hf κ
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * measure_ball_diam hcompact hne hf κ
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))

Goals accomplished! 🐙
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))

xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))

Goals accomplished! 🐙
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))

xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))
x: X
hx: x A

μ (ball x ((image_max f hA - f x) / κ)) (volume X)⁻¹ * volume (ball (x) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))

xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))
x: X
hx: x A

μ (ball x ((image_max f hA - f x) / κ)) (volume X)⁻¹ * volume (ball (x) (diam / κ))

Goals accomplished! 🐙
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))
x: X
hx: x A

μ (ball x ((image_max f hA - f x) / κ)) (volume X)⁻¹ * volume (ball (x) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))
x: X
hx: x A
volume_comap_le: volume (ball x ((image_max f hA - f x) / κ)) volume (ball (x) ((image_max f hA - f x) / κ))

volume (ball x ((image_max f hA - f x) / κ)) volume (ball (x) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))
x: X
hx: x A

μ (ball x ((image_max f hA - f x) / κ)) (volume X)⁻¹ * volume (ball (x) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))
x: X
hx: x A
volume_comap_le: volume (ball x ((image_max f hA - f x) / κ)) volume (ball (x) ((image_max f hA - f x) / κ))
volume_ball_le: volume (ball (x) ((image_max f hA - f x) / κ)) volume (ball (x) (_root_.diam hcompact hne hf / κ))

volume (ball x ((image_max f hA - f x) / κ)) volume (ball (x) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))
x: X
hx: x A

μ (ball x ((image_max f hA - f x) / κ)) (volume X)⁻¹ * volume (ball (x) (diam / κ))

Goals accomplished! 🐙
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))

xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))
x: X
hx: x A
volume_le: volume (ball x ((image_max f hA - f x) / κ)) volume (ball (x) (diam / κ))

((volume X)⁻¹ volume) (ball x ((image_max f hA - f x) / κ)) (volume X)⁻¹ * volume (ball (x) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))

xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))
x: X
hx: x A
volume_le: volume (ball x ((image_max f hA - f x) / κ)) volume (ball (x) (diam / κ))

((volume X)⁻¹ volume) (ball x ((image_max f hA - f x) / κ)) (volume X)⁻¹ * volume (ball (x) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))
x: X
hx: x A
volume_le: volume (ball x ((image_max f hA - f x) / κ)) volume (ball (x) (diam / κ))

(volume X)⁻¹ volume (ball x ((image_max f hA - f x) / κ)) (volume X)⁻¹ * volume (ball (x) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))
x: X
hx: x A
volume_le: volume (ball x ((image_max f hA - f x) / κ)) volume (ball (x) (diam / κ))

((volume X)⁻¹ volume) (ball x ((image_max f hA - f x) / κ)) (volume X)⁻¹ * volume (ball (x) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))
x: X
hx: x A
volume_le: volume (ball x ((image_max f hA - f x) / κ)) volume (ball (x) (diam / κ))

(volume X)⁻¹ * volume (ball x ((image_max f hA - f x) / κ)) (volume X)⁻¹ * volume (ball (x) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))
x: X
hx: x A
volume_le: volume (ball x ((image_max f hA - f x) / κ)) volume (ball (x) (diam / κ))

(volume X)⁻¹ * volume (ball x ((image_max f hA - f x) / κ)) (volume X)⁻¹ * volume (ball (x) (diam / κ))
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))

xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))

Goals accomplished! 🐙
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
union_le_sum: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, μ (ball xᵢ ((image_max f hA - f xᵢ) / κ))

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))

Goals accomplished! 🐙
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * measure_ball_diam hcompact hne hf κ

Goals accomplished! 🐙
/- We show that ∑ (x ∈ A) (volume X)⁻¹ * volume (ball(x, diam)) = A.card * (volume X)⁻¹ * volume_ball_diam -/
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * _root_.measure_ball_diam hcompact hne hf κ
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ

μ (rejected f hA κ) (#A) * measure_ball_diam hcompact hne hf κ
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * _root_.measure_ball_diam hcompact hne hf κ

Goals accomplished! 🐙
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * _root_.measure_ball_diam hcompact hne hf κ
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0

xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ)) = (#A) * measure_ball_diam

Goals accomplished! 🐙
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0

xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ)) = (#A) * measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
x: X
a✝: x A

(volume X)⁻¹ * volume (ball (x) (diam / κ)) = measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0

xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ)) = (#A) * measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
x: X
a✝: x A
this: Nonempty (Fin d)

(volume X)⁻¹ * volume (ball (x) (diam / κ)) = measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0

xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ)) = (#A) * measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
x: X
a✝: x A
this: Nonempty (Fin d)

(volume X)⁻¹ * volume (ball (x) (diam / κ)) = measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
x: X
a✝: x A
this: Nonempty (Fin d)

(volume X)⁻¹ * (ENNReal.ofReal (diam / κ) ^ Fintype.card (Fin d) * ENNReal.ofReal (Real.pi ^ Fintype.card (Fin d) / Real.Gamma ((Fintype.card (Fin d)) / 2 + 1))) = measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
x: X
a✝: x A
this: Nonempty (Fin d)

(volume X)⁻¹ * volume (ball (x) (diam / κ)) = measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
x: X
a✝: x A
this: Nonempty (Fin d)

(volume X)⁻¹ * (ENNReal.ofReal (diam / κ) ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1))) = measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
x: X
a✝: x A
this: Nonempty (Fin d)

(volume X)⁻¹ * (ENNReal.ofReal (diam / κ) ^ d * ENNReal.ofReal (Real.pi ^ d / Real.Gamma (d / 2 + 1))) = measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0

xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ)) = (#A) * measure_ball_diam

Goals accomplished! 🐙
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * _root_.measure_ball_diam hcompact hne hf κ
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
volume_ball: x A, (volume X)⁻¹ * volume (ball (x) (diam / κ)) = measure_ball_diam

xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ)) = (#A) * measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
volume_ball: x A, (volume X)⁻¹ * volume (ball (x) (diam / κ)) = measure_ball_diam

x A, measure_ball_diam = (#A) * measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
volume_ball: x A, (volume X)⁻¹ * volume (ball (x) (diam / κ)) = measure_ball_diam

xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ)) = (#A) * measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
volume_ball: x A, (volume X)⁻¹ * volume (ball (x) (diam / κ)) = measure_ball_diam

x A, measure_ball_diam = #A measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
volume_ball: x A, (volume X)⁻¹ * volume (ball (x) (diam / κ)) = measure_ball_diam

x A, measure_ball_diam = #A measure_ball_diam
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * _root_.measure_ball_diam hcompact hne hf κ

Goals accomplished! 🐙
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ

μ (rejected f hA κ) (#A) * measure_ball_diam hcompact hne hf κ
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ))
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
sum_μ: xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ)) = (#A) * measure_ball_diam

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * _root_.measure_ball_diam hcompact hne hf κ
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * measure_ball_diam
sum_μ: xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ)) = (#A) * measure_ball_diam

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * _root_.measure_ball_diam hcompact hne hf κ
d:
hd: 0 < d
X: Set (EuclideanSpace (Fin d))
hcompact: IsCompact X
hne: X.Nonempty
f: X
hf: Continuous f
A: Finset X
hA: A.Nonempty
κ:
: 0 < κ
diam:= _root_.diam hcompact hne hf:
measure_ball_diam:= _root_.measure_ball_diam hcompact hne hf κ: 0
μ_le: μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * measure_ball_diam
sum_μ: xᵢ A, (volume X)⁻¹ * volume (ball (xᵢ) (diam / κ)) = (#A) * measure_ball_diam

μ ( xᵢ A, ball xᵢ ((image_max f hA - f xᵢ) / κ)) (#A) * _root_.measure_ball_diam hcompact hne hf κ

Goals accomplished! 🐙