# mathlibdocumentation

topology.metric_space.gromov_hausdorff_realized

def Gromov_Hausdorff.candidates (α : Type u) (β : Type v) [metric_space α] [nonempty α] [metric_space β] [nonempty β] :
set (prod_space_fun α β)

The set of functions on α ⊕ β that are candidates distances to realize the minimum of the Hausdorff distances between α and β in a coupling

Equations
def Gromov_Hausdorff.candidates_b_of_candidates {α : Type u} {β : Type v} [metric_space α] [nonempty α] [metric_space β] [nonempty β] (f : prod_space_fun α β) :
Cb α β

candidates give rise to elements of bounded_continuous_functions

Equations
theorem Gromov_Hausdorff.candidates_b_of_candidates_mem {α : Type u} {β : Type v} [metric_space α] [nonempty α] [metric_space β] [nonempty β] (f : prod_space_fun α β) (fA : f ) :
candidates_b α β

def Gromov_Hausdorff.candidates_b_dist (α : Type u) (β : Type v) [metric_space α] [inhabited α] [metric_space β] [inhabited β] :
Cb α β

Equations
theorem Gromov_Hausdorff.candidates_b_dist_mem_candidates_b {α : Type u} {β : Type v} [metric_space α] [nonempty α] [metric_space β] [nonempty β] :
candidates_b α β

def Gromov_Hausdorff.HD {α : Type u} {β : Type v} [metric_space α] [nonempty α] [metric_space β] [nonempty β] :
Cb α β

We will then choose the candidate minimizing the Hausdorff distance. Except that we are not in a metric space setting, so we need to define our custom version of Hausdorff distance, called HD, and prove its basic properties.

Equations
theorem Gromov_Hausdorff.HD_below_aux1 {α : Type u} {β : Type v} [metric_space α] [nonempty α] [metric_space β] [nonempty β] {f : Cb α β} (C : ) {x : α} :
bdd_below (set.range (λ (y : β), f (sum.inl x, sum.inr y) + C))

theorem Gromov_Hausdorff.HD_below_aux2 {α : Type u} {β : Type v} [metric_space α] [nonempty α] [metric_space β] [nonempty β] {f : Cb α β} (C : ) {y : β} :
bdd_below (set.range (λ (x : α), f (sum.inl x, sum.inr y) + C))

theorem Gromov_Hausdorff.HD_candidates_b_dist_le {α : Type u} {β : Type v} [metric_space α] [nonempty α] [metric_space β] [nonempty β] :

Explicit bound on HD (dist). This means that when looking for minimizers it will be sufficient to look for functions with HD(f) bounded by this bound.

def Gromov_Hausdorff.premetric_optimal_GH_dist (α : Type u) (β : Type v) [metric_space α] [nonempty α] [metric_space β] [nonempty β] :

With the optimal candidate, construct a premetric space structure on α ⊕ β, on which the predistance is given by the candidate. Then, we will identify points at 0 predistance to obtain a genuine metric space

Equations
def Gromov_Hausdorff.optimal_GH_coupling (α : Type u) (β : Type v) [metric_space α] [nonempty α] [metric_space β] [nonempty β] :
Type (max u v)

A metric space which realizes the optimal coupling between α and β

Equations
@[instance]
def Gromov_Hausdorff.optimal_GH_coupling.metric_space (α : Type u) (β : Type v) [metric_space α] [nonempty α] [metric_space β] [nonempty β] :

def Gromov_Hausdorff.optimal_GH_injl (α : Type u) (β : Type v) [metric_space α] [nonempty α] [metric_space β] [nonempty β] :

Injection of α in the optimal coupling between α and β

Equations
theorem Gromov_Hausdorff.isometry_optimal_GH_injl (α : Type u) (β : Type v) [metric_space α] [nonempty α] [metric_space β] [nonempty β] :

The injection of α in the optimal coupling between α and β is an isometry.

def Gromov_Hausdorff.optimal_GH_injr (α : Type u) (β : Type v) [metric_space α] [nonempty α] [metric_space β] [nonempty β] :

Injection of β in the optimal coupling between α and β

Equations
theorem Gromov_Hausdorff.isometry_optimal_GH_injr (α : Type u) (β : Type v) [metric_space α] [nonempty α] [metric_space β] [nonempty β] :

The injection of β in the optimal coupling between α and β is an isometry.

@[instance]
def Gromov_Hausdorff.compact_space_optimal_GH_coupling (α : Type u) (β : Type v) [metric_space α] [nonempty α] [metric_space β] [nonempty β] :

The optimal coupling between two compact spaces α and β is still a compact space

theorem Gromov_Hausdorff.Hausdorff_dist_optimal_le_HD (α : Type u) (β : Type v) [metric_space α] [nonempty α] [metric_space β] [nonempty β] {f : Cb α β} :
f candidates_b α β

For any candidate f, HD(f) is larger than or equal to the Hausdorff distance in the optimal coupling. This follows from the fact that HD of the optimal candidate is exactly the Hausdorff distance in the optimal coupling, although we only prove here the inequality we need.