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.

B.2. GRAPHE SYMÉTRISÉ 127<br />

B.2 Graphe symétrisé<br />

<strong>Une</strong> autre idée permettant <strong>de</strong> compacter le graphe <strong>de</strong> représentation est d’utiliser un type<br />

qui dénote l’échange <strong>de</strong> <strong>de</strong>ux branches. <strong>Pour</strong> toute variable x, on considère <strong>la</strong> fonction S x<br />

définie sur toute formule f par :<br />

S x (f) = f[x ← (¬x)]<br />

Suposons qu’une formule f s’écrive △(x,L,H) en forme <strong>de</strong> Shannon, alors <strong>la</strong> forme <strong>de</strong><br />

Shannon <strong>de</strong> S x (f) est △(x,H,L). Afin <strong>de</strong> conserver <strong>la</strong> négation en O(1), on va utiliser <strong>la</strong><br />

séparation en fonctions positives et négatives, et ajouter les types “+” et “−”, tels qu’ils<br />

ont été exposés pour les TDGs. <strong>Une</strong> syntaxe abstraite contenant <strong>la</strong> forme symétrisée est<br />

<strong>la</strong> suivante :<br />

< tree > ::= < type >< vertex ><br />

< vertex > ::= △(< var >,< tree >,< tree >)<br />

::= 1<br />

< type > ::= + | − | +S | −S<br />

< var > ::= x 1 | ... | x n<br />

L’interprétation <strong>de</strong> cette forme exprimée avec <strong>la</strong> forme <strong>de</strong> Shannon est <strong>la</strong> suivante :<br />

+△(x,L,H) = △(x,L,H)<br />

−△(x,L,H) = ¬△(x,L,H)<br />

+S△(x,L,H) = △(x,H,L)<br />

−S△(x,L,H) = ¬△(x,H,L)<br />

<strong>Pour</strong> assurer <strong>la</strong> canonicité d’une forme utilisant l’opérateur S, il suffit <strong>de</strong> disposer d’un<br />

critère pour déci<strong>de</strong>r <strong>la</strong>quelle <strong>de</strong>s <strong>de</strong>ux structures △(x,L,H) ou △(x,H,L) sera prise<br />

comme référence. Soit R une re<strong>la</strong>tion d’equivalence sur l’ensemble <strong>de</strong>s fonctions F, et<br />

soit ≤ R un ordre total sur F/R. <strong>Pour</strong> toute fonction f, on note f R <strong>la</strong> c<strong>la</strong>sse d’équivalence<br />

<strong>de</strong> f re<strong>la</strong>tivement à R. Afin d’obtenir une forme canonique, on peut par exemple imposer<br />

que <strong>la</strong> branche droite dénote une fonction H, telle que (H R ≤ R L R ), où L est <strong>la</strong> fonction<br />

dénotée par <strong>la</strong> branche <strong>de</strong> gauche.<br />

<strong>Une</strong> forme canonique possédant une négation en O(1) est par exemple obtenue en<br />

imposant que <strong>la</strong> branche droite dénote toujours une fonction positive, qui soit inférieure<br />

ou égale à <strong>la</strong> fonction dénotée par <strong>la</strong> branche gauche. Avec cette forme, une fonction est<br />

positive si et seulement si elle est soit <strong>de</strong> type +, soit <strong>de</strong> type +S avec <strong>la</strong> branche gauche<br />

positive (notons que c’est alors une fonction <strong>de</strong> type ++), soit <strong>de</strong> type −S avec <strong>la</strong> branche<br />

gauche négative (notons que c’est alors une fonction <strong>de</strong> type −+). Réciproquement, une<br />

fonction est négative si et seulement si elle soit <strong>de</strong> type −, soit <strong>de</strong> type +S avec <strong>la</strong> branche<br />

gauche négative (notons que c’est alors une fonction <strong>de</strong> type +−), soit <strong>de</strong> type −S avec<br />

<strong>la</strong> branche gauche positive (notons que c’est alors une fonction <strong>de</strong> type −−).<br />

<strong>Une</strong> <strong>de</strong>uxième forme canonique est obtenue en imposant qu’une fonction positive soit<br />

exclusivement dénotée soit par une structure <strong>de</strong> type +, avec une branche droite positive

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

Saved successfully!

Ooh no, something went wrong!