← Derniers articles
🤖 AI

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

Cet article présente un prouveur de séquents interactif pour Event-B implémenté en Prolog et intégré à l'outil ProB, offrant une alternative plus compacte et maintenable aux précédentes implémentations en Java tout en permettant la visualisation des arbres de preuve, l'interopérabilité avec Rodin, et une valeur éducative accrue grâce au contrôle direct de la construction de preuves par l'étudiant.

Auteurs originaux : Katharina Engels, Jan Gruteser, Michael Leuschel

Publié 2026-07-24
📖 4 min de lecture☕ Lecture pause café

Auteurs originaux : Katharina Engels, Jan Gruteser, Michael Leuschel

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous construisez un gratte-ciel, mais au lieu de briques et d'acier, vous utilisez la logique pure. Dans le monde de l'informatique, il existe une méthode spéciale appelée Event-B utilisée pour concevoir des systèmes qui doivent fonctionner parfaitement, comme le logiciel contrôlant un rover martien ou une centrale nucléaire. Comme ces systèmes sont si critiques, les ingénieurs ne peuvent pas simplement deviner s'ils sont sûrs ; ils doivent le prouver mathématiquement. Ce processus de preuve est comparable à la résolution d'un immense puzzle logique à plusieurs niveaux. Vous commencez avec un ensemble de faits connus (hypothèses) et un objectif à atteindre. Pour y parvenir, vous devez appliquer un ensemble spécifique de « mouvements » ou de règles, un par un, pour transformer votre point de départ en votre destination.

Le problème est que les outils habituellement utilisés pour résoudre ces puzzles sont comme des boîtes noires magiques. Ils peuvent résoudre le puzzle pour vous, mais ils le font si vite et avec un saut si grand que vous ne voyez pas comment ils l'ont fait. C'est comme regarder un magicien sortir un lapin d'un chapeau, sans jamais voir le tour. Cela rend très difficile l'apprentissage des astuces pour les étudiants, et la vérification du travail par les experts si quelque chose tourne mal. Les chercheurs de cet article ont voulu lever le rideau. Ils se sont demandé : « Et si nous pouvions voir chaque mouvement, contrôler le puzzle nous-mêmes, et même apprendre à l'ordinateur à jouer avec nous ? »

Les auteurs, une équipe de l'Université Heinrich Heine de Düsseldorf, ont construit un nouvel outil qui transforme ces puzzles logiques invisibles en un jeu visible et interactif. Ils ont pris plus de 600 règles mathématiques complexes qui définissent le fonctionnement des preuves Event-B et les ont réécrites dans un langage appelé Prolog. Considérez Prolog comme un langage conçu spécifiquement pour décrire des relations et résoudre des énigmes logiques, un peu comme le carnet de notes d'un détective qui connecte automatiquement les indices. En traduisant les règles en Prolog, ils ont créé un « prouveur de séquents » qui agit comme un jeu de société transparent.

Au lieu d'une boîte noire, ce nouvel outil vous montre l'intégralité de l'« arbre de preuve » — une carte ramifiée de chaque mouvement possible que vous pourriez effectuer. Vous pouvez cliquer sur une règle spécifique pour l'appliquer, en regardant l'état du puzzle changer sous vos yeux. Si vous êtes bloqué, vous pouvez revenir en arrière, essayer un chemin différent, ou même laisser l'ordinateur chercher une solution courte pour vous en utilisant une stratégie de recherche simple. L'article montre que cette version Prolog est non seulement plus facile à comprendre, mais aussi beaucoup plus compacte que l'ancienne version, qui avait été écrite en Java et avait mis 20 ans à être développée. Le nouveau code Prolog est environ 10 fois plus petit (environ 4 200 lignes de code contre plus de 50 000 dans l'ancien système) et couvre encore plus de règles.

L'équipe a également construit un pont vers le monde professionnel. Ils ont trouvé comment prendre les preuves réalisées dans leur nouvel outil et les renvoyer vers le logiciel standard de l'industrie (RODIN) pour les vérifier. C'est comme résoudre un puzzle dans une application éducative amusante, puis exporter votre solution vers le logiciel d'un architecte professionnel pour obtenir un tampon d'approbation officiel. Ils ont démontré cela avec un modèle de rover martien, prouvant que leur outil pouvait gérer des vérifications de sécurité du monde réel.

Bien que l'outil soit actuellement excellent pour l'enseignement et l'exploration manuelle, les auteurs admettent que leur solveur automatique « robotisé » est encore un peu maladroit. Il utilise une stratégie simple de « tentative de tout » (appelée approfondissement itératif) et n'est pas encore aussi rapide que les prouveurs industriels lourds. Cependant, ils suggèrent que, puisque Prolog est très performant pour la recherche, il y a une réelle chance qu'avec plus de réglages, leur outil puisse éventuellement devenir un prouveur automatique super rapide. Pour l'instant, la plus grande victoire est que les étudiants et les enseignants peuvent enfin voir le tour de magie, étape par étape, transformant un mur de mathématiques confus en un voyage de découverte clair et interactif.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →