Unique totals, and the split nobody can see
Two populations cross the same network and pay the same price per edge. The equilibrium fixes how much flows on every edge, and cannot say whose flow it is: the set of splits it cannot tell apart is a face, and its dimension is a number this page decides in exact rationals — 6 on the network of Bakaryan, Aoun, de Lima Ribeiro, Hovakimyan and Gomes. Drag a direction of that face and watch the two populations trade an edge while every total holds. Drop an edge and watch the dimension re-decided.
Every band is one member of the face, drawn as such: its width is the flow, population a the brighter side, population b the darker, and the dotted outline says it was chosen, not decided. Filled nodes are exits; the two larger nodes are the entrances a and b. Click an edge to drop it.
k is decided. The two populations’ conservation systems are stacked, restricted to the 11 edges both can reach, and their null space is computed over the rationals: dimension 6, rank 5. The same arithmetic runs in this tab. It is the theorem of the face law, k = |shared| − cons + z, decided in Python on 7,850 networks and recorded in certs/facelaw-theorem.json; the JavaScript engine here is a second copy of that rule, and the page refuses to build unless the two agree on every k, z and shortcut they share (6 cycle rows, 3 failing instances, the paper’s network).
The totals are chosen. Table I of the paper prints rounded integers, and rounded integers are not a flow: at nodes 3 (-1), 4 (+2), 5 (+1), 6 (-1), 7 (-1) the printed outflow does not equal the inflow. Read as roundings to the nearest integer, its numbers allow each total ½ either way. The totals drawn are the nearest conserving flow to Table I inside that box, in the least-squares sense, solved exactly over ℚ with its optimality conditions checked: no edge moves by more than ½, and 3 edges sit on the bound. Until 2026-10-28 this page drew the nearest conserving flow with no box, and that one moved 2 edges by up to 21/37 (0.568) — outside the rounding this sentence said it was inside. A pick has to be a member of the set the data admits, so it is no longer drawn. The one drawn is one member of the rounding box, so it is dotted. The totals themselves are reproduced within their rounding and proved on the Wardrop page; this page does not re-prove them.
The split is chosen. Population a’s share of each shared edge is one point of the face, found by exact max-flow and centred so that no flow sits at zero (smallest slack 3/2). The sliders move it along the 6 directions of the null space; the ranges are where a flow would turn negative. Nothing decides which point the players actually chose — the paper’s own scenario S1 has unique totals and a split that moves across re-seeds, which is exactly the non-uniqueness this face measures.
In the grammar’s words. Three questions, three shapes of answer. What is k? The face’s dimension, decided over ℚ: its readout is solid, as are z and the shortcut, which are exact counts. Is there a conserving flow inside Table I’s rounding? Yes, and the yes is decided the way an existence is: by exhibiting one. The exhibited flow is still only one of many, so the drawing of it is dotted — a chosen witness to a decided existence, which is the difference between a mark’s standing and a question’s verdict. Whose flow is it? Not decidable from the totals: the split is one point of a 6-dimensional face, dotted, and the sliders are the rest of the face.
The shortcut k = |shared| − cons is what one would guess and what the paper’s network makes look like a law (z = 0 there). It is wrong exactly when the shared subgraph has a component with no exit, and then it undercounts by that number of components. Across 3,925 random networks the theorem was tested on (seed 5320260901), the shortcut failed 571 times and z was positive 571 times — the same 571 networks. Three of them, from the record, and the constructed family that forces it, each marked with the house’s one accent, a red ×: the shortcut is a claim about every network, and a network it gets wrong is the exhibited object that refutes it. The page draws nothing else red.
Every network in the gallery is a preset above. The engine that decided them is playground/census/engine.js, written fresh in JavaScript with BigInt rationals against the Python record, and the facts on this page were written by make-facts.mjs after that cross-check passed.