Formally Verified Single Transferable Vote in Coq, Lean, or Dafny

  by   Mukesh Tiwari






Departments Computer Science
DescriptionSingle Transferable Voting (STV) [1, 3] is used around the world, e.g., Australia , Local Councils of Wales [2], Ireland, etc. The goal of this project is to implement it in Coq, Lean, or Dafny and prove that its correctness properties, e.g., it does not follow Condorcet criteria, etc. This project requires basic understanding of logic and programming but you don't need to an expert. However, if you still feel unsure we can talk and figure out some middle way, e.g., implementing in Haskell, or OCaml and use property based testing to establish some of the properties. [1] https://en.wikipedia.org/wiki/Single_transferable_vote [2] https://www.gov.wales/consultation-draft-rules-local-government-principal-council-elections-using-single-transferable [3] https://www.electoral-reform.org.uk/voting-systems/types-of-voting-system/single-transferable-vote/
Preparation
Project Categories Software Engineering, Theorical Computer Science
Project Keywords


Level of Studies

Level 6 (Undergraduate Year 3) yes
Level 7 (Masters) yes
Level 8 (PhD) yes