← Explore all software

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 + b

A 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.

Could we add you to our mailing list!

We don’t spam! Read our privacy policy for more info.

The Botwork Security Logo
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Please notice that this is only for https://botwork.se not our tolling systems.