07.11.2013 Views

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

52 CHAPITRE 2.<br />

REPRÉSENTATION DES FORMULES PROPOSITIONNELLES<br />

que <strong>la</strong> substitution d’une variable d’un graphe g par un graphe f peut être au moins en<br />

O(|g|×|f|). Il suffit <strong>de</strong> considérer les variables x 0 < x 1 < ... < x 2n+2m , et prendre<br />

( n<br />

)<br />

∨<br />

g = (x 0 ∨ (x k ∧x n+m+k ) ) et<br />

k=1<br />

( m<br />

)<br />

∨<br />

f = (x n+k ∧x 2n+m+k ) .<br />

k=1<br />

La substitution <strong>de</strong> <strong>la</strong> variable x 0 du graphe g par le graphe f conduit à calculer ( ∨ n+m<br />

k=1 (x k∧<br />

x n+m+k )), dont <strong>la</strong> preuve du Théorème 2.9 a montré <strong>la</strong> taille en O(|f|×|g|). Cependant,<br />

le problème <strong>de</strong> savoir si le pire cas est en O(|g|×|f|) ou en O(|g| 2 ×|f|) reste ouvert.<br />

Le problème <strong>de</strong> <strong>la</strong> composition est une généralisation du problème <strong>de</strong> <strong>la</strong> substitution.<br />

Ce problème est le suivant : étant donnés les graphes <strong>de</strong>s formules f 1 ,...,f n et g, calculer<br />

le graphe <strong>de</strong> <strong>la</strong> formule g[x 1 ← f 1 ,..., x n ← f n ]. La composition est une opération intrinsèquement<br />

plus complexe que celles vues précé<strong>de</strong>mment, comme le montre le théorème<br />

suivant.<br />

Théorème 2.11 La composition sur une forme canonique est NP–difficile.<br />

<strong>Preuve</strong>. Nous donnons <strong>la</strong> preuve sur le cas particulier <strong>de</strong>s graphes <strong>de</strong> décision, son extention<br />

à une forme canonique quelconque ne <strong>de</strong>mandant que <strong>de</strong>s développements techniques.<br />

SoitC = ( ∧ n<br />

k=1 c k )une3–formenormaleconjonctivecomposée<strong>de</strong>nc<strong>la</strong>uses. Chaquec<strong>la</strong>use<br />

est une disjonction <strong>de</strong> trois littéraux, donc son graphe est construit en un temps constant.<br />

Ainsi le calcul <strong>de</strong>s graphes f 1 ,...,f n <strong>de</strong>s n c<strong>la</strong>uses est en O(n). Soit g le graphe <strong>de</strong> <strong>la</strong><br />

fonction λ[x 1 ...x n ].( ∧ n<br />

k=1 x k ). Ce graphe est un peigne construit en O(n). Tester si un<br />

graphe est différent <strong>de</strong> zéro est en O(1). Comme C est satisfiable si et seulement si le<br />

graphe <strong>de</strong> g(f 1 ,...,f n ) est différent <strong>de</strong> 0, calculer g(f 1 ,...,f n ) est NP–difficile. ✷<br />

On obtient un théorème plus précis sur les graphes avec l’hypothèse d’un ordre <strong>de</strong>s<br />

variables fixé.<br />

Théorème 2.12 Etant donné un ordre fixé <strong>de</strong>s variables, <strong>la</strong> composition est un problème<br />

<strong>de</strong> complexité au moins exponentielle vis-à-vis <strong>de</strong> <strong>la</strong> taille <strong>de</strong>s graphes et/ou du nombre <strong>de</strong><br />

variables utilisées. Plus précisément, il existe <strong>de</strong>s graphes f 1 ,...,f n , g ayant 2n variables,<br />

dont <strong>la</strong> taille cumulée est en O(n), tels que le graphe <strong>de</strong> g(f 1 ,...,f n ) est en O(2 n ).<br />

<strong>Preuve</strong>. Nous allons exhiber <strong>de</strong>s graphes g et f 1 ,...,f n , construits sur 2n variables, tels<br />

que (|g| + ∑ n<br />

k=1 |f k |) = O(n), et tels que |g(f 1 ,...,f n )| = O(2 n ). On pose l’ordre <strong>de</strong>s<br />

variables suivant : y 1 < y 2 < ... < y 2n . Soit<br />

( n<br />

)<br />

∧<br />

g = λ[x 1 ...x n ]. x k<br />

k=1<br />

Le graphe <strong>de</strong> cette fonction est une branche <strong>de</strong> profon<strong>de</strong>ur n, donc <strong>de</strong> taille en O(n).<br />

Soient les n fonctions f 1 ,...,f n définies par<br />

f k = λ[y 1 ...y 2n ].(y k ⇔ y 2n−k+1 ),

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!