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.
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]))