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.

E.2. MINIMISATION D’UNE FONCTION PARTIELLE 139<br />

dans {x 1 ,...,x n }. On dit qu’une variable x k est inutile si et seulement si il existe un<br />

graphe f ′ qui n’utilise pas x k . Autrement dit, il existe une fonction f ′ pour <strong>la</strong>quelle x k est<br />

redondante. On a alors le résultat suivant :<br />

Théorème E.1 L’ensemble <strong>de</strong>s fonctions f ′ n’utilisant pas <strong>la</strong> variable x k et satisfaisant<br />

(g ⇒ f ′ ⇒ h) est égal à l’ensemble <strong>de</strong>s fonctions f ′ satisfaisant (∃x k g) ⇒ f ′ ⇒ (∀x k g).<br />

<strong>Preuve</strong>. Soit f ′ n’utilisant pas <strong>la</strong> variable x k et satisfaisant (g ⇒ f ′ ⇒ h). Ceci est<br />

équivalent à dire que d’une part f ′ [x k ← 0] = f ′ [x k ← 1], puisque x k est redondante<br />

dans f ′ , et que d’autre part les formules (g[x k ← 0] ⇒ f ′ [x k ← 0] ⇒ h[x k ← 0]) et<br />

(g[x k ← 1] ⇒ f ′ [x k ← 1] ⇒ h[x k ← 1]) sont <strong>de</strong>s tautologies, <strong>de</strong> part E.2 et E.3. On<br />

a donc (g[x k ← 0] ⇒ f ′ ⇒ h[x k ← 0]), et (g[x k ← 1] ⇒ f ′ ⇒ h[x k ← 1]), ce qui est<br />

équivalent à (∃x k g) ⇒ f ′ ⇒ (∀x k g).<br />

✷<br />

De ce théorème, on déduit aisément le suivant :<br />

Théorème E.2 L’ensemble <strong>de</strong>s fonctions f ′ satisfaisant (g ⇒ f ′ ⇒ h) et n’utilisant pas<br />

les variables ⃗y est non vi<strong>de</strong> si et seulement si (∃⃗y g) ⇒ (∀⃗y g) est une tautologie. Dans ce<br />

cas, cet ensemble est égal à l’ensemble <strong>de</strong>s fonctions f ′ satisfaisant (∃⃗y g) ⇒ f ′ ⇒ (∀⃗y g).<br />

Ce résultat permet <strong>de</strong> calculer les supports minimaux <strong>de</strong> f ′ , ainsi que les fonctions g<br />

et h définissant <strong>la</strong> fonction partielle f ′ correspondante. Bien entendu, il existe plusieurs<br />

supports minimaux, mais tous ne sont pas optimaux. Par exemple, si le support <strong>de</strong> g et h<br />

est {x 1 ,...,x 4 }, on peut avoir les supports localement minimaux {x 1 ,x 2 } et {x 2 ,x 3 ,x 4 }.<br />

Afin d’avoir une solution optimale (c’est à dire le maximum <strong>de</strong> variables inutiles), un<br />

branch and bound est nécessaire. Ceci implique un coût exponentiel, qui peut donc être<br />

rapi<strong>de</strong>ment rédhibitoire.<br />

<strong>Une</strong> fois les variables inutiles éliminées, le problème <strong>de</strong> <strong>la</strong> minimisation est réduit à un<br />

certain nombre —un par support minimal— <strong>de</strong> problèmes qui se formulent comme suit :<br />

(2) Etant donnés <strong>de</strong>ux graphes g et h, trouver un graphe f ′ tel que<br />

(g ⇒ f ′ ⇒ h). (E.4)<br />

Il est ici entendu que le support <strong>de</strong> f ′ est nécessairement inclus dans celui <strong>de</strong> g et h,<br />

c’est à dire qu’il n’y pas <strong>de</strong> variable inutile.<br />

Si (g ⇒ h) est une tautologie, alors l’ensemble <strong>de</strong>s fonctions f ′ satisfaisant (g ⇒ f ′ ⇒ h)<br />

est non vi<strong>de</strong>, et il s’écrit (g∨(h∧p)) , où p est un paramètre. On revient donc au problème<br />

ci-<strong>de</strong>ssous, et qui fait l’objet <strong>de</strong> <strong>la</strong> section suivante :<br />

(3) Calculer le graphe minimal dans l’ensemble <strong>de</strong> graphes représenté par <strong>la</strong> formule<br />

paramétrée f(⃗x,p).

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

Saved successfully!

Ooh no, something went wrong!