← All papers
First page of Counting by the Book: Verifying Alaska's Ranked-Choice Elections

Counting by the Book: Verifying Alaska's Ranked-Choice Elections

Lucy Horowitz

cs.LO Oct 27, 2026 · v1 cs.CY
Formalizes Alaska's ranked-choice tabulation statute in Lean 4, proves a tabulator implementation correct against the specification, and kernel-checks the tabulation results of 115 contests.
We present Alaska's ranked-choice elections as a case study in Formally Verified Democracy, a program to establish election results through formally checked proofs. We formalize an interpretation of Alaska's tabulation rules in Lean, verify its implementation, and prove election-specific results. Across 115 ranked-choice contests in Alaska since 2022, we identify 75 ballot records across 10 contests that were counted differently from this interpretation by a program reproducing the published results, without changing any winners. We trace these differences to overvotes and duplicate rankings and examine their legal justification, showing how formal verification can expose consequential choices in translating election law into software.

Election results should come with machine-checkable evidence that the reported winners follow from the ballots and the legal tabulation rules. Alaska's ranked-choice voting statute leaves room for interpretation in how it treats malformed ballots, such as overvotes and duplicate rankings.

The authors formalize a statutory model of AS 15.15.350 in Lean 4 in three layers: statutory vocabulary, a declarative specification of permitted outcomes, and an implementation that computes a tree of defeat sequences. They prove the implementation computes exactly the permitted outcomes. They also build a reproduction model that matches the published round-by-round tallies, selected by testing combinations of ballot-reading rules. Using Lean-checked computations, they compare the two models on published cast vote records.

Across 115 contests, kernel-checked complete tabulation trees are established for both models. 75 ballots in 10 contests were counted differently from the statutory interpretation, and no winners changed. The differences trace to overvote handling (Truncate vs. Stop) and duplicate-ranking handling, and the authors analyze the legal justification for each reading.

Change from reproduction modelMatched on candidate votesMatched on all counts
none (Truncate, Hybrid)2222
Stop instead of Truncate2019
Retain instead of Hybrid1311
Remove instead of Hybrid1414
statutory model (Stop, Retain)1311
Published reports matched by rule variants (of 22 multi-round contests)