Technical Report A Decision Procedure for Fixed-Width Bit-Vectors ...

1 downloads 0 Views 306KB Size Report
Apr 9, 2005 - fra g ment is functionall y identical to the ori g inal code . T hese pro .... [E KM98 ] J aco b El g aard ,N ils K larlund , and A nders Mö ller . M ona ...
         !"#$%'& #)(*+-,. 0/'%$132 4 %56 78 9#13:;XZY]^_[`>Xaba cVdHegfhQi IKR5OQj*>XI*GjKIF[`I f AHR iBe I*G i MPO i AHG6k d R4Z"l$G>b\HIKRBJ4> i C mHnQoQprqs6t3u+vBwsTxQsy_zDq+v|{_z}~}T€t‚6pHqQƒ„rx#{+… sT{† ‡ i Lˆ f RB>Xa‰HŠTŠ‹ Œ TŽ99‘K’B “'”N•–”9—™˜ •›šš–œK”*”9ž›Ÿ@ B¡‚¢£Ÿ¥¤—*¦@”9¤”9¡|š¨§ š–Ÿ@˜B¡§ ¡D+—™”©•›ª«˜4•–¤ § ¡K¬9” i ≥ j ≥ 0 £ï £ð4ñ'ò©þ3ðVü©ï £þKò ò©ø`õöð úÀòÌø*ü0û™ð4ü©ïÎñ Áø£ú_ò©þ‚ð 3ïöò0ù þ3ð4ü©ð 

4







m







n=i−j +1



1 [q]

+

 











2





1 [q] 





1  7 



 

2

$

360

7 

Σ

›÷|ò0ø£ó a ï«ùøÂú6ò©þ‚ðßú·ø£ü0ó 

a ::= t1[n] ≈ t2[n] | BVLT(t1[i1 ] , t2[i2 ] ) | BVLE(t1[i1 ] , t2[i2 ] )

þ3ð 3ïÎñ‚÷£ü $ù Dó Hø£õ ïÎùÍý‚ù¨ðBû5ú·ø£üò0þ3ðõöø £ï«î ÷£õð4ÿKý‚÷ÂõÎïöò Áø £ð4üò©ð ü0óÆù þ3ð4ü©ðßò0þ3ðõÎðúÀò þ‚÷£ñ‚û5ù©ï«û™ð ÷Âñ‚û5ü0ï *þ*ò≈þ‚÷£ñ‚û`ù¨ï«û™ð 3ïöò £ðBî¯ò©ø*üNò©ð ü0óÆùóý‚ù¨ò HðøÂú6ò©þ3ð ù0÷ÂóÅðßõöð4ñ Âò0þ 0 2 $   7 Xú·ø£ü0óý3õ«÷ ϕ ïÎùø*ñ3ðßøÂú6ò©þ3ðßú·ø*õöõÎø ïöñ . Σ



 '









!

4



5



4







ϕ ::= a | ¬ϕ | ϕ1 ∧ ϕ2 | ϕ1 ∨ ϕ2 .

]›ñ™ú·ø*ü©óÆ÷ÂõÎõ ~÷Âñ %6> 

øÂú÷ bú·ø*ü©ó+ý3õÎ÷ î ÷£ñ HðÆû™ð ñ3ð4ûá÷£ù ú·ø*õöõÎø Íù þ3ð ù Kó rø*õÎùïÎñ Σ ÷Âü0ðßïöñKò©ð4ü©ô‚ü©ð ò©ð4û`ïÎñ'ò©þ3ðΣïöñKò©ý‚ï¥ò0ï *ð Nϕ÷ ‚÷Âñ‚û`ðB÷£î9þ |÷Âü0ïÎ÷ 3õöðßï«ùÍóÆ÷Âô‚ôrðBû ò©øÁ÷$ù¨ý3ïöò0÷ 3õÎðñ3ø£ñ Äð óÅô™ò ñ3ïöò©ð+ù–ò0ü©ïÎñ ÆøÂúò0þ3ð÷Âô‚ô3ü©ø*ô3ü0ïÎ÷Âò©ðßõöð4ñ Âò0þ ú·ø£ü0óý3õ«÷ ϕ ïÎù ù0÷Âï«ûÁò0ø Hð?=  2H k rïöú6ïöòÍï«ù E6ßý‚ñ‚û™ð ü ÷ÂõÎõïöñKò©ð4ü©ô‚ü©ð ò0÷|ò0ïöø*ñ‚ù D÷£ñ‚ûj %6=  2H k`ø£ò©þ3ð4ü ï«ù©ð    êNë #ë ç ä  æçÆê è`é5)æ 

ý3üÅû™ð4î ïÎù©ïÎø£ñ ô3ü0ø™îðBû™ý3ü0ð$ï«ùV÷  ›ù¨ø*õ *ð ü r÷£ù©ð4û ÷£õ *ø£ü0ï¥ò0þ3ó ï¥ò0þ×÷*û3û™ïöò©ïÎø£ñ‚÷£õi+1 γ(t) = t

1o 9



  





$  "  3

0

h®ðVù©þ3ø4 ò©þr÷|òÌò©þ3ð+ò©ïÎóÅðVî ø£óÅô3õÎð  ï¥ò ø£ú γ ïÎùÌôHø£õ Kñ‚ø£óÅïÎ÷£õQïÎñ ò0þ3ðÅù¨ïfe ðø£ú_ò©þ‚ð+ïÎñ3ô3ý™ò  þ3ðù©ï34e ðøÂú#ò0ð ü0ó ï«ùû™ð  ñ3ð4û'÷£ùïÎñ`ò©þ3ð ù©ð4îò©ïÎø£ñ`ø£ñ'îø*ñ‚î ÷Âò©ð ñr÷|ò©ïÎø£ñ5ñ3ø£ü0óÆ÷ÂõTú·ø*ü©ó%

Íø£ò©ï«îðÆò0þ‚÷|ò ò©þ3ðÁø*ý™ò©ô‚ý™òò0ð ü0óÅùøÂúÍ÷ÂõÎõPü0ý3õÎð4ùþr÷ £ðÆý™ò0óVøKù–òV÷£ù óÆ÷£ñ |÷Âü0ïÎ÷ 3õöðBù ú·ý3ñ‚îò©ïÎø£ñ‚ùß÷£ñ‚ûFî ø£ñ‚ù¨ò0÷£ñ*ò9ùß÷£ù ïöñ ò©þ3ðVïÎñ3ô3ý™ò ~ð îð4ô™òßò©þ3ðVô‚÷*û3û™ïÎñ 5ü0ý3õÎð4ùß÷Âñrûò©þ‚ðú·ø*õ õÎø ïöñ Vü0ý3õöð  6



&

4

















γ(a[n] ∗[n] (t1[n] +[n] . . . +[n] tk[n] )) = γ(a[n] ∗[n] t1[n] ) +[n] . . . +[n] γ(a[n] ∗[n] tk[n] )

]Äò+ï«ù ðB÷£ù ò©ø ù¨ð4ðÅò©þ‚÷Âò 6ú·ø£ü+ð4÷£î9þáü0ý3õÎð Qò©þ3ð 3õöø Äý3ôáøÂúò0þ3ð$ù©3ï e4ðÁøÂúò©þ‚ð$ø£ý3ò©ô3ý™ò £÷ ù÷ú·ý3ñ‚î¯ò0ïöø*ñáøÂúò©þ3ð$ïöñ3ô‚ý™ò+ù©ï3e4ðÆïÎùôHø£õ Dñ3ø£óÅï«÷Âõ ÉõÎù©ø Qñ3øÂò0ðÆò©þ‚÷Âò ð4÷*î9þ®ü0ý3õÎðÅò0÷£ð4ù ø£ñ‚õ ®ôrø*õ Dñ3ø*óÅïÎ÷£õP÷ÂóÅø£ý‚ñ*ò+øÂúò©ïÎóÅð 7 ï ð ôHø£õ Dñ3ø£óÅï«÷Âõ_ïÎñò©þ‚ð5ù©ï3e4ðÁøÂúò©þ‚ð$ïÎñ3ô3ý™ò 9ßò©ø îø*óÅô3ý™ò©ðï¥ò9ùÉø*ý™ò©ô3ý3ò c]Äò ú·ø£õÎõöø ÍùÍò©þ‚÷ÂòÉò0þ3ð ò0ïöóÅð+î ø£óÅô3õÎð ïöò 5ø£úò©þ3ð+ñ3ø£ü0óÆ÷ÂõÎï3e4ð ü γ ï«ù ôHø£õ Kñ‚ø£óÅïÎ÷£õ 





.

40

.



 





4



'



&, (+" &



 %-1,

!

™þ3ø*ù¨ò0÷ ›ù¨ò KõÎð û™ðBîï«ù¨ïÎø£ñ ô‚ü©ø™îðBû™ý3ü0ð ï«ù ÷Áî ø£óÅôHø*ù©ï¥ò0ïöø*ñ øÂúP÷Áî4÷Âñ3ø*ñ3ïfe ð üÌ÷Âñ‚ûFù¨ø*õ *ð ü ù¨ø*õ *ð üÆ÷£î4îð4ô™ò0ùÅ÷áù¨ð òÆøÂúßð4ÿKý‚÷|ò0ïöø*ñ‚ù P÷Âñ‚ûgü0ðò©ý‚ü©ñ‚ùÆ÷áù©ðòÆøÂúÌð4ÿKý‚÷Âò©ïÎø£ñ‚ùVïÎñ & 2H= k !-  B N÷£ü  ]›ñ'ø*ý3üÍû™ð4î ïÎù©ïÎø£ñ`ô3ü©ø™î ð4û™ý3ü0ð Dò0þ3ï«ùü©ðBÿKý3ïöü0ð óÅð4ñ*òï«ùÍû™ü0ø£ô3ôHð4û þ3ð ü0ðßïÎù ÷Vù¨ø*õ *ð ü þ3ïÎî9þ'ù©ø£õ £ð4ùk þ3ðô3ü0øDî ð4ù0ù6øÂú 3ïöò 3õ«÷£ù¨ò©ïÎñ ßð4ù0ù¨ð4ñKò©ï«÷ÂõÎõ î ø£ñ £ð4ü¨ò9ù ϕ ò©þ‚ðÅî ø£ ñ 8–ý‚ñ‚î¯ϕò0ïöø*ñ ϕ ÷£ñ‚û ϕ ïÎñKò©ø÷5õöø £ï«î ÷ÂõÎõ `ðBÿKý3ï |÷£õöð4ñ*ò HøDø£õÎð4÷ÂñFú·ø£ü0óý3õ«÷ 

 (

+







#











'













c



.









1



(+*(

2





,

"







2 norm





 8

4

1 norm



"

 

1 norm











c

2

a



a







1









2 norm

o 1



!











CVC Lite Core

ϕ Purification

ϕ

Bitvector DP

ϕ2

1

Arithmetic normal form

Concatenation normal form

Equality Rewrites

ϕ2norm

ϕ1norm

Conversion to SAT Boolean formula

SAT Solver

assignment or contradiction back to CVC Lite Core

T6ï £ý3ü0ð o

Éü0î9þ3ïöò©ðBî¯ò0ý3ü©ðßø£ú#ò©þ‚ð 3ï¥ò *ð4îò©ø£üJU ð4î ïÎù©ïÎø£ñI_ü©ø™î ð4û™ý3ü0ð

 





þ3ðB & ™ô‚÷ £ð4ù )R  F N o Dô3ü0ïöñ *ð ü ð4ü©õ«÷ NNO U ÷ Dï«û Kü0õÎ5ý  JK õÎï £ð ü KML£õÎõöð4ü Í÷£ñ‚û gÉ÷£ü0÷£õÎ û Qý‚ð L ÉñðíÁî ïöð4ñ*ò û™ð4î ïÎù©ïöø*ñ$ô3ü0ø™îðBû™ý3ü0ðÍú·ø£ü-B$& B C  1k %a(& ! %@6g &$J :  2   &@6  dMEG: @  J- B?   Íô‚ô3õöïÎð4û #ø £ï«î ô‚÷ *ð4ù  F 1o VßõÎý

Suggest Documents