MEGA Hub

Encoding Event-B Proof Rules in Prolog: An Interactive Sequent Prover for ProB

Authors

Do you know Katharina Engels?You can claim authorship or link another user.Do you know Jan Gruteser?You can claim authorship or link another user.Do you know Michael Leuschel?You can claim authorship or link another user.

Abstract

Event-B is a formal method rooted in predicate logic and set theory. We encoded over 600 proof rules in Prolog, enabling a systematic, comprehensible proof analysis and construction. By integrating the proof rules into the Prolog-based validation tool ProB, we obtain an interactive proof system with proof tree visualisation. This has advantages in teaching, giving students direct control over the selection of proof rules. Our tool can import proof obligations from the Rodin platform and provides multiple exports: a trace file for proof replay in ProB, an interactive HTML document for tool-independent exploration of the proof tree, and an export back to Rodin, allowing the ProB prover to be used as second chain. Compared to the previous implementation of the proof rules in Java, the encoding in Prolog is more compact, maintainable and extensible. While a preliminary iterative deepening prover with simple heuristics is already available and useful for finding short proofs, we aim to obtain fast automatic provers in the future.

Community

00

Publication notes

Author note
In Proceedings ICLP 2026, arXiv:2607.17707
Journal
EPTCS 450, 2026, pp. 134-147
DOI
10.4204/EPTCS.450.12