ProB is a flexible and extensible validation tool for high-level specification formalisms.
ProB supports

- multiple languages: B, Z, CSP, Event-B, Promela, dSL, ...
- and multiple validation techniques : animation, model checking, ...

Below we present a gentle introduction to ProB focusing on classical B (but many of the commands are also applicable to the other formalisms such as CSP, Event-B and Z).

- Starting ProB and first animation steps
- Some animation tips (dealing with large parameter values,...)
- First steps in model checking
- Complete model checking
- Directed model checking
- Understanding the ProB Setup Phases
- Tutorial Troubleshooting the Setup
- Tutorial Understanding the Complexity of B Animation
- Tutorial Understanding ProB's Constraint Solver
- Tutorial Debugging Well-Definedness and Transition Errors

For ProB for Rodin, the following presents a gentle introduction:

- Starting ProB for Rodin and first animation steps
- Important Parameters of ProB for Rodin
- Exporting Rodin Models for ProB Classic
- Using the Symbolic Contants Plugin
- Using the ProB (Dis-)Prover
- Visualization of LTL Counter-examples in Rodin

The Rodin handbook also contains material about ProB:

Furthermore, there are several tutorials on the physical units plugin:

For ProB for CSP, the following presents a gentle introduction:

We also have a tutorial for B Motion Studio.

Please help us to improve this documentation by providing feedback in our bug tracker, asking questions in our prob-users group or sending an email to Michael Leuschel.