← Nieuwste papers
🤖 AI

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

Dit artikel presenteert een interactieve sequentiebewijzer voor Event-B, geïmplementeerd in Prolog en geïntegreerd in de ProB-tool, die een compacter en onderhoudbaar alternatief biedt voor eerdere Java-implementaties, terwijl het tevens visualisatie van bewijsbomen, Rodin-interoperabiliteit en verhoogde educatieve waarde door directe controle van studenten over de constructie van bewijzen mogelijk maakt.

Oorspronkelijke auteurs: Katharina Engels, Jan Gruteser, Michael Leuschel

Gepubliceerd 2026-07-24
📖 4 min leestijd☕ Koffiepauze-leesvoer

Oorspronkelijke auteurs: Katharina Engels, Jan Gruteser, Michael Leuschel

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

Stel je voor dat je een wolkenkrabber bouwt, maar in plaats van bakstenen en staal gebruik je pure logica. In de wereld van de informatica is er een speciale methode genaamd Event-B die wordt gebruikt om systemen te ontwerpen die moeten werken, zoals de software die een Marsrover aanstuurt of een kerncentrale beheert. Omdat deze systemen zo kritiek zijn, kunnen ingenieurs niet simpelweg gokken of ze veilig zijn; ze moeten het wiskundig bewijzen. Dit bewijsproces is als het oplossen van een enorme, gelaagde logische puzzel. Je begint met een set bekende feiten (hypothesen) en een doel dat je moet bereiken. Om daar te komen, moet je een specifieke set "zetten" of regels toepassen, één voor één, om je startpunt te transformeren naar je bestemming.

Het probleem is dat de instrumenten die gewoonlijk worden gebruikt om deze puzzels op te lossen, lijken op magische zwarte dozen. Ze kunnen de puzzel voor je oplossen, maar ze doen het zo snel en in zo'n grote sprong dat je niet kunt zien hoe ze het deden. Het is also$ een toeschouwer zien hoe een magiër een konijn uit een hoed tovert, maar je ziet nooit de truc zelf. Dit maakt het voor studenten erg moeilijk om de trucjes te leren, en voor experts om het werk te controleren als er iets misgaat. De onderzoekers in dit artikel wilden het gordijn opzij schuiven. Ze vroegen zich af: "Wat als we elke zet konden zien, de puzzel zelf konden controleren en zelfs de computer konden leren om mee te spelen?"

De auteurs, een team van de Heinrich Heine Universiteit Düsseldorf, hebben een nieuwe tool gebouwd die deze onzichtbare logische puzzels verandert in een zichtbaar, interactief spel. Ze hebben meer dan 600 complexe wiskundige regels die bepalen hoe Event-B-bewijzen werken, genomen en herschreven in een taal genaamd Prolog. Denk aan Prolog als een taal die specifief is ontworpen voor het beschrijven van relaties en het oplossen van logische puzzels, vergelijkbaar met het notitieblok van een detective dat automatisch aanwijzingen met elkaar verbindt. Door de regels naar Prolog te vertalen, creëerden ze een "Sequent Prover" die fungeert als een transparant bordspel.

In plaats van een zwarte doos laat deze nieuwe tool je de volledige "bewijsstamboom" zien – een vertakkende kaart van elke mogelijke zet die je kunt doen. Je kunt op een specifieke regel klikken om deze toe te passen, waarbij je ziet hoe de staat van de puzzel recht voor je ogen verandert. Als je vastloopt, kun je teruggaan (backtracken), een ander pad proberen, of zelfs de computer het een korte oplossing laten zoeken met behulp van een eenvoudige zoekstrategie. Het artikel laat zien dat deze Prolog-versie niet alleen makkelijker te begrijpen is, maar ook veel compacter dan de oude versie, die in Java was geschreven en 20 jaar aan ontwikkeling kostte. De nieuwe Prolog-code is ongeveer 10 keer kleiner (ongeveer 4.200 regels code vergeleken met meer dan 50.000 in het oude systeem) en dekt zelfs meer regels.

Het team heeft ook een brug gebouwd naar de professionele wereld. Ze hebben uitgevogeld hoe ze de bewijzen die in hun nieuwe tool zijn gemaakt, kunnen terugsturen naar de industriestandaard software (RODIN) om ze te verifiëren. Het is alsof je een puzzel oplost in een leuke, educatieve app en vervolgens jouw oplossing exporteert naar de software van een professionele architect om een officiële stempel van goedkeuring te krijgen. Ze hebben dit gedemonstreerd met een model van een Marsrover, waarmee ze bewezen dat hun tool echte, realtime veiligheidscontroles kan afhandelen.

Hoewel de tool momenteel geweldig is voor onderwijs en handmatige exploratie, geven de auteurs toe dat hun automatische "robot"-oplosser nog wat onhandig is. Het gebruikt een eenvoudige "probeer alles"-strategie (genaamd iteratieve verdieping) en is nog niet zo snel als de zware industriële bewijzers. Ze suggereren echter dat, omdat Prolog zo goed is in zoeken, er een reële kans is dat hun tool met meer afstelling uiteindelijk een supersnelle automatische bewijzer kan worden. Voor nu is de grootste overwinning dat studenten en docenten eindelijk de magische truc stap voor stap kunnen zien, waardoor een verwarrende muur van wiskunde verandert in een heldere, interactieve reis van ontdekking.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →