CSC410 Dafny Resources
Video Tutorials
-
Preconditions and Postconditions
How to define preconditions and postconditions for methods via
requiresandensures. -
Verifying that a property holds at a given program location using
assertstatements. -
Using
invariantclauses to specify loop invariants. Usingdecreasesclauses to specify termination measures. -
How to reason about arrays. Using quantifiers and
oldexpressions. The purpose of themodifiesclause. -
Reasoning about recursion using binary search as an example.
-
Reasoning about sequences using merge sort as an example.
-
Using the calc construct to prove chains of equivalences.
-
Writing functions and proving properties involving them.
Dafny Arguments
The following code forces Dafny to spend no more than one second verifying individual verification conditions. This is helpful if you want to keep your proofs simple and quick to verify. It should be pasted in your settings.json in Visual Studio Code.
"dafny.serverVerifyArguments": [
"/timeLimit:1"
],