Machine-Checked Reasoning About Complex Voting Schemes Using Higher-Order Logic
- Cite this paper as:
- Dawson J.E., Goré R., Meumann T. (2015) Machine-Checked Reasoning About Complex Voting Schemes Using Higher-Order Logic. In: Haenni R., Koenig R., Wikström D. (eds) E-Voting and Identity. VoteID 2015. Lecture Notes in Computer Science, vol 9269. Springer, Cham
We describe how we first formally encoded the English-language Parliamentary Act for the Hare-Clark Single Transferable Vote-counting scheme used in the Australian state of Tasmania into higher-order logic, producing SPECHOL. Based on this logical specification, we then encoded an SML program to count ballots according to this specification inside the interactive theorem prover HOL4, giving us IMPHOL. We then manually transliterated the program as a real SML program IMP. We are currently verifying that the formalisation of the implementation implies the formalisation of the specification: that is, we are using the HOL4 interactive theorem prover to prove the implication IMPHOL\(\rightarrow \)SPECHOL.