Completed graph, crossings, and paired routes for
Definitionexcursion_couplingBasic objects of Juillet's excursion-coupling construction on the real line.
For finite Borel measures on , the signed cumulative distribution function is , a càdlàg function of bounded variation. Its completed graph adds at every discontinuity point the vertical segment joining to ; for one calls a generalized solution of , and the set of generalized solutions at level is the level set of .
A point of the completed graph is increasing (a positive crossing, ) if on a punctured neighborhood of every point of the completed graph satisfies , and decreasing () in the symmetric case. A level is regular when its generalized solutions form a finite set of even cardinality, each is an increasing or decreasing point, and, enumerated in increasing order, they strictly alternate, starting with an increasing point when and with a decreasing one when . The paired routes (eq. (14) of the source) pair each increasing point with the adjacent decreasing point at the same regular level - the one immediately to its right when , immediately to its left when .
Finally, a set of transport routes, seen as arches over the real line, is monotone when its arches are non-crossing (any two intervals , with unordered endpoints are disjoint, meet in exactly one point, or are nested), non-connecting (the arrival point of a non-degenerate route is never the departure point of another non-degenerate route), and consistently oriented (nested arches point in the same direction).
Formalization Note The completed graph is defined through Mathlib's Function.leftLim; for the càdlàg functions used throughout the mission the left limits exist, so the definition agrees with the source. Unordered intervals are Set.uIcc.
/- Draft statements for Mission 1: Juillet (2019), arXiv:1907.00681v1
"On a solution to the Monge transport problem on the real line arising
from the strictly concave case"
Definitions layer + Theorem statements (all `by sorry`), single-file first pass. -/
import Mathlib.MeasureTheory.Measure.Lebesgue.Basic
import Mathlib.MeasureTheory.Measure.MutuallySingular
import Mathlib.Topology.Order.LeftRightLim
import Mathlib.Topology.EMetricSpace.BoundedVariation
import Mathlib.Data.Real.ENatENNReal
import Mathlib.Data.Set.Card
import Mathlib.MeasureTheory.Integral.Bochner.Basic
import Mathlib.MeasureTheory.Constructions.BorelSpace.Basic
namespace ExcursionCoupling
open MeasureTheory Set Function
/-- Cumulative distribution function of the signed measure `σ = μ - ν`:
`F_σ(x) = F_μ(x) - F_ν(x)` (Juillet 2019, eq. (1)). -/
noncomputable def Fsigma (μ ν : Measure ℝ) (x : ℝ) : ℝ :=
(μ (Iic x)).toReal - (ν (Iic x)).toReal
/-- The completed graph `Graph*(F)` of a real function: the graph completed at
discontinuity points by the vertical segments joining `(x, F(x⁻))` to `(x, F(x))`
(Juillet 2019, Section 1). -/
def completedGraph (F : ℝ → ℝ) : Set (ℝ × ℝ) :=
{p | p.2 ∈ uIcc (leftLim F p.1) (F p.1)}
/-- The set of generalized solutions of `F = h` (Juillet 2019, Section 1). -/
def levelSet (F : ℝ → ℝ) (h : ℝ) : Set ℝ :=
{x | (x, h) ∈ completedGraph F}
/-- `Graph^{*,+}(F)`: increasing (positive-crossing) points of the completed graph.
`(x,h)` is increasing if in a punctured neighborhood of `x`, every point `(x',h')` of the
completed graph satisfies `(h'-h)(x'-x) > 0` (Juillet 2019, Section 1). -/
def posPoints (F : ℝ → ℝ) : Set (ℝ × ℝ) :=
{p | p ∈ completedGraph F ∧ ∃ ε > 0, ∀ q ∈ completedGraph F,
|q.1 - p.1| < ε → q.1 ≠ p.1 → 0 < (q.2 - p.2) * (q.1 - p.1)}
/-- `Graph^{*,-}(F)`: decreasing (negative-crossing) points of the completed graph
(Juillet 2019, Section 1). -/
def negPoints (F : ℝ → ℝ) : Set (ℝ × ℝ) :=
{p | p ∈ completedGraph F ∧ ∃ ε > 0, ∀ q ∈ completedGraph F,
|q.1 - p.1| < ε → q.1 ≠ p.1 → (q.2 - p.2) * (q.1 - p.1) < 0}
/-- A level `h` is regular for `F` when the set of generalized solutions of `F = h`
is finite of even cardinality, each solution is an increasing or decreasing point, and,
enumerated in increasing order, solutions strictly alternate between increasing and
decreasing, starting with an increasing point if `h > 0` and a decreasing one if `h < 0`
(the conclusion of Juillet 2019, Proposition 3.2). -/
def regularLevel (F : ℝ → ℝ) (h : ℝ) : Prop :=
∃ n : ℕ, ∃ x : Fin (2 * n) → ℝ, StrictMono x ∧ levelSet F h = range x ∧
(∀ i : Fin (2 * n), (x i, h) ∈ posPoints F ∪ negPoints F) ∧
(∀ i : Fin (2 * n), ((x i, h) ∈ posPoints F ↔ (0 < h ↔ Even (i : ℕ))))
/-- The set `Γ` of paired routes (Juillet 2019, eq. (14)): pairs of consecutive
generalized solutions at a regular level `h ≠ 0`, the increasing point paired with the
decreasing point immediately to its right when `h > 0`, and with the decreasing point
immediately to its left when `h < 0`. -/
def pairedRoutes (F : ℝ → ℝ) : Set (ℝ × ℝ) :=
{r | ∃ h : ℝ, h ≠ 0 ∧ regularLevel F h ∧
(r.1, h) ∈ posPoints F ∧ (r.2, h) ∈ negPoints F ∧
((0 < h ∧ r.1 < r.2 ∧ ∀ z ∈ Ioo r.1 r.2, z ∉ levelSet F h) ∨
(h < 0 ∧ r.2 < r.1 ∧ ∀ z ∈ Ioo r.2 r.1, z ∉ levelSet F h))}
/-- Routes of `S` are non-crossing arches: any two closed intervals `[x,y]`, `[x',y']`
(unordered endpoints) are disjoint, meet in exactly one point, or are nested
(Juillet 2019, Definition 0.3). -/
def NonCrossing (S : Set (ℝ × ℝ)) : Prop :=
∀ p ∈ S, ∀ q ∈ S,
uIcc p.1 p.2 ∩ uIcc q.1 q.2 = ∅ ∨ (∃ z : ℝ, uIcc p.1 p.2 ∩ uIcc q.1 q.2 = {z}) ∨
uIcc p.1 p.2 ⊆ uIcc q.1 q.2 ∨ uIcc q.1 q.2 ⊆ uIcc p.1 p.2
/-- Arches of `S` do not connect: an arrival point of a non-degenerate route is never the
starting point of another non-degenerate route (Juillet 2019, Definition 0.3). -/
def NonConnecting (S : Set (ℝ × ℝ)) : Prop :=
∀ p ∈ S, ∀ q ∈ S, 0 < min |p.2 - p.1| |q.2 - q.1| → p.2 ≠ q.1
/-- Nested arches of `S` have the same orientation (Juillet 2019, Definition 0.3). -/
def SameOrientation (S : Set (ℝ × ℝ)) : Prop :=
∀ p ∈ S, ∀ q ∈ S, uIcc q.1 q.2 ⊆ Ioo (p.1 ⊓ p.2) (p.1 ⊔ p.2) →
0 ≤ (p.2 - p.1) * (q.2 - q.1)
/-- A monotone set of arches: non-crossing, non-connecting, and consistently oriented
(Juillet 2019, Definition 0.3 and Section 3.2). -/
def IsMonotoneArchSet (S : Set (ℝ × ℝ)) : Prop :=
NonCrossing S ∧ NonConnecting S ∧ SameOrientation S
end ExcursionCoupling
Read-back
What the Lean code literally says, in plain math · claude-fable-5
All notions live on with its Borel -algebra and standard order topology; pairs are used both as points of a graph and as "routes/arches".
1. (Fsigma). For two Borel measures on (arbitrary — no finiteness is assumed in the definition itself) and , is the real number
where converts a value of to a real number by the total map that sends to . Thus if either measure gives infinite mass to , that term silently contributes .
2. completedGraph. For a function , the set of pairs such that
where is the left limit of at . is a total function: at a point where has no limit from the left, is an arbitrary unspecified (junk) value, and the "vertical segment" at then joins to that junk value. For every the graph contains at least .
3. levelSet. is the set of with in the completed graph of , i.e. lies (inclusively) between and .
4. posPoints. The set of points of the completed graph of for which there exists such that every point of the completed graph with and (no restriction whatsoever on ) satisfies
5. negPoints. The same with the strict inequality reversed: every completed-graph point with , satisfies
6. regularLevel , . There exist (possibly ) and a strictly increasing list of reals such that:
- (i) exactly (for this says , and then all remaining conditions are vacuous);
- (ii) each lies in
posPointsnegPoints; - (iii) for every index ,
posPointsholds if and only if the biconditional
holds.
So for the increasing points are exactly the even-indexed ones , while for (including ; the definition itself does not require ) they are exactly the odd-indexed ones. Membership in negPoints is constrained only through (ii): where posPoints fails, negPoints must hold; where posPoints holds, simultaneous negPoints membership is not excluded by the definition.
7. pairedRoutes . The set of pairs such that there exists with , a regular level of (in the exact sense above), posPoints , negPoints , and either
- , , and no point of the open interval belongs to ; or
- , , and no point of the open interval belongs to .
8. NonCrossing . For all (including ), writing for the closed interval with endpoints taken in either order (a single point if ), at least one of:
- ;
- is a singleton for some ;
- ;
- .
(The case is trivially satisfied by the inclusion disjuncts.)
9. NonConnecting . For all , if (i.e. both routes are non-degenerate) then . Degenerate routes () are entirely unconstrained.
10. SameOrientation . For all , if the closed interval is contained in the open interval , then
If is degenerate the open interval is empty, so the hypothesis is unsatisfiable and such impose nothing; if is degenerate the conclusion holds trivially (product ).
11. IsMonotoneArchSet . The conjunction of the three conditions
Confirmed by the mission captain (proposal self-audit).