🤖 AI Summary
This work addresses the lack of systematic, interactive, and pedagogically suitable reasoning support tools for existing Event-B proof rules. It presents the first complete encoding of over 600 Event-B proof rules in Prolog, integrated into an interactive theorem prover within the ProB verification tool. The system features proof tree visualization, interactive rule selection, export capabilities in multiple formats, and bidirectional interoperability with the Rodin platform. Additionally, it introduces a proof replay mechanism and an initial iterative-deepening automated proof strategy. This implementation significantly enhances the compactness, maintainability, and extensibility of the underlying rule engine, making it well-suited for educational use and independent exploration while laying the groundwork for more efficient automated proving in the future.
📝 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.