Convolution-3SUM reduces to Exact Triangle #
This directly adapts Anthropic's pinned reduction, after the reduction cited there as [VassilevskaWilliamsWilliams2013, Theorem 4.3]. The theorem number is taken from that source. No machine, machine simulation, or subquadratic time bound is asserted here. The native graph-weight construction is developed separately.
An input has a solution when x i + x j = x (i + j) for some i + j < N; indices may repeat.
Indices start at zero: for nonempty input, x 0 = 0 alone gives the solution i = j = 0.
This differs from ordinary 3SUM, which requires three distinct positions. For N < t * t,
construct 2 * t tripartite instances with t vertices per part. Invalid indices receive
2 * U + 1, preventing them from creating zero triangles when input magnitudes are at most U.
Main definitions #
Convolution: the one-array Convolution-3SUM predicate.pick: read a signed in-range index or use a filler.weightAB,weightBC,weightAC: the three matrices of instances.
Main results #
convolution_iff: correctness of the explicit reduction forN < t * t.convolution_iff_sqrt: the choicet = Nat.sqrt N + 1.weights_abs_le: all generated weights have magnitude at most2 * U + 1.