Transport and exhaustion (A6) #
Statements split from the original Statements.lean skeleton (one file per proving task).
The mathematics is AUDIT-NOTES A6, with the paper proofs in sections 12 (lem:transport) and
13 (lem:exhaustion).
Both statements are proved. induced_transport is split into its two halves,
transport_ai_feasible (an H-witness extends to a G-witness) and
transport_compatible_restrict (a G-model restricts to an H-model); the Transport
namespace carries their machinery, and the Exhaustion namespace the graph theory behind
exhaustion. Both namespaces are nested so that their generic names cannot collide with the
rest of the library.
A6: transport along induced subgraphs, and exhaustion #
Infrastructure for transport #
The machinery of lem:transport, kept in the Transport namespace so that its generic
names do
not collide with the rest of the library: pushforward algebra and pi-type splitting, the
edge map
of an induced embedding, the extended witness (transportWitness) with its symmetry, diagonal
law and ancestral prescriptions, and the restricted model (restrictModel) with its
validity and
observed law.
Generic lemmas #
Splitting a sum over a dependent function type along a predicate #
Factor weighted expectations across complementary blocks of coordinates.
Independence: the expectation of a product of functions of disjoint blocks of coordinates factorizes.
The edge map of an induced embedding #
Key consequence of inducedness: an edge of G outside the image of the edge map meets the
image of φ in at most one vertex.
The restricted model #
Merge the H-edge values c at u with the values z of the remaining G-edges.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The model of H obtained from a model of G by keeping the sources in the image of the
edge map and averaging out the remaining ones.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Range equivalences and counting #
An injection is an equivalence onto its image, described as a subtype.
Equations
Instances For
The vertex-side splitting #
Splitting an outcome vector of G into its restriction along φ and the rest.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Marginalizing a product over the vertices of G down to the vertices of H.
The edge-side splitting #
Splitting a joint value of all G-sources into the values on the image of the edge map and
the values on the rest.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The observed law of the restricted model #
Everything the transport proof needs beyond Defs lives in this namespace, so that the
generic names do not collide with the rest of the library.
Generic pushforward infrastructure #
Pushforwards compose.
A pushforward of a law is a law.
A pushforward of a product law along a product map, evaluated at a pair of targets.
The uniform law on a finite set of fair bits #
The law of independent fair bits indexed by A.
Equations
Instances For
Restricting independent fair bits along an injection again gives independent fair bits.
The induced edge map #
Observations outside the image #
Equations
- TriangleInflation.Graph.Transport.TransportFeasible.instDecidableInRange G H φ v = { decide := decide (∃ a ∈ Finset.univ, (fun (u : H.V) => φ u = v) a), reflects_decide := ⋯ }
The vertices of G outside the image of φ.
Equations
Instances For
The H-observation that a G-observation at an image vertex reads: it keeps only the
copy indices of the sources coming from H.
Equations
- TriangleInflation.Graph.Transport.TransportFeasible.pullObs G H φ hind t o u h = ⟨u, fun (f : ↥(H.inc u)) => o.snd ⟨TriangleInflation.Graph.Transport.edgeMap G H φ hind ↑f, ⋯⟩⟩
Instances For
The extension of an H-witness assignment together with a family of outside fair bits to
a G-witness assignment.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The transported witness #
The law on the source type of the extension: an H-witness, and one independent fair bit
for every copied observation of G outside the image of φ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The transported witness: the pushforward of transportSource along the extension map.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The diagonal law #
Symmetry #
The action of a per-source permutation of copy indices, as an equivalence.
Equations
- TriangleInflation.Graph.Transport.TransportFeasible.gPermEquiv π = Equiv.sigmaCongrRight fun (x : Γ.V) => Equiv.piCongrRight fun (e : ↥(Γ.inc x)) => π ↑e
Instances For
Copy-index permutations act on the outside observations.
Equations
Instances For
The action of a G-permutation on the source type of the extension.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Splitting an outcome of G into its H-part and its outside part #
The outcome of G assembled from an H-outcome and an outside outcome.
Equations
- TriangleInflation.Graph.Transport.TransportFeasible.mergeVert G H φ q v = if h : TriangleInflation.Graph.Transport.TransportFeasible.InRange G H φ v then q.1 (Exists.choose h) else q.2 ⟨v, h⟩
Instances For
Outcomes of G split as an H-outcome together with an outcome on the outside
vertices.
Equations
Instances For
The two parts of an injectable set #
The H-part of an injectable set of copied observations of G.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The outside part of a set of copied observations of G.
Equations
- TriangleInflation.Graph.Transport.TransportFeasible.outPart G H φ t S = {x : TriangleInflation.Graph.Transport.TransportFeasible.OutObs G H φ t | ↑x ∈ S}
Instances For
The outcome pattern that the H-part inherits.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The outcome pattern that the outside vertices inherit.
Equations
- TriangleInflation.Graph.Transport.TransportFeasible.readOutVertPart G H φ t S ι ψ x = if h : TriangleInflation.Graph.copyObs ι ↑↑x ∈ S then ψ ⟨TriangleInflation.Graph.copyObs ι ↑↑x, h⟩ else false
Instances For
The marginal of the transported target on an injectable set factorizes into the marginal
of P on the H-part and fair bits on the outside vertices it reads.
Ancestry #
Ancestrally independent sets are disjoint: no copied observation is parentless.
Ancestral independence in G is inherited by the H-parts.
Independent fair bits restricted along a family of injections indexed by a sigma type.
Injectable marginals and ancestral products #
Every G-injectable set carries the corresponding marginal of the transported target.
Every finite family of pairwise ancestrally independent G-injectable sets carries the
product of the corresponding marginals of the transported target.
Transport of a witness (AUDIT-NOTES A6, forward half; paper lem:transport(ii)). An
H-witness extends to a G-witness: a copied observation at an H-vertex ignores the copy
indices of the edges leaving H, and every copied observation at an outside vertex gets its
own
independent fair bit.
Restriction of a model (AUDIT-NOTES A6, backward half; paper lem:transport(i)). A
G-model for P ⊗ fair restricts to an H-model for P: by inducedness a source of G
outside the image of H is read by at most one H-vertex, so it can be averaged out
locally as
private randomness at that vertex, and the fair bits outside integrate to one.
AUDIT-NOTES A6, induced-subgraph transport. If H embeds in G as an induced connected
subgraph and P is an H-target that passes the order-t AI test but is incompatible, then
P tensored with fair bits on the remaining vertices of G passes the order-t AI test for
G and is incompatible for G. Forward: a G-model restricted to V(H) is an H-model,
since a crossing source reaches only one H-vertex and can be absorbed as private
randomness, and inducedness means there are no extra internal sources. Backward: extend the
H-witness by ignoring crossing-edge indices at H-vertices and giving independent fair
bits to the outside observations.
Exhaustion: the two induced subgraphs #
The graph theory behind exhaustion. Everything in this section is about a bare SimpleGraph;
PairGraph plays no role until the theorem itself.
Subwalks of a shortest walk are shortest: for a walk p from u to v whose length
realizes G.dist u v, and i ≤ j ≤ p.length, the distance between the i-th and j-th
vertices of p is exactly j - i.
Symmetric form of dist_getVert_of_shortest.
AUDIT-NOTES A6, exhaustion. A connected pair graph that is not a double star contains an
induced cycle (a shortest cycle) or an induced P₅ (five consecutive vertices of a geodesic
in a tree of diameter at least four).