Borel graphs with singleton vertical sections #
A functional Borel graph — a Borel G ⊆ X × Y with at most one y above each x — has a
Borel domain, and the partial function it names is Borel measurable.
Both facts are Lusin–Souslin (Gao, Invariant Descriptive Set Theory, CRC Press, 2009, Theorem 1.3.1), which Mathlib supplies; this file packages the argument so consumers never restate it. Nothing here is model-theoretic.
The results #
measurableSet_domain— the domainProd.fst '' Gis Borel. Proved directly, with no subtype:MeasurableSet.image_of_measurable_injOnasks forInjOn, andInjOn Prod.fst Gis exactly the functionality hypothesis.measurableEmbedding_proj— the projection↥G → Xis a measurable embedding. Restricting the projection to↥GturnsinjOn_fstinto the global injectivity required byMeasurable.measurableEmbedding.equivDomain— hence a measurable equivalence↥G ≃ᵐ ↥domain, whose inverse is measurable by construction.value,measurable_value,value_mem,value_eq_of_mem— the induced partial function on the domain, measurable, and identified: a measurable-but-unspecified map would be unusable, so the two specifications are part of the interface rather than an afterthought.
Scope #
Only the canonical subtype-domain value map is built. Totalized forms — X → Option Y, or a
junk-valued X → Y — are derivable from it and are deliberately deferred until a consumer needs
one; building all three now would fix an interface no caller has yet exercised.
A Borel graph whose vertical sections are singletons or empty: it names a partial function.
- measurableSet_graph : MeasurableSet G
The graph is Borel.
At most one point lies above each first coordinate.
Instances For
The domain: the first coordinates covered by the graph.
Depends only on G — the evidence is taken so that h.domain reads naturally at use sites.
Instances For
Functionality, as injectivity of the projection on G. This is the exact hypothesis
MeasurableSet.image_of_measurable_injOn consumes.
The domain is Borel (Lusin–Souslin).
The subtype layer #
Restricting the projection to ↥G turns injOn_fst into the global injectivity required by
Measurable.measurableEmbedding.
The projection of the graph onto its first coordinate.
Equations
- BorelFunctionalGraph.proj G p = (↑p).1
Instances For
The projection is a measurable embedding (Lusin–Souslin).
The graph is measurably equivalent to its domain. In particular the inverse of the projection is measurable — the point of the whole construction.
Built explicitly with a transparent forward map, so coe_equivDomain holds by rfl;
measurability of the inverse comes from MeasurableEmbedding.measurable_rangeSplitting.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The forward map is the projection — true by construction, and what identifies value.
The value map #
value alone would be unusable: a measurable map with no stated relation to G identifies
nothing. value_mem and value_eq_of_mem are therefore part of the interface — the first says
the selected value is the one the graph names, the second is uniqueness in the form callers
actually apply.
The partial function named by the graph, on its domain.
Equations
- h.value x = (↑(h.equivDomain.symm x)).2
Instances For
The selected value is the one the graph names.
Uniqueness, in the form callers apply: any value the graph names at a domain point is the selected one.
The value map is measurable.