OAI/Analysis/Brenier/SharpMaps.lean
46 declarations, 0 contain sorry, 0 declared as axioms
- def
OAI.Problem358.Sharpness.centralCellline 17Source documentation
The central cell of the three-plane example.
def centralCell (i j : Fin d) (a b : ℝ) : Set (EuclideanSpace ℝ (Fin d)) := …
- def
OAI.Problem358.Sharpness.outerSlopeline 21Source documentation
A fixed measurable choice of the outer slope.
def outerSlope (i : Fin d) (x : EuclideanSpace ℝ (Fin d)) : EuclideanSpace ℝ (Fin d) := … - def
OAI.Problem358.Sharpness.slabMapline 26Source documentation
A transport map selected from the maximum of -xᵢ, xᵢ and a+b*xⱼ.
def slabMap (i j : Fin d) (a b : ℝ) (x : EuclideanSpace ℝ (Fin d)) : EuclideanSpace ℝ (Fin d) := by … - lemma
OAI.Problem358.Sharpness.measurableSet_centralCellline 31 - lemma
OAI.Problem358.Sharpness.measurable_outerSlopeline 36 - lemma
OAI.Problem358.Sharpness.measurable_slabMapline 42 - lemma
OAI.Problem358.Sharpness.norm_outerSlopeline 46 - lemma
OAI.Problem358.Sharpness.norm_sq_single_sub_singleline 51 - lemma
OAI.Problem358.Sharpness.norm_sq_outerSlope_sub_singleline 56 - lemma
OAI.Problem358.Sharpness.single_zeroline 62 - lemma
OAI.Problem358.Sharpness.slabMap_norm_sq_differenceline 67Source documentation
The exact pointwise cost identity for the sharpness construction.
lemma slabMap_norm_sq_difference (i j : Fin d) (hij : i ≠ j) (a b : ℝ) (x : EuclideanSpace ℝ (Fin d)) : ‖slabMap i j a 0 x - slabMap i j a b x‖ ^ 2 = (centralCell i j a 0 ∆ centralCell i j a b).indicator (fun _ => (1 : ℝ)) x + (centralCell i j a b).indicator (fun _ => b ^ 2) x := by …Mentions: OAI.Problem358.Sharpness.slabMap, OAI.Problem358.Sharpness.centralCell
- def
OAI.Problem358.Sharpness.sitesline 82Source documentation
The three site vectors, ordered negative/positive/central.
def sites (i j : Fin d) (b : ℝ) : Fin 3 → EuclideanSpace ℝ (Fin d) := …
- def
OAI.Problem358.Sharpness.interceptsline 86Source documentation
The corresponding affine intercepts.
def intercepts (a : ℝ) : Fin 3 → ℝ := ![0, 0, a]
- def
OAI.Problem358.Sharpness.potentialline 89Source documentation
The maximum of the three affine branches.
def potential (i j : Fin d) (a b : ℝ) (x : EuclideanSpace ℝ (Fin d)) : ℝ := …
- lemma
OAI.Problem358.Sharpness.inner_outerSlopeline 92 - lemma
OAI.Problem358.Sharpness.site_affine_le_potentialline 99 - lemma
OAI.Problem358.Sharpness.exists_active_siteline 110Source documentation
Everywhere, the selected slope is one of the three active affine branches.
lemma exists_active_site (i j : Fin d) (a b : ℝ) (x : EuclideanSpace ℝ (Fin d)) : ∃ k : Fin 3, slabMap i j a b x = sites i j b k ∧ potential i j a b x = inner ℝ (sites i j b k) x + intercepts a k := by …Mentions: OAI.Problem358.Sharpness.slabMap, OAI.Problem358.Sharpness.sites, OAI.Problem358.Sharpness.potential, OAI.Problem358.Sharpness.intercepts
- lemma
OAI.Problem358.Sharpness.slabMap_supportingline 132 - lemma
OAI.Problem358.Sharpness.sites_injectiveline 142Source documentation
The three sites are distinct whenever the coordinate directions are distinct.
lemma sites_injective (i j : Fin d) (hij : i ≠ j) (b : ℝ) : Function.Injective (sites i j b) := by …Mentions: OAI.Problem358.Sharpness.sites
- lemma
OAI.Problem358.Sharpness.site_eq_slabMap_of_activeline 152Source documentation
Away from the two slanted boundary hyperplanes, the active slope is unique. The positive-threshold assumption excludes the tie between the two outer branches.
lemma site_eq_slabMap_of_active (i j : Fin d) (a b : ℝ) (x : EuclideanSpace ℝ (Fin d)) (hq : 0 < a + b * x j) (htie : |x i| ≠ a + b * x j) (k : Fin 3) (hk : inner ℝ (sites i j b k) x + intercepts a k = potential i j a b x) : sites i j b k = slabMap i j a b x := by …Mentions: OAI.Problem358.Sharpness.sites, OAI.Problem358.Sharpness.intercepts, OAI.Problem358.Sharpness.potential, OAI.Problem358.Sharpness.slabMap
- def
OAI.Problem358.Sharpness.slabIndexline 194Source documentation
A finite label for the cell partition and its pushforward law.
def slabIndex (i j : Fin d) (a b : ℝ) (x : EuclideanSpace ℝ (Fin d)) : Fin 3 := by …
- lemma
OAI.Problem358.Sharpness.slabMap_eq_sites_slabIndexline 198 - lemma
OAI.Problem358.Sharpness.slabMap_eq_site_iffline 205 - lemma
OAI.Problem358.Sharpness.slabMap_mem_range_sitesline 211 - lemma
OAI.Problem358.Sharpness.slabIndex_eq_two_iffline 216 - lemma
OAI.Problem358.Sharpness.slabIndex_eq_zero_iffline 224 - lemma
OAI.Problem358.Sharpness.slabIndex_eq_one_iffline 245 - lemma
OAI.Problem358.Sharpness.threshold_boundsline 265 - lemma
OAI.Problem358.Sharpness.norm_sites_le_oneline 270 - lemma
OAI.Problem358.Sharpness.abs_sites_coordinate_le_oneline 277 - lemma
OAI.Problem358.Sharpness.continuous_potentialline 282 - lemma
OAI.Problem358.Sharpness.integral_slabMap_norm_sq_differenceline 289Source documentation
Integration reduces the map-distance computation to the masses of two cells.
lemma integral_slabMap_norm_sq_difference (i j : Fin d) (hij : i ≠ j) (a b : ℝ) (ρ : Measure (EuclideanSpace ℝ (Fin d))) [IsFiniteMeasure ρ] : (∫ x, ‖slabMap i j a 0 x - slabMap i j a b x‖ ^ 2 ∂ρ) = (ρ (centralCell i j a 0 ∆ centralCell i j a b)).toReal + b ^ 2 * (ρ (centralCell i j a b)).toReal := by …Mentions: OAI.Problem358.Sharpness.slabMap, OAI.Problem358.Sharpness.centralCell
- lemma
OAI.Problem358.Sharpness.potential_eq_finiteAffineline 310 - lemma
OAI.Problem358.Sharpness.exists_maximizes_siteline 322 - lemma
OAI.Problem358.Sharpness.slabIndex_maximizesline 331 - lemma
OAI.Problem358.Sharpness.eq_slabMap_of_maximizesline 339 - def
OAI.Problem358.Sharpness.slabSelectorline 360Source documentation
The selected branch, with central branches taking precedence on ties.
def slabSelector (i j : Fin d) (a b : ℝ) (x : E d) : Fin 3 := by …
- lemma
OAI.Problem358.Sharpness.measurable_slabSelectorline 364 - lemma
OAI.Problem358.Sharpness.slabMap_eq_sites_selectorline 371 - lemma
OAI.Problem358.Sharpness.slabSelector_preimage_zeroline 378 - lemma
OAI.Problem358.Sharpness.slabSelector_preimage_oneline 385 - lemma
OAI.Problem358.Sharpness.slabSelector_preimage_twoline 392 - lemma
OAI.Problem358.Sharpness.map_slabMap_of_cell_massesline 400Source documentation
Exact cell masses immediately determine the pushforward law of the slab map.
lemma map_slabMap_of_cell_masses (ρ : Measure (E d)) (i j : Fin d) (a b : ℝ) (hneg : ρ {x | x ∉ centralCell i j a b ∧ x i < 0} = ENNReal.ofReal ((1-a)/2)) (hpos : ρ {x | x ∉ centralCell i j a b ∧ 0 ≤ x i} = ENNReal.ofReal ((1-a)/2)) (hcent : ρ (centralCell i j a b) = ENNReal.ofReal a) : Measure.map (slabMap i j a b) ρ = ∑ k, sharpWeights a k • Measure.dirac (sites i j b k) := by …Mentions: OAI.Problem358.Sharpness.centralCell, OAI.Problem358.Sharpness.slabMap, OAI.Problem358.sharpWeights, OAI.Problem358.Sharpness.sites
- lemma
OAI.Problem358.sharpAtoms_eq_sitesline 429 - lemma
OAI.Problem358.sharpAxis_neline 432 - lemma
OAI.Problem358.map_slabMap_eq_sharpTarget_of_cell_massesline 436Source documentation
The branch law in the target-family notation used by the sharpness theorem.
lemma map_slabMap_eq_sharpTarget_of_cell_masses (d : ℕ) (hd : 2 ≤ d) (ρ : Measure (E d)) (a b : ℝ) (hneg : ρ {x | x ∉ Sharpness.centralCell (sharpAxis0 d hd) (sharpAxis1 d hd) a b ∧ x (sharpAxis0 d hd) < 0} = ENNReal.ofReal ((1-a)/2)) (hpos : ρ {x | x ∉ Sharpness.centralCell (sharpAxis0 d hd) (sharpAxis1 d hd) a b ∧ 0 ≤ x (sharpAxis0 d hd)} = ENNReal.ofReal ((1-a)/2)) (hcent : ρ (Sharpness.centralCell (sharpAxis0 d hd) (sharpAxis1 d hd) a b) = ENNReal.ofReal a) : Measure.map (Sharpness.slabMap (sharpAxis0 d hd) (sharpAxis1 d hd) a b) ρ = sharpTarget d hd a b := by …Mentions: OAI.Problem358.Sharpness.centralCell, OAI.Problem358.sharpAxis0, OAI.Problem358.sharpAxis1, OAI.Problem358.Sharpness.slabMap, OAI.Problem358.sharpTarget