Software, Specifications, Proofs, etc.
Are specifications and proofs software?
python-fbas
A prototype tool to reason about Federated Byzantine Agreement Systems using SAT solvers. Sources are on github at https://github.com/nano-o/python-fbas.
Formalization and proof of a classical distributed algorithm
https://github.com/nano-o/Distributed-termination-detection
The algorithm is the “channel-counting” termination-detection algorithm of Kumar (1985). The proof I propose is a great example of inductive reasoning about distributed algorithms. The exercise branch of the repository sets things up as an exercise in finding inductive invariants.