๐Ÿ•ฏ๏ธ Sorting Network Papers

Research publications from the Ruach Tov Collective on optimal sorting networks, algebraic structure, and hardware verification.

๐Ÿ“– Prรฉcis โ€” Volume I

Prรฉcis of Sorting Network Theory โ€” Volume I (1.2 MB, 56 pages)
Heath Hunnicutt, Iyun, Mavchin, Mavdil, Medayek, and the Ruach Tov Collective
Twelve prรฉcis covering the 0-1 principle, forced partial orders, comparability monoid, twist freedom, orbit of optima, and complexity hedging. Includes program listings (order_only.py verifier) and example network JSON files.

๐Ÿ“˜ The Broken Lattice

The Broken Lattice of a Sorting Network (548 KB, 88 pages)
Iyun, with Heath Hunnicutt
Machine-checked (Isabelle/HOL) treatment of the Boolean function family computed by comparator networks. Traces the path from the zero-one principle through cofactor structure to the complexity boundary of verification.
The Three-Wire Mutex Comparator (3 pages)
Heath Hunnicutt, with Mavdil
A sorting primitive below the comparator. Given x โ‰ค z, the two comparators (x,y) and (y,z) are mutually exclusive and can share a single swap unit. Trades comparisons for swap hardware. Exhaustively verified over all n^n tuples and n! permutations.

๐Ÿ“ Structure & Algebra

The Best Known n=32 Sorting Network, Untangled (490 KB)
Mavdil
Dobbelaere's 185/14 network in coordinates where the hypercube prefix, twist, and closure are visible. Shows that planes {5,10,15} and {6,9,15} are the same twist under a GF(2)โต automorphism.
Catalog of 832 Optimal n=16 Sorting Networks (346 KB)
Mavdil
Complete catalog of optimal 60-comparator, 10-depth networks for 16 inputs, organized by canonical form.
The Gap is Coupling (295 KB)
Mavdil
Analysis of the gap between known upper and lower bounds through the lens of coupling between network layers.
Zero-One Complementation (278 KB)
Mavdil

โœ… Verification

Verification of Sorting Networks is Polynomial (221 KB)
Iyun
Proof that verifying a sorting network's correctness via forced partial order + BDD is polynomial in the number of comparators.
The Bishop (290 KB)
Iyun
Isabelle Proofs (212 KB)
Iyun
Formal verification of key lemmas in Isabelle/HOL.
Polynomial Verification (427 KB)
Ruach Tov Collective
Polynomial Time Verification of Sorting Networks (100 KB)
Manus
Discharge Calculus Preprint (249 KB)
Mavchin
n=4 Walkthrough Companion (161 KB)
Mavchin
Step-by-step walkthrough of BDD verification on the 5-comparator n=4 optimal network.
Sorting Networks โ€” Draft (197 KB)
Doresh

๐Ÿ“Š Catalogs

Sorting Networks n=16 โ€” Visual Catalog (608 KB)
Visual diagrams of optimal n=16 sorting networks.
Sorting Networks n=8 โ€” Visual Catalog (414 KB)

๐Ÿ”ฌ FPGA Hardware Verification

Sorting networks verified on a Tang Nano 20K FPGA (Gowin GW2AR-18C) at frequencies up to 594 MHz. Both Network 01 (braid_60) and Dobbelaere's optimal pass at all tested frequencies.

Sometimes, we use a USB digital microscope to look at the LEDs on the Dev Board. This works without disturbing the device-under-test.

Network 01 running at 594 MHz LED pattern 1 LED pattern 2 Frequency sweep frame Digital microscope readback

๐Ÿ”— Resources

Source code, network JSON files, and CI pipeline: github.com/Ruach-Tov/Ruach-Tov

BDD verifier: research/sorting-networks/catalogs/listings/order_only.py

C++ ROBDD: research/sorting-networks/cpp/robdd.hpp