Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels
Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels
Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
28 CHAPITRE 2.<br />
REPRÉSENTATION DES FORMULES PROPOSITIONNELLES<br />
différentes mais équivalentes. Nous étudierons les performances <strong>de</strong> cette représentation<br />
dans <strong>la</strong> Section 2.6.1, à <strong>la</strong> fin <strong>de</strong> ce chapitre.<br />
Un système <strong>de</strong> réécriture canonique permet <strong>de</strong> montrer qu’une formule est vali<strong>de</strong> en <strong>la</strong><br />
réduisant à sa forme canonique, et en vérifiant que celle-ci est syntaxiquement égale à celle<br />
<strong>de</strong> <strong>la</strong> tautologie, que nous noterons 1. Jusqu’à récemment on ne connaissait que re<strong>la</strong>tivementpeu<strong>de</strong>formescanoniques<strong>de</strong><strong>la</strong>logiquepropositionnelle:<br />
lestables<strong>de</strong>vérité, <strong>la</strong>forme<br />
canonique <strong>de</strong> B<strong>la</strong>ke [26], <strong>la</strong> forme polynomiale, appelée aussi somme exclusive <strong>de</strong> produits,<br />
ou forme <strong>de</strong> Reed-Muller [26, 109] (voir Section 2.6.2). Or ces formes présentent toutes le<br />
défaut d’être très peu compactes, dans le sens où le nombre <strong>de</strong> caractères nécessaires pour<br />
écrire <strong>la</strong> forme canonique d’une formule f peut être très grand par rapport au nombre<br />
<strong>de</strong> caractères <strong>de</strong> f. Plus récemment, <strong>de</strong> nouvelles formes canoniques ont été définies, les<br />
graphes <strong>de</strong> décision [27] (BDD pour Binary Decision Diagrams) et les graphes <strong>de</strong> décision<br />
typés [18] (TDG pour Typed Decision Graphs).<br />
Nous présentons ici ces <strong>de</strong>ux formes canoniques, BDDs et TDGs. Nous présenterons<br />
aussi d’autres formes canoniques dérivées <strong>de</strong> l’expansion <strong>de</strong> Shannon. Nous donnons ensuite<br />
les complexités <strong>de</strong>s algorithmes manipu<strong>la</strong>nt les BDDs et TDGs. Dans <strong>la</strong> suite, sauf<br />
exception précisée, on ne considère que <strong>de</strong>s formules sans quantificateur.<br />
2.2 Expansion <strong>de</strong> Shannon<br />
Soit f une formule propositionnelle. On appelle expansion <strong>de</strong> Shannon <strong>de</strong> f par rapport<br />
à <strong>la</strong> variable x k le couple <strong>de</strong> formules f[x k ← 0] et f[x k ← 1]. L’expansion <strong>de</strong> Shannon 1<br />
possè<strong>de</strong> <strong>la</strong> propriété suivante :<br />
f = ((¬x k ∧f[x k ← 0])∨(x k ∧f[x k ← 1])) (2.1)<br />
Nous étendons ces définitions aux fonctions booléennes grâce à <strong>la</strong> correspondance existant<br />
entre les formules et les fonctions. L’expansion <strong>de</strong> Shannon <strong>de</strong> <strong>la</strong> fonction<br />
booléenne λ[x 1 ...x n ].f(x 1 ,...,x n ) par rapport à <strong>la</strong> variable x 1 est le couple <strong>de</strong> fonctions<br />
( λ[x 2 ...x n ].f(0,x 2 ,...,x n ),λ[x 2 ...x n ].f(1,x 2 ,...,x n ) ) . Le théorème <strong>de</strong> Shannon<br />
ci-<strong>de</strong>ssous montre que l’expansion <strong>de</strong> Shannon est l’unique solution <strong>de</strong> l’équation 2.1.<br />
Théorème 2.1 Soit f une fonction booléenne <strong>de</strong> {0,1} n dans {0,1}. Il existe un couple<br />
unique (f 0 ,f 1 ) <strong>de</strong> fonctions booléennes <strong>de</strong> {0,1} n−1 dans {0,1} telle que<br />
f(x 1 ,x 2 ,...,x n ) = (¬ x 1 ∧f 0 (x 2 ,...,x n ))∨(x 1 ∧f 1 (x 2 ,...,x n )).<br />
<strong>Preuve</strong>. L’existenced’untelcouple<strong>de</strong>fonctionsadéjàétémontrée. Montronsmaintenant<br />
son unicité. Supposons qu’il existe un couple (f ′ 0,f ′ 1) possédant <strong>la</strong> même propriété. <strong>Pour</strong><br />
tous x 2 ,...,x n , on a :<br />
f(0,x 2 ,...,x n ) = (¬0∧f 0 (x 2 ,...,x n ))∨(0∧f 1 (x 2 ,...,x n ))<br />
1 Par abus <strong>de</strong> <strong>la</strong>ngage, le terme ((¬x k ∧f[x k ← 0])∨(x k ∧f[x k ← 1])) est aussi appelé expansion <strong>de</strong><br />
Shannon <strong>de</strong> <strong>la</strong> formule f par rapport à x k . La formule f[x k ← 1] (respectivement <strong>la</strong> formule f[x k ← 0])<br />
est aussi appelée le cofacteur <strong>de</strong> f par rapport à x k (respectivement par rapport à ¬x k ).