Hypercubes as Cartesian products #
This file starts the bridge from the abstract Cartesian-product pebbling theorem
to hypercubes. The first ingredient is the coordinate split
Q_{a+m} ≃ Q_a × Q_m.
Split a vertex of Q_{a+m} into its first a and last m coordinates.
Equations
- PebblingLean.Hypercube.splitVertex a m v = (fun (i : Fin a) => v (Fin.castAdd m i), fun (j : Fin m) => v (Fin.natAdd a j))
Instances For
Append vertices of Q_a and Q_m to obtain a vertex of Q_{a+m}.
Equations
- PebblingLean.Hypercube.appendVertex p = Fin.append p.1 p.2
Instances For
Coordinate splitting gives a vertex equivalence Q_{a+m} ≃ Q_a × Q_m.
Equations
- PebblingLean.Hypercube.splitVertexEquiv a m = { toFun := PebblingLean.Hypercube.splitVertex a m, invFun := PebblingLean.Hypercube.appendVertex, left_inv := ⋯, right_inv := ⋯ }
Instances For
Hamming distance splits over appended coordinates.
Appended vertices are adjacent exactly when one factor is adjacent and the other factor is unchanged.
The coordinate split preserves adjacency.
Graph isomorphism Q_(a+m) ≃ Q_a □ Q_m.
Equations
- PebblingLean.Hypercube.splitGraphIso a m = { toEquiv := PebblingLean.Hypercube.splitVertexEquiv a m, adj_iff := ⋯ }
Instances For
Hypercube-specific deterministic product step. A solvable distribution
E on Q_m specifies how many pebbles must be prepared in each Q_a fiber;
if those fiber demands can be met within the given costs, then Q_(a+m) has a
solvable distribution with the summed cost.
Product step where the first-factor cost depends only on the demand value
E z, not on the fiber location z.
Linear fiber-demand recurrence: if every demand T in Q_a can be solved
with at most K*T pebbles, then using a solvable distribution E on Q_m as
the second-factor demand pattern costs at most K * |E|.
If the second factor is T-solvable with T ≥ 1, it may be used as the
solvable demand pattern in the product step.
Uniform high-demand fiber recurrence. If E is a T-solvable
second-factor distribution and every occupied pile of E has size at most
Tfiber, then one Tfiber-solvable construction in Q_a can be reused for
every occupied fiber.
Uniform fiber recurrence with occupied-pile compression. If each occupied
pile of E has at least S pebbles, and a Tfiber-solvable construction in
Q_a costs at most S*K, then the product cost is bounded by |E|*K.
Recurrence step from a high-demand distribution. If Q_m has a
Tbase-solvable distribution of size at most costBound whose occupied piles
have size at least S, and Q_a can solve demand costBound with cost
S*K, then Q_(a+m) has a solvable distribution with cost costBound*K.
High-demand product recurrence preserving the next pile-size invariant.
The same high-demand fiber construction in Q_a is reused for every occupied
fiber over Q_m; occupied-pile compression in the Q_m distribution pays for
this reuse.
Variable-demand high-demand product recurrence.
This is the paper-facing product step. If an occupied second-factor pile has
size s_z, we use a first-factor construction for demand s_z and cost
s_z*K. Summing over occupied fibers gives total cost |E|*K, and the
high-demand bound on E then gives costBound*K.