Reproduce “pyeb: A Python Implementation of Event-B Refinement Calculus” on OpenResearch

Turn your favorite coding agents into research agents that review literature, develop hypotheses, and run experiments.

Universal app for Apple silicon and Intel. Requires macOS 11 or later.

About this paper

Néstor Cataño

The `pyeb` tool from the Universidade do Algarve re-implements the Event-B refinement calculus within a Python object-oriented framework, enabling automated generation and discharge of proof obligations using the Z3 SMT solver. This approach makes formal verification of established sequential algorithms more accessible to software engineers by integrating it into a widely used programming language.

Key insights

  • Event-B's rigorous refinement calculus can be faithfully and effectively implemented within a popular general-purpose programming language like Python.
  • Automated proof obligation generation and discharge using SMT solvers is a viable method for verifying Event-B models expressed in Python.
  • Providing a Python-native interface for formal methods significantly lowers the barrier to entry, potentially increasing the adoption of formal verification among software developers.

Summary by alphaXiv.

Tip: change arxiv.org to autoarxiv.org in any arXiv abstract link to open the paper here.