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.

4.3.<br />

DÉCOMPOSITION DU CALCUL DE L’IMAGE 91<br />

function vectochar( f) ⃗ : TDG;<br />

var c ′ : TDG;<br />

let (c,P) = eliminate-and-partition( f) ⃗ in {<br />

case P of {<br />

{} : c ′ = 1;<br />

{ f ⃗ 1 ,..., f ⃗ q } : c ′ = λ⃗y.( ∧ q<br />

k=1 vectochar-cache (⃗ f k )(⃗y));<br />

}<br />

}<br />

return λ⃗y.(c(⃗y)∧c ′ (⃗y));<br />

function vectochar-cache( ⃗ f);<br />

if ⃗ f = [] or ⃗ f = [ ] then return 1;<br />

if is-in-cache?( ⃗ f) then return get-in-cache( ⃗ f);<br />

let c = vectochar-recurse( ⃗ f) in {<br />

put-in-cache( ⃗ f,c);<br />

return c;<br />

}<br />

function vectochar-recurse( ⃗ f);<br />

let (h j ) j∈J such that λ⃗x.( ∨ j∈J h j (⃗x)) = 1 in<br />

return λ⃗y.( ∨ j∈J vectochar( ⃗ f rr h j )(⃗y));<br />

Figure 25. Fonction “vectochar” utilisant un cache.<br />

peut être effectué en O((mlogm) × (n + | ⃗ f|)). La Figure 25 montre alors <strong>la</strong> nouvelle<br />

fonction “vectochar”.<br />

Au lieu d’utiliser une i<strong>de</strong>ntification exacte <strong>de</strong>s vecteurs <strong>de</strong> fonctions, telle que celle proposée<br />

dans [38], nous utilisons une i<strong>de</strong>ntification étendue [47] basée sur les <strong>de</strong>ux théorèmes<br />

suivants.<br />

Théorème 4.8 Si χ ′ = Img([f 1 ...f k ],χ), alors on a l’i<strong>de</strong>ntité suivante, où ε k est <strong>la</strong><br />

fonction i<strong>de</strong>ntité ou négation :<br />

Img([ε 1 ◦f 1 ... ε k ◦f k ],χ) = λ⃗y.χ ′ (ε 1 (y 1 ),...,ε k (y k )).<br />

Théorème 4.9 Si χ ′ = Img([f 1 ...f k ],χ), alors on a l’i<strong>de</strong>ntité suivante, où π est une<br />

permutation <strong>de</strong>s k premiers entiers :<br />

Img([f π(1) ...f π(k) ],χ) = λ⃗y.χ ′ (y π(1) ,...,y π(k) ).

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

Saved successfully!

Ooh no, something went wrong!