Combining Data Structures with Nonstably Infinite Theories using ...

5 downloads 15365 Views 823KB Size Report
amples of polite theories include those modeling data structures such as lists, ... Key-words: Combination of satisfiability procedures, Decision problems, Many-.
Combining Data Structures with Nonstably Infinite Theories using Many-Sorted Logic Silvio Ranise, Christophe Ringeissen, Calogero Zarba

To cite this version: Silvio Ranise, Christophe Ringeissen, Calogero Zarba. Combining Data Structures with Nonstably Infinite Theories using Many-Sorted Logic. [Research Report] RR-5678, INRIA. 2005, pp.39.

HAL Id: inria-00070335 https://hal.inria.fr/inria-00070335 Submitted on 19 May 2006

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destin´ee au d´epˆot et `a la diffusion de documents scientifiques de niveau recherche, publi´es ou non, ´emanant des ´etablissements d’enseignement et de recherche fran¸cais ou ´etrangers, des laboratoires publics ou priv´es.

INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

Combining Data Structures with Nonstably Infinite Theories using Many-Sorted Logic Silvio Ranise — Christophe Ringeissen — Calogero Zarba

N° 5678 Septembre 2005

ISSN 0249-6399

ISRN INRIA/RR--5678--FR+ENG

Thème SYM

apport de recherche

   !#"#$%'&() *+-,/.0 1 $ 2 %!3 !#   45) 6,789!:?A@CB?CDFE G0H3?AIKJ LNM6O3P ?AI QRDTS O JUEV?CHWTJX?CIKIYJXH LM G0@AD0WTJ P D[Z\G PK] G ^`_*aRbdc egf9hi ekj0l-m aRbdcnll-jkb o3prqtsvukw*cnl x!y pXz-cRm6{`|rl l-svl }|X~8~pry-m)8c9y cn€ _*cRy € _*c‚ƒ\„†…ˆ‡r‰Fi5e0cR~8m cRb o8y c І‹†‹†„ i5Œ†~|XŽˆcnl †



§

‘“’n”–•˜—8™ˆ”†š h›p†l mN€nprbœ~8w8m cRyN~8y prކy |Xbdl“l-m pry ccRqvcRbdcRkm lžpXŸ|`ކst ˆcR |Xm-w8y c¡stkm p€nprgm |Xst*cRy$¢ o|rl cnU*|Xm | l-m-y-w*€Rm-w8y cnl`l-w*€ _£|rlqtsvl m l–¤k|Xy-y |–j0l–¤0l cRm l–¤T|X*‘bVw8qtm-svl cRm l–¥!^žpV ˆcRy-s¦Ÿ§jœm-_*c6€npry-y cn€Rm$¢ *cnl lpXŸ!m-_*cnl c9~8y prކy |Xbdl–¤3pr*c¨*cncn8lm pd€nprb o8st*c|dm-_*cnpry-j£bdpk8cRqtst8Ž‘m-_*cV*|Xm |dl m-y-w*€Rm-w8y c ©€Rq®st|rm-l _ªl-sv€9|‘¯m-_*cRcnqvl prpry-Tj[¢±°bd~8pk~38cRcRFqtst8bdŽ£cRm-m-_*_*cœp0FcRqvprcRbd8qtcRj²ks¦m Ÿ“l–¥opr^`m-_F_8svl9m-_*€ncnprprbVy-svo8cnl6st|X|Xy m-c9svprl-«m |X€–o8|Xqt¬j=sto3Tcœ³*8|r€ stm _8c†sv¥cR ˆcn­w*l-st8Ž=m-_*c ^`_*cŽˆpˆ|Xq´pXŸNm-_8svlµy cR~pry-m¶svlµm p y cRq®|˜·Um-_*c¸l-m |Xo8qvcstT³*8stm cR*cnl l`y cnugw8sty cRbdcRkm–¥¡^Npœ|r€ _8svcR ˆc m-_8svl¸Žˆpˆ|Xq¹¤ © cstkm-y pkTw*€ncœm-_*c*prm-svpr­pXŸµ~3prqtstm cm-_*cnpry-svcnlº¤ž|X* © cœl _*p © m-_|Xm9|Xm-w8y |XqcK·0¢ |Xbœ~8qvcnlµpXŸ~3prqtstm cm-_*cnpry-svcnlst*€Rqtw*8cm-_*p†l c)bdp08cRqtst8Ž *|Xm |Vl-m-y-w*€Rm-w8y cnl¶l w*€ _‘|rlqtsvl-m l–¤k|Xy-y |–j0lº¤ l cRm l–¤¶|X*»b w8qtm-svl cRm l–¥½¼8w8y-m-_*cRbdpry c†¤ c£~8y p– 0sv8c¾|[bdcRm-_*p0»m-_|Xmdsvld|Xo8qvc£m p¬€nprbVo8st*c[| ~prqtstm c=m-_*cnpry-j © stm-_¿|Xgj«m-_*cnpry-j«pXŸ¸m-© _*c£cRqvcRbdcRgm lº¤y cRŽg|Xy Tqvcnl l‘pXŸ © _*cRm-_*cRydm-_*c=q®|Xm-m cRyUsvl l m |Xo8qtj‘stT³*8stm c¨pry*prm–¥ ^`_*c)y cnl-w8qtm l`pXŸ´m-_8svly cR~pry-mµŽˆcR*cRy |XqtstÀ–cm p bU|Xgjk¢Ál pry-m cn‘qvprކsv€m-_*p†l cy cn€ncRgm-qtjUpro8m |Xst*cn okj9^`st*cRqtqtsT|X* Â|Xy-o|)ŸÃpryN€nprbVo8st8st8Ž6m-_*cl pX¢Á€–|Xqtqvcn l-_8stgj9m-_*cnpry-svcnl © stm-_V*pr*l m |Xo8qtj9stT³*8stm c m-_*cnpry-svcnlstFpr*cK¢Ál pry-m cnFqvprކsv€†¥ ÄFňÆÇ È É •˜Ê“’†š {µprb o8st|Xm-svpr[pXŸ¡l |Xm-svl$³|Xo8stqtstmËj£~8y pk€ncnTw8y cnlº¤̸cn€Rsvl-svpr¾~8y pro8qvcRbdlº¤hÍ|Xgjk¢ l pry-m cn=qvprކsv€†¤Îw8m prbU|Xm cnF8cnTw*€Rm-svpr ÏИÑÓÒ`Ô3ÕYÖ¹×œÑØÒÙrÚ ÖÃÛ¹ÜÞÝdÒÃßXÙXÙ†Õ ÖÃÛ¹à-ádâ–ÝãYÖÁÚYänÛ¹Òå\æ˜ç›èAÏé¿ê´ê3éNëCìºíYí-îYïºíKíYðå!æºç¬ê´ê3éNëCìYìKñKò–íKí±ó˜ðNÚYäXá Ù˜Ö¹Õ ô§à$õ±Û¹ÒžöNê3è´÷\øê´ê´ù!ù¶ð†Ú ärá¸ú!æºû ü8öžûkýžöNëAþ–ÿ ∗

† ‡ §

         !   " $# % '& )( +* -,+. / 01 3245 672

ä˜Ñ Kà±Ö¹ÒÃÑÞÛAÝ)Õ *åžà±Ô 6à ºÑØõ$՘ÿ3ø )ÚYÑØÜ

Unité de recherche INRIA Lorraine LORIA, Technopôle de Nancy-Brabois, Campus scientifique, 615, rue du Jardin Botanique, BP 101, 54602 Villers-Lès-Nancy (France) Téléphone : +33 3 83 59 30 00 — Télécopie : +33 3 83 27 83 19

 ) )  S

T

κ > |Aτ |



B

Γ

|Bτ | = κ ,

 



|Bσ | = |Aσ | ,

24$5

T

 ! !. $ #  $ 6!  6. 



σ ∈ S \ {τ } . 

S*

9Ëml-5w GU€ncnlm pd*prm cVm-_|Xm6cR ˆcRy-jFukw|Xgm-s¦³cRy$¢ÃŸ§y cnc ¢ÃŸ§pry-b w8q®|dsvl ¢Ácnukw8st r|XqvcRkmm p²| T ̸¯65:¼ :Γ ∨ · · · ∨ Γ l-w*€ _Fm-_|Xm|Xqtq´m-_*c Γ ocRqvpr8Ždm p L ¥ Σ  • É ¡É ’ C” É    Σ   !"C '  6 )  S = {σ , . . . , σ } ⊆ Σ E  !.   !' !  1

%

n

i

 )(

  )  E>  $6'* ) ! J)   > $5 !.  ) 1)  ' " n7' !  !  ) 16') ! *  Σ L Γ  Σ !5$  $5T  '>6 $ !' vars σ (Γ) 6= ∅  σ ∈ S* !E!  $5L $5 ' ! !   '  5()     $    ' F*  ' " 7'   w Γ  /6  !> 5 0 -     !"$  $  

"  )H  L Σ  ψ = w(Γ)  '  '     @)C   # $5  Γ

   

 !

(∃¯ v )ψ

S

v¯ = vars(ψ) \ vars(Γ) 

T

! ! - ()   $5  $5  ' ! !   01   7' T '>6 $ σ ∈ S*

 ! -  1) *# "!"!()C# $3 "!    

ψ T  Aσ = [vars σ (ψ)]A 

24$5

T

! ! *'  

ψ

!"$ $  

S*

|Xkm­m p 8cK³**c | © stm-*cnl l¾Ÿ§w8*€Rm-svpr witness pr |Xqtqœukw|Xgm-s¦³cRy$¢ÃŸ§y cnc Σ¢ © ŸÃpry-bVw8q®|rc¨ogj=w*l-st8Ž‘|rl|o8q®|r€ED=o3p–·²m-_*c¸Ÿ§w8*€Rm-svpr w 8cK³**cnFpr L ¥ ^Npd8pdl p8¤TqvcRm ϕ oc¨|ukw|Xgm-s¦³cRy$¢ÃŸ§y cnc Σ¢ÃŸÃpry-bVw8q®|T¤3|X*£~3cRy$ŸÃpry-b m-_*c¸ŸÃprqtqvp © st8Ž K  €nprg ˆcRy-m ϕ stkm pF| T ¢Ácnugw8st †|XqvcRgm9̸¯¼ Γ ∨ · · · ∨ Γ l-w*€ _Ím-_|Xm vars (Γ) 6= ∅ ¤3Ÿ§pry c–|r€ _ σ ∈ S  qvcRm witness(ϕ) = w(Γ ) ∨ · · · ∨ w(Γ ) ¥  5::

I­c

A

1

1

éžé äM NYïOYò

n

n

σ

B–‹ 

'  ! 

  ( !"!  F* σ ∈ ΣS ∩ ΣS  σ σ 1 2   A A  '  ' )+* B B  > F* 



x =y

F

 x =y



F

x, y ∈ vars(Φ1 ) ∩ vars(Φ2 ) *

• É ¡É ’ C” É  & )(  Ti    Σi   $56'* !"$  $  ΣF1 ∩ ΣF2 = ∅ '  ΣP1 ∩ ΣP2 = ∅  !E!> $   !  ')+ 1# $  "!  6L ) ! /)C '  S S Γ1 ∪ Γ 2  E  i =   1," 2 *  7'  )+ 1 ') T!2 !.  '61 ' '  )C S = Σ1 ∩ Σ2 *  ') ) *    *  ψ = witness (Γ ) 2 T 2 2 S )   '6($ L  )  24$5  $5 ') )H'#  '6 σ∈S V = σ∈S Vσ *    V @σ') =  0 vars

σ (ψ2 )   * Γ ∪ Γ  ! (T ⊕ T )  ! ! - ()   1 2 1 2  24$5   ' ! !> '  ) *    @')  "  )H ' ! %



*

!"$3 $  

E 

E = {Eσ ⊆ Vσ × Vσ | σ ∈ S} , Γ1 ∪ arr (V, E)

 !

T1 

! ! - ()  ' 

{ψ2 } ∪ arr (V, E)

 !

T2 

! ! - ()  

*

 K¥Î6l l-w8bdc m-_|Xm svl ¢Ál |Xm-svl$³|Xo8qvc†¥  cRm F¥ ekst*€nc |X* |Xy c ¢Ácnugw8st †|XqvcRgm–¤\stmVŸ§prqtqvp © lVm-_|Xm Γ v¯∪={ψvars(ψ svl|Xqv)l \p } ¢Ál |Xm-svl$³|Xo8qvc†¥“^`_gw*lº¤ © c¡€–|X¨³8·V| ¢¹stkm cRy-~8y cRm |Xm-svpr A l |Xm-svl$Ÿ§j0st8Ž Γ ∪{ψ } ¥ _© *cRy c ¯6cK·Tm–¤TqvcRm |X* x = y } , ŸÃpry σ ∈ S . E = {(x, y) | x, y ∈ V ¶j¨€npr*l m-y-w*€Rm-svpr¤ c¶_|n ˆcµm-_|Xm svl ¢ÁlY|Xm-svl$³|Xo8qvcµ|X* {ψ }∪arr (V, E) Γ ∪arr (V, E) T svl ¢Ál |Xm-svl$³|Xo8qvc†¥ ©

5 :: 1 ⇒ 2  Γ1 ∪ Γ2 (T1 ⊕ T2 ) vars(Γ2 ) Γ2 (∃¯ v )ψ2 T2 (T1 ⊕T2 ) (T1 ⊕T2 ) E = {Eσ | σ ∈ S} σ

A

σ

2

1

2

1

2

A

1

1

2

T2

 2 ⇒ 1K¥  cRm A ocF| T ¢¹stgm cRy-~8y cRm |Xm-svpr l |Xm-svl$Ÿ§jkst8Ž Γ ∪ arr (V, E) ¤`|X*½qvcRm B ocF| ¢¹stgm cRy-~8y cRm |Xm-svpr£l |Xm-svl$Ÿ§j0st8Ž } ∪ arr (V, E) ¥¶ekst*€nc T svl\³*8stm cRqtj © stm-*cnl l |Xo8qvc†¤ © c€–|X T |rl l-w8bdc © stm-_*prw8mqvp†l lpXŸ\ŽˆcR*cR{ψ y |XqtstmÁj£m-_|Xm B = V ¤TŸÃpry)c–|r€ _ σ ∈ S ¥ 1

2

1

2

σ

éžé äM NYïOYò

B σ

2

B 

^`_gw*l–¤TŸÃpry)c–|r€ _

σ∈S

'  ! 

  ( !"!  $ 

 $5  ' 0 -  6 ! ! -  )+*

 S



S i6=j (Σi

∩ ΣSj ) =

T

S i Σi



i

*

i

 )C 

 Ti

 !  6  () 







'

1 ≤ i ≤ n

'  P P  ' Σ i ∩ Σj = ∅  1 ≤ i < j ≤ n  ! '  + )  1  >   #    3 $  "  ! 6         '      T S  2 ≤ i ≤ n* i 24$  $ 5'  -    !  ! - ( ) *  6()    !  6  ()C   T ⊕ · · · ⊕ Tn *  !   '   ' 6 F 4  $ ' 0 -  6E ! ! - ( )+ *  6(1)      Ti NP  1≤i≤n  !E'   )C  ')+*F ' ')J      $5  $ ' 0 -        witness ! ! - (T i) *  6()    ! E' 2 )C≤ 1 i ≤ n  NP    T1 ⊕ · · · ⊕ T n * £ c – € X | |X~8~8qtj«prw8y€nprb o8st|Xm-svpr I c=~8y p0€ncncn«ogjªst*Tw*€Rm-svpr¿pr ¥ Á9 Ÿ ­ n n = 2 © 5:: bdcRm-_*p0 m p T1 |X* T2 ¤!|X* m-_*c‘€Rq®|XstbŸ§prqtqvp © logjª^`_*cnpry cRb –B „T¥ Á9 Ÿ)st*l-m c–|r n > 2 ¤\stm l w5UG €ncnl m pÍ|X~8~8qtjªprw8y€nprbVo8st|Xm-svpr bdcRm-_*p0ª³*y l-m m p T1 |X* T2 ¤¡|X*«l-w8o*l cnukw*cRgm-qtj m p ¤ ¤´¥n¥n¥n¤ Tn ¥  T1 ⊕ T 2 T3  ΣF ∩ Σ F = ∅ i j

¸ % 6,/%!3 ! ek_8stkjUm-_*cnpry-svcnl cRy cstkm-y pkTw*€ncn=okj‘^`st*cRqtqts|X*FÂ|Xy-o| =CB–Š@?st=pry 8cRy`m pcK·0m cR*‘m-_*c¸pr*cK¢ l pry-m cnU ˆcRy l-svpr£pX© ŸNm-_*c¸¯6cRqvl prT¢±°~8~cR²bdcRm-_*p0²m pVm-_*c¸€nprb o8st|Xm-svpr¾pXŸN*pr*l-m |Xo8qtj‘stT³*8stm c m-_*cnpry-svcnlº¥\ek_8stkj¨m-_*cnpry-svcnl“|Xy cstgm cRy cnl-m-st8ޏocn€–|Xw*l ccR ˆcRy-j¨l _8stgj9m-_*cnpry-j S €–|X o3c¶€nprbVo8st*cn © stm-_[^`_*|Xgc¸j=*prprm-m-_*svprcRFy)pXm-_*Ÿžcnl-pr_8y-stj8st*Tcn¤8l cRl  ˆcRF|rl)s¦Ÿ“pry-m-st_*ކc¨stq®|X|Xqtm-qtm j‘cRy)stksvm-ly pk*Tprmw*€nl-cnm F|Xo8stqt=j²prstT*³*cK¢Á8l stprm y-c†m ¥ cn£qvprކsv€†¤*|X*²st£m-_8svl l cn€Rm-svpr © cŽˆcR*cRy |XqtstÀ–c6stmµm p¨bU© |Xgjk¢Ál pry-m cn²qvprކsv€†¥ I­c6|Xqvl pV~8y pº ˆc6m-_|Xm–¤gw8*8cRy`y |Xm-_*cRy © c–F| D |rl l-w8bœ~8m-svpr*l–¤rl-_8st8st*cnl lNsvlžcnukw8st r|XqvcRkmžm p~3prqtstm cR*cnl lNstVpr*cK¢Ál pry-m cnVqvprކsv€†¥\^`_*ccnukw8st †|XqvcR*€nc svl)qvcnl l€Rqvc–|Xy)stFbU|Xkjg¢Ál pry-m cn¾qvprކsv€†¥ -£Å  C”  É      cRm T oc­| Σ¢¹m-_*cnpry-jˆ¤¸qvcRm S ⊆ Σ ¤¸|X* qvcRm ϕ oc­| T ¢Ál |Xm-svl$³|Xo8qvc ukw|Xgm-s¦³cRy$¢ÃŸ§y cnc ¢ÃŸÃpry-bVw8q®|T¥ I­cœ8cR*prm c © stm-_ mincard (ϕ) m-_*cœbœst8stb w8bpXŸ`m-_*cŸ§prq¦¢ qvp © st8Ž‘l cRm)pXŸ!€–|XΣy Tst|Xqkw8bVocRy .l K S

T,S



éžé äM NYïOYò

max |Aσ | σ∈S



| A |=T ϕ



.



B–…

²Å ª—8• 



'  ! 

  ( !"!  k . a , ¶w8mm-_*cR¤ © cV€–|XF8cK³**c | © stm-*cnl l`Ÿ§w8*€Rm-svpr£ŸÃpry ogj=qvcRm-m-st8Ž witness(ϕ) = ψ ¥  T ^`_*c`Ÿ§prqtqvp © st8ŽV~8y pr~p†l-stm-svpr‘cnl m |Xo8qtsvl-_*cnl¡l-5w GU€RsvcRkm¶€npr*Tstm-svpr*l¶w8*8cRy © _8sv€ _‘~3prqtstm cR*cnl l stbœ~8qtsvcnll-_8st8st*cnl l–¥ σ∈S i=1

σ B i

σ i σ 1

σ σ

èAå“éNè§ö

Bº‡

    "!# $%&' !()+*," .-/ 0 1324$56'7!

• É ¡É ’ C” É %

Σ

 $56'*

   !H '    C)  !"!"  $  Σ

  )(

 *

S ⊆ ΣS

  !.  !' !  '  )  

T

 

 ΣS = S   Σ

 !-/ 1



' 6($  01  6 !"$  $  S  ! -  1    !  6  ()  $6 # 5$  $5 Σ   !  01   A 7' '&   σ∈S Aσ  A T  T  !  ')+ 1# $  "!  6  S * 24$  ! !"$( 0* #  $ 6!  6.   

S*

T

µjœ|rl l-w8bœ~8m-svpr¤ svl!l bdpkprm-_ © stm-_œy cnl ~3cn€Rm!m p S ¥žÎqvl p8¤ T _|rl!m-_*cµ³*8stm c)bdpk8cRq ~8y 5pr:~:cRy-mÁj © stm-_Fy cnl ~3cn€Rmm p ST ¥ ¯cK·Tm–¤ c9€Rq®|Xstb m-_|Xmm-_*c6Ÿ§w8*€Rm-svpr €–|X=oc6c´cn€Rm-st ˆcRqtj=€nprbœ~8w8m cn£ogj‘m-_*c ~8y p0€ncnTw8y c© /1 85 st¬¼“stކw8y cdŠT¥V^Np=mincard l cncm-_8svl–¤ © c*cncnÍm p=l-_*p © m-_|Xm¸m-_*c~8y p0€ncnTw8y c svlm cRy-bœst|Xm-st8޲|X*£~|Xy-m-s®|Xqtqtj£€npry-y cn€Rm–¥ /21 8;5

{µpr*€ncRy-8st8Ž[m cRy-bœst|Xm-svpr¤´z±w*l-m *prm cUm-_|Xmœl-st*€nc Σ = S ¤“stm¨ŸÃprqtqvp © lm-_|Xm–¤“Ÿ§pryc–|r€ _ ¤*m-_*c9kw8bVocRy6pXŸ!stkm cRy-~8y cRm |Xm-svpr*l6cRkw8bdcRy |Xm cn  bdpkTw8qvpUsvl prbdpry-~8_8svl-b `st¾qtst*c dsvl k>0 ³*8stm c†¥ {µpr*€ncRy-8st8Ž ~|Xy-m-s®|Xq¸€npry-y cn€Rm-*cnl l–¤)|rl l w8bdcFm-_|XmUm-_*c›~8y p0€ncnTw8y c cK·0stm l=|Xm qtst*c)…T¥\^`_*cRdm-_*cRy ccK·0svl-m l¡|Xœstkm cRŽˆcRy k l-w*€ _dm-_|Xm ϕ = true ¤rŸÃpry¡l prbdc /T1 ¢¹stk8m 5 cR y-~8y cRm |Xm-svpr l-w*€ _¾m-_|Xm |A | ≤ k ¤0ŸÃpry|Xqtq σ ∈ S ¥¡h[pry cnp– ˆcRy–¤*Ÿ§pry|Xqtq T ¢¹stkm cRy-~8y cRm |Xm-svpr*l B l-w*€ _Fm-_|Xm A ¤0Ÿ§pry|Xqtq ¤ c9_|– ˆc ¥^`_*cRy cKŸ§pry c†¤ mincard (ϕ) = k ¥ |B | ≤ k − 1 ¯cK·Tm–¤8|rl l-w8bdc6m-_|Xσm`m-∈_*Sc~8y © p0€ncnTw8y cϕ /=1 false cK·Tstm l`|Xm`qtst*cV‡0¥9ËmŸÃprqtqvp © l`m-_|Xm`ŸÃpry|Xqtq 85

¢¹stkm cRy-~8y cRm |Xm-svpr*l B l-w*€ _Fm-_|Xm |B | ≤ n − 1 ¤TŸÃpry|Xqtq σ ∈ S ¤ © c9_|– ˆc ϕ = false ¥^`_8svl T stbœ~8qtsvcnlm-_|Xm mincard ¥!h[pry cnp– ˆcRy–¤l-st*€nc (ϕ) ≥ n |X* σ ∈ S} , n = max {j | j = |vars (witness(ϕ))| stm)Ÿ§prqtqvp lm-_|Xm)m-_*cRy c cK·0svl m l| ¢¹stkm cRy-~8y cRm |Xm-svpr l-w*€ _¾m-_|Xm ϕ = true |X* |A | ≤ n ¤ ŸÃpry|Xqtq ©σ ∈ S ¥!^`_8svlstbœ~8qtsvcnlm-_T|Xm mincard (ϕ)A≤ n ¥ ekst*€nc mincard (ϕ) ≥ n |X* mincard (ϕ) ≤ n ¤ © cpro8m |Xst mincard (ϕ) = n ¥ T,S





S



A

σ

B

σ

T,S



B

σ

T,S

σ

A

σ

T,S

T,S

T,S

T,S



I¿_*cR ¤¡x!y pr~p†l-stm-svpr 5Š B²m cRqtqvl w*lm-_|Xmst»m-_*c=pr*cK¢Ál pry-m cn»€–|rl c²~3prqtstm cR*cnl l X| * l-_8st8st* cnΣl lF |Xy =c›1m-_*cÍl |Xbdc[€npr*€ncR~8m‘ŸÃpry£|Xqtq6~8y |r€Rm-sv€–|Xq¸~8w8y-~p†l cnl–¥ I _*cR Σ > 1 ¤ m-_*c_kjk~prm-_*cnl-svl Σ = S bU|nj[oc m p0p£l-m-y pr8Ž*¥œ{µpr*l cnukw*cRgm-qtjˆ¤žm-_*cœcnugw8st †|XqvcR*€nco3cRm © cncR ~prqtstm cR*cnl l|X*¾l-_8st8st*cnl lsvlqvcnl l)€Rqvc–|Xy)st£m-_*c9bU|Xkjg¢Ál pry-m cn›€–|rl c†¥ S

S

S

éžé äM NYïOYò

B–‰ 

N”†š Î  N” N ”†š

¢Ál |Xm-svl-³|Xo8qvc¨ugw|Xkm-s¦³cRy$¢ÃŸAy cnc Σ¢ÃŸÃpry-bVw8q®|

;

T mincard T,S (ϕ)

'  !

  ( !"! 6 $     ')4   %

 B Γ κ > |Aindex | *

|Belem | = |Aelem |

|Bindex | = κ 



èAå“éNè§ö

Šˆ‡

    "!# $%&' !()+*," .-/ 0 1324$56'7!

Rc m V = vars stkm cRy-~8y cRm |Xm-svpr B pº ˆcRy V ¤*|X*£qvcRm A|=κ 5::



¤¶ŸÃpry

¥ I­cF€npr*l-m-y-w*€Rm l‘| T ¢ |rl¡ŸÃprqtqvp © l–¥!¼“s¦·‘|Vl cRm A l-w*€ _Um-_|Xm |A ∪

σ ∈ {elem, index, array} elem ∪ Vindex ∪ Varray

σ

σ (Γ)

array

0

index

0

Bindex = Aindex ∪ A0 , Belem = Aelem ,

|X*

ŸÃpry)c–|r€ _ index¢¹ r|Xy-s®|Xo8qvc i ∈ V , ŸÃpry)c–|r€ _ elem¢¹ †|Xy-s®|Xo8qvc e ∈ V . e =e , 9ˁ­pry 8cRyVm p¾8cK³**c pº ˆcRyVm-_*c ¢¹ †|Xy-s®|Xo8qvcnl–¤N³8·ª|XªcRqvcRbdcRgm e ∈ A ¥‘^`_*cR¤ŸÃpry B array c–|r€ _ array¢¹ †|Xy-s®|Xo8qvc a ∈ V ¤ © c9qvcRm ( s¦Ÿ i ∈ A , a (i) , a (i) = prm-_*cRy © svl c . e , ¶j €npr*l-m-y-w*€Rm-svpr¤ svl[| T ¢¹stgm cRy-~8y cRm |Xm-svpr l-w*€ _ m-_|Xm |B | = |A | |X* B ¡ ¥ 6 ¯ K c 0 · – m ¤ ¨ c l * _ © p © m-_|Xm B lY|Xm-svl$³cnl|Xqtq´qtstm cRy |Xqvlst Γ ¥ |B |=κ C” Å •X — !C’ É  ”  Å ÁÉ • e ≈ e  e 6≈ e  i ≈ j  —  Ê i 6≈ j  9ÁbœbdcnTs¦¢ |Xm c†¥ C” Å •X — !C’ É  ”  Å ËÉ • a ≈ b   cRm i ∈ B ¥ 9¹Ÿ i ∈ A m-_*cR a (i) = a (i) = ¥ 9ÁŸ i ∈/ A m-_*cR a (i) = e = a (i) ¥^`_gw*lº¤ a = b ¥ / b (i) = b (i) C” Å •X — !C’ É  ”  Å ÁÉ • a 6≈ b  ekst*€nc a 6= b ¤m-_*cRy ccK·Tsvl-m l9|XÍst*8cK· i ∈ A l w*€ _Fm-_|Xm a (i) 6= b (i) ¥ 9Ám`ŸÃprqtqvp © lm-_|Xm a (i) 6= b (i) ¤ © _8sv€ _Fstbœ~8qtsvcnl a 6= b ¥ C” Å •X — !C’ É  ”  Å ËÉ • e ≈ read(a, i)  I­c¸_|n ˆc K iB = i A , B

index

A

elem

0

elem

array

A

B

index

0

array

elem

elem

index

1

elem

2

1

array

A

B

B

index

0

A

B

index

index B

A

array

A

2

elem

index

index B

B

A

index

B

B

eB = e A = [read(a, i)]A  = a A iA  = a B iB

éžé äM NYïOYò

A

B

l st*€nc

iA ∈ Aindex .

B

І‰

'  ! 



  ( !"!   1  6 ' Tarray   >6 $  

µj=x!y pr~3p†l stm-svpr*lBB†¤Œˆ‡0¤*|X*¾Œ†‰T¥ 

A

array

ekstbœstq®|Xym pm-_*c9~8y pkpXŸ!pXŸ!x!y pr~3p†l stm-svpr›Œˆ‡0¥ 5:: • É ¡É ’ C” É    É´É ”  žÅ ’–’   '  *     '

A

B

B

0

Aelem *  |Bindex | = |Aindex |

Γ

A

index

B

index

) 16') !    !5$  $  Σarray  ! ! *'  ! 5$  $  

B



κ > |Aelem | *

* !  !' ! 

 S ⊆ {elem, index}





S*



'  '  

' ( #+ + 

8cK³*C”*Ncn­Å ’–|r’ l6 ŸÃpr qtqvp ™†” lºÉ ¥I stm-Î_*prw8© 9m stm-qv*p†cnl l l9lpXŸ§Ÿ¶w8Žˆ*cR€R*m-svcRpry  |XqtstmËjˆ¤qvcRm o cœŸÃ|‘pry €nprm-_*rz$c²w8m-*_*€Rcnm-prsvpry-ªj pXŸ |Xm €–|X»oc ¢ qtstm cRy |Xqvl`l-w*€ _‘m-_|X© m |X* ¥ I­cqvcRm oc)m-_*c y cnl w8qtm)pXŸ!|X~8~8qtj0st8ŽUm p m-_*c9Ÿ§prqtqvp st8Ždm-y |X*l$ŸÃpry-bU|Xm-svpr K 

  



Tarray

witness array Γ vars elem (Γ) 6= ∅

Σarray

© st Γ © stm-_ | qtstm cRy |Xq¨pXŸ m-_*c[ŸÃpry-b  }cR~8q®|r€nc¬c–|r€ _ qtstm cRy |Xq¨pXŸ m-_*c›Ÿ§pry-b a 6≈ b ¤ * _ R c

y c v s  l | § Ÿ

y n c l _ ¢¹ r|Xy-s®|Xo8qvc†¥ read(a, i ) 6≈ read(b, i ) © i index ²Å ª—8•     cRm Γ o3c|²€nprrz±w8*€Rm-svpr­pXŸ |Xm Σ ¢¹qtstm cRy |Xqvl–¤´qvcRm ∆ = witness (Γ) ¤ |X*FqvcRm v¯ = vars(∆) \ vars(Γ) ¥!^`_*cR Γ |X* (∃¯v)∆ |Xy c T ¢Ácnukw8st r|XqvcRkm–¥ • É ¡É ’ C” É     Γ E  E'  .'   !  Σ  ) 16') !/!"$ $  vars (Γ) 6= vars index (Γ) 6= ∅ Γ

witness array (Γ)

array

0

0

0

&

array

array



array

%

)(

'&

   '  L ' 0   ' * ) array 16')/  $5 '   ∅ vars elem (Γ) 6= ∅  $ ') )H#  3'     @)C 

  ! !  ! - ()  



*

*

Γ

Tarray 

*

42 $5   ' ! !  ' 

 01   7'

Tarray  = [vars elem (Γ)]A *

Aelem

A

! ! *'  

Γ

!"$ $  

index

x 6≈array y *

24$5

Aindex = [vars index (Γ)]A 

 2 ⇒ 1K¥/9ËbœbdcnTs®|Xm c†¥  1 ⇒ 2K¥  cRm V = vars (Γ) ¤0ŸÃpry σ ∈ {elem, index, array} ¥ekst*€nc Γ svl T ¢Ál |Xm-svl-³|Xo8qvc†¤ m-_*cRy ccK·0svl-m l¡| T ¢¹stgm cRy-~8y cRm |Xm-svpr B lY|Xm-svl$ŸAj0st8Ž Γ ¥JI­c © stqtq*w*l c B stUpry 8cRy!m p¨€npr*l-m-y-w*€Rm |XFpr~8~pry-m-w8*c T ¢¹stgm cRy-~8y cRm |Xm-svpr A ¥ 5::

σ

σ

array

array

array

èAå“éNè§ö

І

    "!# $%&' !()+*," .-/ 0 1324$56'7!

›h pry c¨l ~3cn€Rs¦³€–|Xqtqtjˆ¤ © c9qvcRm A o3c¸m-_*c €npr*l m-y-w*€Rm cn¾|rl`ŸÃprqtqvp © l–¥¡¼“sty l-m–¤ © c9qvcRm

Tarray

¢¹stkm cRy-~8y cRm |Xm-svpr[pº ˆcRy

Velem ∪ Vindex ∪ Varray

B Aindex = Vindex , B Aelem = Velem ,

|X*

ŸÃpry)c–|r€ _ index¢¹ r|Xy-s®|Xo8qvc i ∈ V , ŸÃpry)c–|r€ _ elem¢¹ †|Xy-s®|Xo8qvc e ∈ V . e =e , 9ˁ¿pry 8cRy²m pª8cK³**c p– ˆcRy²m-_*c array¢¹ †|Xy-s®|Xo8qvcnl–¤`³8·¿|X e ∈ A ¥ `^ _*cR¤`ŸÃpry‘c–|r€ _ A |X* i ∈ V ¤ © c9qvcRm a∈V ( s¦Ÿ a (i ) ∈ A ,  a (i ) , a i = prm-_*cRy © svl c . e , ¯prm cm-_|Xm svl | cRqtq¦¢Á8cK³**cn ¢¹stgm cRy-~8y cRm |Xm-svpr¤¡|X*Ím-_|Xm ¤ ŸÃpry σ ∈ {index,Aelem} ¥© ¯cK·Tm–¤ © c¨l _*p T© m-_|Xm A l |Xm-svl$³cnl|XqtqNqtstm cRy |Xqvl)st AΓ ¥ = [vars (Γ)] C” Å •X — !C’ É  ”  Å ÁÉ • e ≈ e  e 6≈ e  i ≈ j  —  Ê i 6≈ j  9ÁbœbdcnTs¦¢ |Xm c†¥ C” Å •X — !C’ É  ”  Å ÁÉ • a ≈ b   cRm i ∈ A ¥ 9ÁŸ a i  ∈ A m-_*cR a i  =    ¥ 9¹Ÿ\st*l-m c–|r a i  ∈/ A m-_*cR a (i ) = e = b (i ) ¥ a i =b i =b i C” Å •X — !C’ É  ”  Å ËÉ • e ≈ read(a, i)  I­c¸_|n ˆc K iA = i B , A

index

B

elem

0

array

elem

index

A

B

A

B

B

B

elem

0

σ

array

1

elem

2

1

elem

array

B

B

B

B

A

A

B

2

index

index B

B

A

σ

index

B

A

elem

elem A

A

0

A

A

A

eA = e B = [read(a, i)]B  = a B iB  = a A iA

-l st*€nc a i  ∈ A . C” Å •X—!C’ É ” Å ÁÉ •  ekst*€nc a i  = e ∈ A ¤ © cd_|n ˆc © c i, e) _|– ˆc a i  = b i a== ewrite(b, ¥ 6 ¯ K c 0 · m–¤µqvcRm j ∈ A l w*€ _m-_|Xm j 6= i ¥ 9¹Ÿ = e m-_*cR a (j) = a (j) = b (j) = b (j) ¥ 9ÁŸ¶st*l-m c–|r a (j) ∈/ A m-_*cR a (j) ∈ A ¥  a (j) = e = b (j) A

B

A

éžé äM NYïOYò

B

A

A

elem

0

B

A

B

B

B

A

B

B

elem

B

B

elem

A

index

B

A

B

elem

Œ†‹ 

• É ¡É ’ C” É

%



ÅkÉ • Å

 $6'*

  ( !"!  |Aelem | *

¤ŸÃpry ¥ I­c€npr*l-m-y-w*€Rm¸| ¢¹stgm cRy-~8y cRm |Xm-svpr |rl`Ÿ§prqtqvp © l–¥¡¼“s¦·Fσ |∈l {elem, cRm A l-set} w*€ _Fm-_|Xm |A ∪ A | =T κ ¤*|X*£qvcRm

Vσ = vars σ (Γ) 5:: B Velem ∪ Vset

set

0

0

elem

Belem = Aelem ∪ A0 ,

|X*

Ÿ§pry)c–|r€ _ elem¢¹ r|Xy-s®|Xo8qvc e ∈ V , Ÿ§pry)c–|r€ _ set¢¹ †|Xy-s®|Xo8qvc x ∈ V . x =x , ¶jF€npr*l m-y-w*€Rm-svpr svl| ¢¹stkm cRy-~8y cRm |Xm-svpr­l-w*€ _›m-_|Xm |B | = κ ¥)h[pry cnp– ˆcRy–¤3stmsvl m-y-st 0s®|Xqm pœ€ _*cn€ D£m-_|Xm BB lY|Xm-svl$T³cnl|Xqtqqtstm cRy |Xqvlst Γ ¥  • É ¡É ’ C” É   É´É ” žÅ ’–’  24$5  $56"* T  ! !". $ #  $ "!  6   $5 !' eB = e A , B

elem

A

set

set

%

'& '

elem



set

elem * 5::







µj=x!y pr~3p†l stm-svpr*lBBV|X* g„T¥ 



'* '  #



' ( #+ + 



'  '  

|rlŸÃC”prNqtqvpÅ ’–’ l–¥  I stm-†™ *_ ” prÉ w8m`qvp†l Îl¶pX© ŸžstŽˆm-*cR*cncRl ly |XŸ§qtw8stmÁ*jˆ€R¤Tm-svqvprcRm o c| €nprrz$Ÿ§w8pry´*€Rm-_*m-svc!pr=m-_*pXcnŸpry- j |Xm –€ |X¹¢ qt¨stm o3cRy c|X8qvl`cK³*l-*w*cn€ _ m-_|Xm © -/ 1)+* #   !E!)C

eA ∈ Aelem



{elem} *

µj=x!y pr~3p†l stm-svpr –B ŠT¤*}cRbU|Xy6D k‡0¤|X*Fx¡y pr~3p†l-stm-svpr g‰T¥ 





 *' # #+ +

ÅkÉ • Å   6É ! C” Å žÅ ’–’  24$5 $56'* T  !  ) 1#  $ 6!  6.  {elem} µj=x!y pr~3p†l stm-svpr*l g…d|X* gT¥  5:: 45+$ “ 8 h›w8qtm-svl cRm l±i |Xqvl p Dk*p © ‘|rl!o|XŽˆl±i |Xy c€nprqtqvcn€Rm-svpr*l¶m-_|Xm!bU|nj€nprgm |Xst²Tw8~8qtsv€–|Xm c)cRqvcRbdcRgm l–¥ ¼pry-bU|Xqtqtjˆ¤|bVw8qtm-svl cRm x svl| Ÿ§w8*€Rm-svpr x : A → N ¤0ŸÃpry)l prbdc¨l cRm A ¥ ¤ c y-stm c I­cw*l c`m-_*c)l-j0bVoprq m p¨8cR*prm cm-_*c)cRbœ~8mËjbVw8qtm-svl cRm–¥ I _*cR m p 8cR*prm cm-_*cbVw8qtm-svl cRm`€n[[pr]]gm |Xst8st8ŽœcK·*|r€Rm-qtj n pk€n€Rw8y-y cR*€ncnlµpXŸ e |X*nd*≥prm-0_8st© 8Ž©cRqvl c†J¥ I¿[[e]]_*cR ¤ c9qvcRm ¥ n

Suggest Documents