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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

24 CHAPITRE 1. LOGIQUE PROPOSITIONNELLE QUANTIFIÉE<br />

où f est sans quantificateur. Cette équation s’écrit <strong>de</strong> façon équivalente :<br />

∀y 1 ...∀y n ∃x (¬x∧f[x ← 0])∨(x∧f[x ← 1]) (1.7)<br />

L’équation possè<strong>de</strong> une solution si et seulement si <strong>la</strong> formule 1.7 est une tautologie, c’est<br />

à dire si et seulement si <strong>la</strong> formule<br />

∀y 1 ...∀y n (f[x ← 0]∨f[x ← 1]) (1.8)<br />

est une tautologie. Comme toutes les variables qui apparaissent dans <strong>la</strong> formule 1.8 sont<br />

quantifiées universellement, cette formule est une tautologie si et seulement si <strong>la</strong> formule<br />

(f[x ← 0] ∨ f[x ← 1]) est elle-même une tautologie. Soit ⃗y = [y 1 ...y n ]. En supposant<br />

que l’équation ait une solution, trois cas disjoints recouvrent toutes les interprétations<br />

possibles <strong>de</strong> ⃗y :<br />

• Si f[x ← 0](⃗y) = 0, alors comme par hypothèse (f[x ← 0] ∨ f[x ← 1]) est une<br />

tautologie, on a nécessairement f[x ← 1](⃗y) = 1. Donc x doit prendre <strong>la</strong> valeur 1<br />

afin <strong>de</strong> satisfaire <strong>la</strong> formule 1.7.<br />

• Si f[x ← 0](⃗y) = 1 et f[x ← 1](⃗y) = 0, alors x doit prendre <strong>la</strong> valeur 0 afin <strong>de</strong><br />

satisfaire <strong>la</strong> formule 1.7.<br />

• Si f[x ← 0](⃗y) = 1 et f[x ← 1](⃗y) = 1, alors <strong>la</strong> formule 1.7 est satisfaite<br />

indépendamment <strong>de</strong> <strong>la</strong> valeur <strong>de</strong> x.<br />

Ceci signifie que <strong>la</strong> valeur que doit prendre x selon <strong>la</strong> valeur <strong>de</strong> ⃗y est définie par :<br />

x = (¬f[x ← 0](⃗y)∧1) (1.9)<br />

∨(f[x ← 0](⃗y)∧¬f[x ← 1](⃗y)∧0)<br />

∨(f[x ← 0](⃗y)∧f[x ← 1](⃗y)∧p)<br />

où p est une variable différente <strong>de</strong> y 1 ,...,y n (par exemple <strong>la</strong> variable x elle-même), dénotant<br />

ainsi une valeur quelconque. La condition d’unicité <strong>de</strong> x est que x ne dépen<strong>de</strong> pas du<br />

paramètre p, i.e. (f[x ← 0] ∧ f[x ← 1]) = 0. La valeur <strong>de</strong> x donnée par 1.9 s’écrit plus<br />

simplement (¬f[x ← 0](⃗y)∨(p∧f[x ← 1](⃗y))). En résumé :<br />

Théorème 1.4 L’équation (∀y 1 ...∀y n ∃x f) admet une solution si et seulement si :<br />

(f[x ← 0]∨f[x ← 1]) = 1<br />

Cette équation possè<strong>de</strong> une solution unique si et seulement si :<br />

(f[x ← 0]⊕f[x ← 1]) = 1<br />

Lorsque l’équation admet une solution, <strong>la</strong> fonction <strong>de</strong> Skolem s associée à x, dénotant<br />

l’ensemble <strong>de</strong> toutes les solutions, est définie ci-<strong>de</strong>ssous, où p ∉ {y 1 ,...,y n } :<br />

s = (¬f[x ← 0]∨(p∧f[x ← 1]))

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

Saved successfully!

Ooh no, something went wrong!