Free to use · Intent-first programming language
Make the purpose of your code explicit.
Prove is a programming language for developers who want function intent, contracts and reasoning to sit alongside the implementation. Write what a function is meant to do, then make its behaviour match.
Who is Prove for?
Developers exploring a contract-driven approach to programming, and teams that want code to communicate more than its syntax. Start with a small project and the language examples to see whether this workflow fits you.
Keep intent close to the implementation.
- Name the purpose. Intent verbs distinguish pure transformations from input and output.
- State the contract.
requiresandensuresexpress conditions at the function boundary. - Make reasoning visible. The language includes
explaindeclarations for implementation reasoning.
Read the function reference and contract documentation for the exact rules and enforcement.
A small example.
transforms add(a Integer, b Integer) Integer
ensures result == a + b
from
a + b
This example comes from the Prove documentation. transforms declares a pure transformation; ensures states the expected result. Explore a larger inventory service example to see the language in context.
Availability and installation.
The documentation currently lists binary installation for Linux x86_64 and macOS aarch64, plus a source-install route requiring Python 3.11+ and gcc or clang. Use the installation instructions for current requirements and the release downloads for available builds.
Free to use, with distinct licences.
There is no Botwork subscription required to get started with Prove. The language, specification and .prv source code use the Prove Source License v1.0, which prohibits AI-training use. Compiler tooling, documentation and editor integrations use Apache-2.0. Read the licensing explanation before reusing or redistributing components.
Questions about Prove.
Is Prove free to use?
Yes. Installation and documentation are available without purchasing a Botwork service. Different components have different licences; free use does not mean that every component has the same reuse terms.
Where do I find examples and language details?
The Prove documentation covers the language tour, contracts, types, examples and roadmap.
Where can I ask a technical question?
The documentation links to #prove on Libera.Chat and explains how to join in its contributing section. For questions about Botwork itself, contact Botwork.


