Modular splitting of Exact Triangle into finite lopsided queries #
Pieces of the third part and chunks of A–B residue classes define lopsided graphs with a
middle vertex (c, label). The three input matrices retain their original orientations.
All bounds below use 16 ≤ D ≤ n and 1 ≤ g; the sharper degree bound also uses g ≤ sqrt D.
No native program, fast solver or charged instruction bound is asserted.
Main definitions #
piece,residueClass,chunkOf: vertex blocks and residue query chunks.lopInstance,instanceIndices,totalChunks: lopsided graphs and their finite indices.
Main results #
existsUnique_mem_piece,card_piece_le: unique piece coverage and size.totalChunks_le,card_instanceIndices_le: chunk and instance bounds.card_middle_lopInstance,hasCommonNeighbor_lopInstance_iff: size and modular correctness.ncard_nbr_lopInstance_le: degree bound.
References #
The reduction is part of [AlmanWilliams2026, Section 3]. Direct adaptation of
Instances.lean, with only required definitions from
PaperStatements.lean, Chunks.lean and Parameters.lean, at
anthropics/formal-math@16a5ce41304fcdaea4e0be7c132e1c361dc26da5.
Quoted docstring fragments reproduce comments in the pinned formal source; other prose describes
the local Lean API.
The largest number of query pairs that is "at most n²/√D" (Corollary 15 and Theorem 17;
Theorem 5 has "at most N²/√D"): ⌊n²/√D⌋.
Instances For
Proof of Theorem 17: "let s := ⌊√D⌋".
Instances For
Proof of Theorem 17: the bound "⌈s/g⌉" on the number of vertices of a piece.
Instances For
Proof of Theorem 17: the number h of pieces, ⌈n / ⌈s/g⌉⌉ for the blocks of piece
(meaningful when ⌈s/g⌉ ≥ 1).
Instances For
The index of an instance built by the reduction of Theorem 17: a residue ϱ ∈ ℤ_p, the number
j of a chunk of W_ϱ, and the number k of a piece of C.
Instances For
Proof of Theorem 17: "For each chunk 𝒬 ⊆ W_ϱ and each piece C_k form the instance of Lop-AE-SparseTri(n, D) with query pairs W := 𝒬 and middle part C_k × ℤ_p [...], whose middle vertices are pairs (vertex, label) [...], with a ∼ (c, σ) ⟺ σ ≡ w(a,c) + ϱ, (c, σ) ∼ b ⟺ σ ≡ −w(b,c) (mod p)."
Instances For
Proof of Theorem 17: "For each chunk 𝒬 ⊆ W_ϱ and each piece C_k" there is an instance; these
are the indices of all the instances. This set depends only on the Exact Triangle instance and on
D, g, p, not on any answer of the oracle.
Instances For
The pieces #
Proof of Theorem 17: "split C into pieces C₁, …, C_h of at most ⌈s/g⌉ vertices each": every
vertex of C lies in exactly one of the h pieces.
Proof of Theorem 17, "pieces [...] of at most ⌈s/g⌉ vertices each": |C_k| ≤ ⌈s/g⌉, because the
numbers of the vertices of the piece number k lie in [k ⌈s/g⌉, (k + 1) ⌈s/g⌉).
Residues #
The arithmetic behind the two counts #
Proof of Theorem 17: the two facts used for the count of the instances, "s ≥ √D − 1 ≥ 3√D/4 because D ≥ 16, and √D ≤ √n ≤ 2n/3 because D ≤ n and we may assume n ≥ 3".
The sets W_ϱ #
The chunks #
Proof of Theorem 17: "There are at most p + √D ≤ 2√D chunks in all."
NOTE. A chunk holds a whole number of pairs, at most ⌊n²/√D⌋, so the count is at most
p + (n² − p)/⌊n²/√D⌋, and the second term can exceed √D slightly. The printed bound is still
true, because the count is an integer, D is an integer and D ≤ n (sq_lt_mul_queryCap_add).
The instances #
Proof of Theorem 17: "middle part C_k × ℤ_p, of size at most sp ≤ D". So each instance is an instance of Lop-AE-SparseTri(n, D).
A query pair of the instance with index (ϱ, j, k) lies in W_ϱ, and j is the number of its
chunk.
Proof of Theorem 17: "Within the chunk, the condition S(a,b,c) ≡ 0 (mod p) has become the equality w(a,c) + ϱ ≡ −w(b,c) of a label of (a,c) and a label of (b,c)".
Proof of Theorem 17: "a query pair (a,b) ∈ 𝒬 has a common neighbor if and only if some c ∈ C_k has S(a,b,c) ≡ 0 (mod p)".
Proof of Theorem 17, "For each chunk 𝒬 ⊆ W_ϱ and each piece C_k": (ϱ, j, k) is the index of an
instance exactly if j is the number of a chunk of W_ϱ and k the number of a piece.
Proof of Theorem 17: "There are at most 2√D h ≤ 2√D(ng/s + 1) ≤ 4ng instances".
The neighborhoods in an instance #
Section 3.1, "The reductions below [...] produce at most n²/√D query pairs and sets of at most
√D elements", and Remark 20, "every vertex of A has O(√D/g) neighbors in the middle part": in an
instance of the reduction, a vertex of A or of B has exactly one neighbor (c, σ) for every
c ∈ C_k, hence at most ⌈s/g⌉ neighbors. (And ⌈s/g⌉ ≤ s ≤ √D; for g ≤ √D also
⌈s/g⌉ ≤ 2√D/g, pieceSize_le_two_mul_sqrt_div.)