Free to use · Intent-first programming
Make the purpose of your code explicit.
Write what a function is meant to do, then make its behaviour match. Prove brings intent, contracts and reasoning into the code itself.
Code that explains what it means.
For developers exploring a contract-driven workflow. Start small and see how it fits your way of building.
Name the purpose
Intent verbs distinguish pure transformations from input and output.
State the contract
Use requires and ensures to express conditions at the function boundary.
Show the reasoning
Use explain declarations to keep implementation reasoning visible.
A small example.
transforms add(a Integer, b Integer) Integer
ensures result == a + b
from
a + bA pure transformation with an explicit expected result. See the function reference and contract rules.
Start with one function.
Binary installation is documented for Linux x86_64 and macOS aarch64. Building from source requires Python 3.11+ and gcc or clang.
Browse release downloads, then follow the quick start.
Free to use. Clear reuse terms.
No Botwork subscription is required. The language, specification and .prv source use the Prove Source License v1.0, which prohibits AI-training use. Tooling, documentation and editor integrations use Apache-2.0.
Read the licensing explanation. Technical questions are welcome in #prove on Libera.Chat; for Botwork questions, get in touch.


