Encoding Event-B Proof Rules in Prolog: An Interactive Sequent Prover for ProB
This paper presents an interactive sequent prover for Event-B implemented in Prolog and integrated into the ProB tool, offering a more compact and maintainable alternative to previous Java implementations while enabling proof tree visualization, Rodin interoperability, and enhanced educational value through direct student control over proof construction.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
Imagine you are building a skyscraper, but instead of bricks and steel, you are using pure logic. In the world of computer science, there is a special method called Event-B used to design systems that must work perfectly, like the software controlling a Mars rover or a nuclear power plant. Because these systems are so critical, engineers can't just guess if they are safe; they have to prove it mathematically. This proof process is like solving a massive, multi-layered logic puzzle. You start with a set of known facts (hypotheses) and a goal you need to reach. To get there, you must apply a specific set of "moves" or rules, one by one, to transform your starting point into your destination.
The problem is that the tools usually used to solve these puzzles are like magic black boxes. They can solve the puzzle for you, but they do it so fast and in such a big jump that you can't see how they did it. It's like watching a magician pull a rabbit out of a hat, but you never get to see the trick. This makes it very hard for students to learn the tricks, and for experts to double-check the work if something goes wrong. The researchers in this paper wanted to pull back the curtain. They asked: "What if we could see every single move, control the puzzle ourselves, and even teach the computer to play along?"
The authors, a team from Heinrich Heine University Düsseldorf, have built a new tool that turns these invisible logic puzzles into a visible, interactive game. They took over 600 complex mathematical rules that define how Event-B proofs work and rewrote them in a language called Prolog. Think of Prolog as a language designed specifically for describing relationships and solving logic puzzles, much like a detective's notebook that automatically connects clues. By translating the rules into Prolog, they created a "Sequent Prover" that acts like a transparent board game.
Instead of a black box, this new tool shows you the entire "proof tree"—a branching map of every possible move you could make. You can click on a specific rule to apply it, watching as the puzzle state changes right before your eyes. If you get stuck, you can backtrack, try a different path, or even let the computer try to find a short solution for you using a simple search strategy. The paper shows that this Prolog version is not only easier to understand but also much more compact than the old version, which was written in Java and took 20 years to develop. The new Prolog code is roughly 10 times smaller (about 4,200 lines of code compared to over 50,000 in the old system) and covers even more rules.
The team also built a bridge to the professional world. They figured out how to take the proofs made in their new tool and send them back to the industry-standard software (RODIN) to verify them. It's like solving a puzzle in a fun, educational app and then exporting your solution to a professional architect's software to get an official stamp of approval. They demonstrated this with a model of a Mars rover, proving that their tool could handle real-world safety checks.
While the tool is currently great for teaching and manual exploration, the authors admit their automatic "robot" solver is still a bit clumsy. It uses a simple "try everything" strategy (called iterative deepening) and isn't as fast as the heavy-duty industrial provers yet. However, they suggest that because Prolog is so good at searching, there is a real chance that with more tuning, their tool could eventually become a super-fast automatic prover. For now, the biggest win is that students and teachers can finally see the magic trick, step by step, turning a confusing wall of math into a clear, interactive journey of discovery.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.