Implementing and verifying the Grind 75 leetcode problem list in Dafny
Dafny is an amazing language built for verifying software but there is a dearth of examples of verifing common software tasks. The goal of this repository is to both provide example code to learn Dafny from but also to create a reference for teaching computer science concepts.
Ideally, all solutions will provide useful and specific specifications to verify the code does what was intended. Additionally, if a task is recursive in nature then both an iterative and a recursive solution will be provided, however, this is a stretch goal because quite often one approach might be dramatically easier to verify than the other.
Secondly, if a solution can be solved naively and with a more sophisticated but not uncommon solution, then ideally both solutions will be implemented and verified.