Upload
others
View
7
Download
0
Embed Size (px)
Citation preview
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia1
Fo
rmal V
eri
ficati
on
at
Hig
her
Levels
of
Ab
str
acti
on
Dan
iel
Kro
en
ing
, O
xfo
rd U
niv
ers
ity
San
jit
A. S
esh
ia,
UC
Berk
ele
y
ICC
AD
Tu
tori
al
No
ve
mb
er
8,
20
07
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia2
Th
e S
peakers
Dan
iel K
roen
ing
Co
mp
uti
ng
Lab
ora
tory
Oxfo
rd U
niv
ers
ity
Sa
njit
Se
sh
ia
Ele
ctr
ical E
ng
ineeri
ng
an
d C
om
pu
ter
Scie
nces
Un
ivers
ity o
f C
alifo
rnia
, B
erk
ele
y
Wo
rk d
escri
be
d is jo
int w
ith
ou
r stu
de
nts
& m
an
y c
olla
bo
rato
rs:
R.
Bry
an
t, E
. C
lark
e,
J.
Ou
ak
nin
e,
N.
Sh
ary
gin
a,
O.
Str
ich
ma
n
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia3
Level o
f A
bstr
acti
on
in
Desig
n
is In
cre
asin
g
Ga
te l
ev
el
(netl
ists
)
Re
gis
ter
Le
ve
l
……
……
Sys
tem
Be
ha
vio
ral
Sys
tem
C,
Sys
tem
Ve
rilo
g,
Tra
ns
ac
tio
na
l m
od
els
, …
Ve
rilo
g,
VH
DL
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia4
Bu
t F
orm
al V
eri
ficati
on
is S
till
Mo
stl
y a
t B
it-L
evel
Ga
te l
ev
el
(netl
ists
)
Re
gis
ter
Le
ve
l
……
……
Sys
tem
Be
ha
vio
ral
Mo
del ch
eck
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia5
Th
is T
alk
: F
orm
al V
eri
ficati
on
at
Wo
rd-L
evel o
r T
erm
-Level
Ga
te l
ev
el
(netl
ists
)
Re
gis
ter
Le
ve
l
……
……
Sys
tem
Be
ha
vio
ral
Mo
del ch
eck
� ���� ���
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia6
Ou
tlin
e
�B
it-V
ec
tor
De
cis
ion
Pro
ce
du
res
�T
erm
-Le
ve
l M
od
eli
ng
�W
ord
-le
ve
l P
red
ica
te A
bs
tra
cti
on
�In
terp
ola
tio
n
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia7
Reg
iste
r-L
evel V
eri
log
:
module
counte
r_cell(
clk
, carr
y_in
,
carr
y_out)
;
input clk
;
input carr
y_in
;
outp
ut carr
y_out;
reg v
alu
e;
assig
n c
arr
y_out =
valu
e &
carr
y_in
;
initia
l valu
e =
0;
alw
ays @
(posedge c
lk)
begin
// v
alu
e =
(valu
e +
carr
y_in
) %
2;
case(v
alu
e)
0: valu
e =
carr
y_in
;
1: if (
carr
y_in
==
0)
valu
e =
1;
els
e v
alu
e =
0;
endcase
end
endm
odule
Reg
iste
r-L
evel V
eri
log
:
module
counte
r_cell(
clk
, carr
y_in
,
carr
y_out)
;
input clk
;
input carr
y_in
;
outp
ut carr
y_out;
reg v
alu
e;
assig
n c
arr
y_out =
valu
e &
carr
y_in
;
initia
l valu
e =
0;
alw
ays @
(posedge c
lk)
begin
// v
alu
e =
(valu
e +
carr
y_in
) %
2;
case(v
alu
e)
0: valu
e =
carr
y_in
;
1: if (
carr
y_in
==
0)
valu
e =
1;
els
e v
alu
e =
0;
endcase
end
endm
odule
Gate
Level (n
etl
ist)
:
.model counter_cell
.inputs carry_in
.outputs carry_out
.names value carry_in _n2
.def 0
1 1 1
.names _n2 carry_out$raw_n1
-=_n2
.names value$raw_n3
0 .names _n6
0 .names value _n6 _n7
.def 0
0 1 1
1 0 1
.r value$raw_n3 value
0 0
1 1
….. (120 lines)
Gate
Level (n
etl
ist)
:
.model counter_cell
.inputs carry_in
.outputs carry_out
.names value carry_in _n2
.def 0
1 1 1
.names _n2 carry_out$raw_n1
-=_n2
.names value$raw_n3
0 .names _n6
0 .names value _n6 _n7
.def 0
0 1 1
1 0 1
.r value$raw_n3 value
0 0
1 1
….. (120 lines)
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia8
Bit
-le
vel v
s. W
ord
-le
vel
Exa
mp
le b
it-l
eve
l in
terp
ola
tio
n:
Initia
l: i=j+1;
i<=i+1;
j<=j+1;
assert i>j
P1
assert i!=j;
P2
assert i==j+1
P3
+ o
verf
low
pre
vention
4 b
its
8 b
its
16 b
its
P1
37s
>1h
>1h
P2
4s
27s
1:0
9m
P3
4s
1:3
4m
2:5
4m
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia9
Veri
ficati
on
Tasks o
f In
tere
st
�A
ssert
ion
-based
Veri
ficati
on
(A
BV
)
�S
eq
uen
tial E
qu
ivale
nce C
he
ckin
g (
SE
C)
Pro
pe
rty
1122
Bo
th f
or
ha
rdw
are
an
d
em
be
dd
ed
s
oft
wa
re
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia10
Co
ntr
asti
ng
Levels
of
Fo
rmal
Veri
fica
tio
n
SM
T s
olv
ers
, P
red
ica
te
ab
str
ac
tio
n
Ab
str
ac
tio
n
ba
sed
on
:
�T
yp
es
�P
red
ica
tes
Wo
rd/T
erm
-L
ev
el
SA
T, B
DD
sT
ran
slite
rati
on
, w
ith
o
pti
miz
ati
on
sB
it-L
ev
el
Co
mp
uta
tio
nal
En
gin
es
Mo
del
Gen
era
tio
nL
evel
of
Ab
str
acti
on
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia11
Co
ntr
asti
ng
Levels
of
Fo
rmal
Veri
fica
tio
n
SM
T s
olv
ers
, P
red
ica
te
ab
str
ac
tio
n
Ab
str
ac
tio
n
ba
sed
on
:
�T
yp
es
�P
red
ica
tes
Wo
rd/T
erm
-L
ev
el
SA
T, B
DD
sT
ran
slite
rati
on
, w
ith
o
pti
miz
ati
on
sB
it-L
ev
el
Co
mp
uta
tio
nal
En
gin
es
Mo
del
Gen
era
tio
nL
evel
of
Ab
str
acti
on
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia12
Ou
tlin
e
�T
erm
-Le
ve
l M
od
eli
ng
�B
it-V
ec
tor
De
cis
ion
Pro
ce
du
res
�W
ord
-Le
ve
l P
red
ica
te A
bs
tra
cti
on
�In
terp
ola
tio
n
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia13
Term
/Wo
rd-L
evel M
od
elin
g
Co
ns
tru
ct
Wo
rd-L
evel
Term
-Leve
l
Da
ta
x0 x1
x2
xn
-1
…
nx
0 x1
x2
xn
-1
…
∈ ∈ ∈ ∈ Z ZZZ
Fu
nc
tio
n⊕ ⊕⊕⊕
n nn
f
Me
mo
rie
s
. . .n
fin
ite
Ma
M(a
)M
a1 0
wd
=w
a
rea
dw
rite
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia14
Mo
tivati
ng
Exam
ple
�D
oe
s p
ipelin
ed
mic
rop
roces
so
r im
ple
men
t seq
uen
tial
refe
ren
ce m
od
el?
�S
trate
gy
�V
eri
fy b
y c
orr
es
po
nd
en
ce
ch
ec
kin
g [
Bu
rch
& D
ill, C
AV
’94]
�R
ep
res
en
t m
ac
hin
e i
ns
tru
cti
on
s,
da
ta,
an
d p
ipe
lin
e s
tate
a
s b
it v
ec
tors
�F
un
cti
on
al
blo
cks l
ike A
LU
ab
str
acte
d w
ith
un
inte
rpre
ted
fun
cti
on
s
Re
g.
Fil
e
IF/ID
Ins
trM
em
+4P
CID
/EX
A L U
EX
/WB
= =
Rd
Ra
Rb
Imm
Op
Ad
at
Co
ntr
ol
Co
ntr
ol
Re
g.
Fil
e
IF/ID
Ins
trM
em
+4P
CID
/EX
A L U
EX
/WB
= =
Rd
Ra
Rb
Imm
Op
Ad
at
Co
ntr
ol
Co
ntr
ol
Re
g.
Fil
e
Ins
trM
em
+4
A L U
Rd
Ra
Rb
Imm
Op
Ad
at
Co
ntr
ol
Bd
at
Re
g.
Fil
e
Ins
trM
em
+4
A L U
Rd
Ra
Rb
Imm
Op
Ad
at
Co
ntr
ol
Bd
at
Pip
eli
ned
Mic
rop
rocesso
rS
eq
uen
tial
Refe
ren
ce M
od
el
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia15
UC
LID
�T
erm
-level
an
d w
ord
-level
mo
deli
ng
an
d v
eri
ficati
on
is
im
ple
men
ted
in
th
e U
CL
ID V
eri
ficati
on
Syste
m
(a jo
int
UC
Berk
ele
y –
CM
U p
roje
ct)
htt
p:/
/ucli
d.e
ecs.b
erk
ele
y.e
du
/wik
i
�H
ere
we w
ill fo
cu
s o
n t
he c
om
pu
tati
on
al en
gin
e f
or
wo
rd-l
evel
reaso
nin
g
�D
ec
isio
n p
roc
ed
ure
fo
r b
it-v
ec
tor
ari
thm
eti
c
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia16
Fo
cu
s:
Bit
-Vecto
r A
rith
meti
c
�B
it V
ecto
r F
orm
ula
s
�T
yp
es
: F
ixe
d w
idth
da
ta w
ord
s
�A
rith
me
tic
an
d r
ela
tio
na
l o
pe
rati
on
s�
E.g
., a
dd
/su
btr
act/
mu
ltip
ly/d
ivid
e/m
od
& c
om
pari
so
ns
�T
wo
’s c
om
ple
men
t, u
nsig
ned
, …
�B
it-w
ise
lo
gic
al
op
era
tio
ns
�E
.g., b
it-w
ise a
nd
/or/
xo
r, s
hif
t, e
xtr
act/
co
ncate
nate
�B
oo
lea
n c
on
ne
cti
ve
s
�M
an
y A
pp
licati
on
s f
or
bo
th H
ard
ware
an
d S
oft
ware
�F
orm
al
ve
rifi
ca
tio
n o
f h
ard
wa
re d
es
ign
s�
Based
on
mo
del ch
eckin
g, eq
uiv
ale
nce c
heckin
g,
theo
rem
pro
vin
g, …
�S
oft
wa
re m
od
el
ch
ec
kin
g &
sta
tic
an
aly
sis
�T
es
t/e
xp
loit
ge
ne
rati
on
�G
en
era
tin
g s
ign
atu
res
of
ma
lwa
re(w
orm
s/v
iru
se
s/…
)
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia17
Th
e P
rob
lem
x+
2 z
≤ ≤≤≤1
x%
26 =
v
w&
0xF
FF
F =
x
x=
y
∨ ∨∨∨
∧ ∧∧∧
¬ ¬¬¬
∨ ∨∨∨
∧ ∧∧∧
∨ ∨∨∨
aϕ ϕϕϕ
Is ϕ
sati
sfi
ab
le?
E.g
.: A
ny V
eri
log
/C B
oo
lean
exp
res
sio
n
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia18
Decis
ion
Pro
ced
ure
s/S
MT
So
lvers
�C
ore
te
ch
no
log
y f
or
form
al
rea
so
nin
g
�B
oo
lean
SA
T
�P
ure
Bo
ole
an
fo
rmu
la
�S
AT
Mo
du
lo T
heo
ries (
SM
T)
�D
ec
ide
mo
re e
xp
res
siv
e (
firs
t-o
rde
r) l
og
ics
�E
xa
mp
le t
he
ori
es
�L
inear
ari
thm
eti
c o
ver
reals
or
inte
gers
�F
un
cti
on
s w
ith
eq
uality
�B
it v
ecto
r ari
thm
eti
c�
Arr
ay/m
em
ory
op
era
tio
ns
�C
om
bin
ati
on
s o
f th
eo
ries
Form
ula
Form
ula
Decis
ion
Pro
cedure
Satisfy
ing s
olu
tion
Unsatisfiable
(+ p
roof)
Mo
st
SM
T S
olv
ers
tran
sla
te t
o S
AT
!
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia19
UC
LID
Exp
eri
en
ce w
ith
SA
T S
olv
ing
3600
766
147
118
8146
19
0
1,00
0
2,00
0
3,00
0
Gra
sp (2000
)zChaff
(2001
)
BerkM
in (2
002)
zChaf
f (200
3-04) Sie
ge (2
004)
SatElit
eGTI (
2005)
Rsat (2
007)
Run-time (sec.)
(on
a s
ing
le b
en
ch
mark
)
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia20
BV
Decis
ion
Pro
ced
ure
s:
So
me H
isto
ry�
B.C
. (B
efo
re C
haff
)
�S
trin
g o
pe
rati
on
s (
co
nc
ate
na
te,
fie
ld e
xtr
ac
tio
n)
�L
ine
ar
ari
thm
eti
c w
ith
bo
un
ds
ch
ec
kin
g
�M
od
ula
r a
rith
me
tic
�S
AT
-Bas
ed
“B
it B
lasti
ng
”
�G
en
era
te B
oo
lea
n c
irc
uit
ba
se
d o
n b
it-l
ev
el
be
ha
vio
r o
f o
pe
rati
on
s
�C
on
ve
rt t
o C
on
jun
cti
ve
No
rma
l F
orm
(C
NF
) a
nd
ch
ec
k
wit
h b
es
t a
va
ila
ble
SA
T c
he
ck
er
�H
an
dle
s a
rbit
rary
op
era
tio
ns
�E
ffe
cti
ve
in
ma
ny a
pp
lic
ati
on
s�
CB
MC
[C
lark
e, K
roen
ing
, L
erd
a, T
AC
AS
’04]
�M
icro
so
ft C
og
en
t +
SL
AM
[C
oo
k, K
roen
ing
, S
hary
gin
a,
CA
V ’05]
�C
VC
-Lit
e[D
ill, B
arr
ett
, G
an
esh
], Y
ices
[deM
ou
ra, et
al]
, S
TP
(earl
y v
ers
ion
) [G
an
esh
& D
ill]
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia21
Researc
h C
hallen
ge
�Is
th
ere
a b
ett
er
way t
han
bit
bla
sti
ng
?
�R
eq
uir
em
en
ts
�P
rov
ide
sa
me
fu
nc
tio
na
lity
as
wit
h b
it b
las
tin
g�
Mu
st
su
pp
ort
all b
it-v
ecto
r o
pera
tors
�E
xp
loit
wo
rd-l
ev
el
str
uc
ture
�Im
pro
ve
on
pe
rfo
rma
nc
e o
f b
it b
las
tin
g
�C
urr
en
t A
pp
roach
es
based
on
tw
o c
ore
id
eas:
1.
Sim
pli
fic
ati
on
: S
imp
lify
in
pu
t fo
rmu
la u
sin
g w
ord
-le
ve
l re
wri
te r
ule
s a
nd
so
lve
rs
2.
Ab
str
ac
tio
n:
Us
e a
uto
ma
tic
ab
str
ac
tio
n-r
efi
ne
me
nt
to
so
lve
sim
pli
fie
d f
orm
ula
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia22
Bit
-Vec
tor
Dec
isio
n P
roced
ure
s,
cir
ca
2007
�C
urr
en
t T
ech
niq
ues w
ith
Sam
ple
To
ols
�P
roo
f-b
as
ed
ab
str
ac
tio
n-r
efi
ne
me
nt
–U
CL
ID
[Bry
an
t et
al., T
AC
AS
’07]
�S
olv
er
for
lin
ea
r m
od
ula
r a
rith
me
tic
to s
imp
lify
th
e
form
ula
–S
TP
[G
an
esh
& D
ill, C
AV
’07]
�C
ou
nte
rex
am
ple
-gu
ide
d a
bs
tra
cti
on
-re
fin
em
en
t,
lay
ere
d a
pp
roa
ch
, re
wri
tin
g–
Ma
thS
AT
[Bru
tto
messo
et
al, C
AV
’07]
�A
uto
ma
tic
pa
ram
ete
r tu
nin
g–
Sp
ea
r [H
utt
er
et
al.,
FM
CA
D ’07]
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia23
Ab
str
acti
on
-Refi
nem
en
t A
pp
roach
�D
ecid
ing
Bit
-Vecto
r A
rith
meti
c w
ith
Ab
str
acti
on
�[B
rya
nt,
Kro
en
ing
, O
ua
kn
ine
, S
es
hia
, S
tric
hm
an
, B
rad
y,
TA
CA
S ’
07
]
�U
se
bit
bla
sti
ng
as
co
re t
ec
hn
iqu
e
�A
pp
ly t
o s
imp
lifi
ed
ve
rsio
ns
of
form
ula
: u
nd
er
an
d o
ve
r a
pp
rox
ima
tio
ns
�G
en
era
te s
uc
ce
ss
ive
ap
pro
xim
ati
on
s u
nti
l a
so
luti
on
is
fo
un
d o
r fo
rmu
la s
ho
wn
un
sa
tis
fia
ble
�In
sp
ired
by M
cM
illa
n &
Am
la’s
pro
of-
based
ab
str
acti
on
fo
r fi
nit
e-s
tate
mo
del
ch
eckin
g
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia24
Ap
pro
xim
ati
on
s t
o F
orm
ula
�E
xam
ple
Ap
pro
xim
ati
on
Tech
niq
ues
�U
nd
era
pp
rox
ima
tin
g�
Restr
ict
wo
rd-l
evel vari
ab
les t
o s
maller
ran
ges o
f valu
es
�O
ve
rap
pro
xim
ati
ng
�R
ep
lace s
ub
form
ula
wit
h B
oo
lean
vari
ab
le
ϕO
rig
inal F
orm
ula
ϕ⇒
ϕ+
Ove
rap
pro
xim
ati
on
ϕ+
Mo
re s
olu
tio
ns:
If u
nsati
sfi
ab
le,
then
so
is ϕ
Un
dera
pp
roxim
ati
on
ϕ−⇒
ϕ
ϕ−
Few
er
so
luti
on
s:
Sati
sfy
ing
so
luti
on
als
o s
ati
sfi
es ϕ
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia25
Sta
rtin
g Ite
rati
on
s
�In
itia
l U
nd
era
pp
roxim
ati
on
�(G
rea
tly)
res
tric
t ra
ng
es
of
wo
rd-l
ev
el
va
ria
ble
s
�In
tuit
ion
: S
ati
sfi
ab
lefo
rmu
la o
fte
n h
as
sm
all
-do
ma
in
so
luti
on
ϕ ϕ1−
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia26
Fir
st
Half
of
Itera
tio
n
�S
AT
Re
su
lt f
or
ϕ1−
�S
ati
sfi
ab
le�
Th
en
have f
ou
nd
so
luti
on
fo
r ϕ ϕϕϕ
�U
ns
ati
sfi
ab
le�
Use U
NS
AT
pro
of
to g
en
era
te o
vera
pp
roxim
ati
on
ϕ ϕϕϕ1+
�(D
escri
bed
late
r)
ϕ ϕ1−
If S
AT
, th
en
do
ne
ϕ1+
UN
SA
T p
roof:
genera
te
overa
ppro
xim
ation
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia27
Seco
nd
Half
of
Itera
tio
n
�S
AT
Re
su
lt f
or
ϕ1+
�U
ns
ati
sfi
ab
le�
Th
en
have s
ho
wn
ϕ ϕϕϕu
nsati
sfi
ab
le
�S
ati
sfi
ab
le�
So
luti
on
in
dic
ate
s v
ari
ab
le r
an
ges t
hat
mu
st
be e
xp
an
ded
�G
en
era
te r
efi
ned
un
dera
pp
roxim
ati
on
ϕ ϕ1−
If U
NS
AT
, th
en
do
ne
ϕ1+
SA
T:
Use s
olu
tion t
o g
enera
te
refined u
ndera
ppro
xim
ation
ϕ2−
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia28
Itera
tive B
eh
avio
r
�U
nd
era
pp
roxim
ati
on
s
�S
uc
ce
ss
ive
ly m
ore
pre
cis
e
ab
str
ac
tio
ns
of
ϕ
�A
llo
w w
ide
r v
ari
ab
le
ran
ge
s
�O
vera
pp
roxim
ati
on
s
�N
o p
red
icta
ble
re
lati
on
�U
NS
AT
pro
of
no
t u
niq
ue
ϕ
ϕ1−
ϕ1+ ϕ
2−
• • •
ϕk−
ϕ2+
ϕk+
• •••• •••
• •••
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia29
Overa
ll E
ffect
�S
ou
nd
nes
s
�O
nly
te
rmin
ate
wit
h
so
luti
on
on
u
nd
era
pp
rox
ima
tio
n
�O
nly
te
rmin
ate
as
UN
SA
T
on
ov
era
pp
rox
ima
tio
n
�C
om
ple
ten
ess
�S
uc
ce
ss
ive
u
nd
era
pp
rox
ima
tio
ns
ap
pro
ac
h ϕ
�F
init
e v
ari
ab
le r
an
ge
s
gu
ara
nte
e t
erm
ina
tio
n�
In w
ors
t case, g
et
ϕk−
=ϕ
ϕ
ϕ1−
ϕ1+ ϕ
2−
• • •
ϕk−
ϕ2+
ϕk+
• •••• •••
• •••
SA
T
UN
SA
T
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia30
Gen
era
tin
g O
vera
pp
roxim
ati
on
�G
iven
�U
nd
era
pp
rox
ima
tio
nϕ
1−
�B
it-b
las
ted
tra
ns
lati
on
of
ϕ1−
into
Bo
ole
an
fo
rmu
la
�P
roo
f th
at
Bo
ole
an
fo
rmu
la
un
sa
tis
fia
ble
�G
en
era
te
�O
ve
rap
pro
xim
ati
on
ϕ1+
�If
ϕ1+
sa
tis
fia
ble
, m
us
t le
ad
to
re
fin
ed
u
nd
era
pp
rox
ima
tio
n�
Genera
te ϕ
2−
such that
ϕ1−⇒ ⇒⇒⇒
ϕ2−⇒ ⇒⇒⇒
ϕ
ϕ ϕ1−
ϕ1+
UN
SA
T p
roof:
genera
te
overa
ppro
xim
ation
ϕ2−
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia31
Bit
-Vecto
r F
orm
ula
Str
uctu
re
�D
AG
re
pre
se
nta
tio
n t
o a
llo
w s
ha
red
su
bfo
rmu
las
x+
2 z
≤ ≤≤≤1
x%
26 =
v
w&
0xF
FF
F =
x
x=
y
∨ ∨∨∨
∧ ∧∧∧
¬ ¬¬¬
∨ ∨∨∨
∧ ∧∧∧
∨ ∨∨∨
aϕ
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia32
Str
uctu
re o
f U
nd
era
pp
roxim
ati
on
�T
ran
sla
tio
n t
o C
NF
�E
ach
wo
rd-l
evel vari
ab
le e
nco
ded
wit
h v
ecto
r o
f B
oo
lean
vari
ab
les
�A
dd
itio
nal B
oo
lean
vari
ab
les r
ep
resen
t su
bfo
rmu
lavalu
es
x+
2 z
≤ ≤≤≤1
x%
26 =
v
w&
0xF
FF
F =
x
x=
y
∨ ∨∨∨
∧ ∧∧∧
¬ ¬¬¬
∨ ∨∨∨
∧ ∧∧∧
∨ ∨∨∨
aϕ
−
Ran
ge
Co
nstr
ain
ts
w x y z
∧ ∧∧∧
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia33
En
co
din
g R
an
ge C
on
str
ain
ts�
Exp
licit
�V
iew
as
ad
dit
ion
al
pre
dic
ate
s i
n f
orm
ula
�Im
pli
cit
�R
ed
uc
e n
um
be
r o
f v
ari
ab
les
in
en
co
din
g
Co
ns
tra
int
En
co
din
g
0 ≤ ≤≤≤
w< <<<
80
0 0
···
0 w
2w
1w
0
−4
≤ ≤≤≤x
< <<<4
xsx
sx
s··
·x
sx
sx
1x
0
�Y
ield
s s
ma
lle
r S
AT
en
co
din
gs
Ran
ge
Co
nstr
ain
ts
w x0 ≤ ≤≤≤
w< <<<
8
∧ ∧∧∧−−
44≤ ≤≤≤≤ ≤≤≤
x
x < <<<< <<<
44
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia34
UN
SA
T C
ore
�S
ub
se
t o
f c
lau
se
s t
ha
t is
un
sa
tis
fia
ble
�V
ari
ab
les
in
un
sa
tc
ore
de
fin
e p
ort
ion
of
DA
G
�S
ub
gra
ph
tha
t c
an
no
t b
e s
ati
sfi
ed
wit
h g
ive
n r
an
ge
c
on
str
ain
ts
x+
2 z
≤ ≤≤≤1
x%
26 =
v
w&
0xF
FF
F =
x
x=
y
a
∨ ∨∨∨
∧ ∧∧∧
∧ ∧∧∧
∨ ∨∨∨
∨ ∨∨∨
¬ ¬¬¬
Ran
ge
Co
nstr
ain
ts
w x y z
∧ ∧∧∧
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia35
Gen
era
ted
Overa
pp
roxim
ati
on
�Id
en
tify
su
bfo
rmu
las
co
nta
inin
g n
o v
ari
ab
les
fro
m U
NS
AT
p
roo
f
�R
ep
lac
e b
y f
res
h B
oo
lea
n v
ari
ab
les
�R
em
ov
e r
an
ge
co
ns
tra
ints
on
wo
rd-l
ev
el
va
ria
ble
s
�C
rea
tes
ov
era
pp
rox
ima
tio
n�
Ign
ore
s c
orr
ela
tio
ns b
etw
een
valu
es o
f su
bfo
rmu
las
x+
2 z
≤ ≤≤≤1
x=
y
a∧ ∧∧∧
∧ ∧∧∧
∨ ∨∨∨
∨ ∨∨∨
¬ ¬¬¬
b1
b2
ϕ1+
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia36
Refi
nem
en
t P
rop
ert
y�
Cla
im
�ϕ
1+
ha
s n
o s
olu
tio
ns
th
at
sa
tis
fy ϕ
1−
�B
ecau
se ϕ ϕϕϕ
1+
co
nta
ins p
ort
ion
of
ϕ ϕϕϕ1−
that
was s
ho
wn
to
b
e u
nsati
sfi
ab
leu
nd
er
ran
ge c
on
str
ain
ts
�Im
pli
cati
on
�C
an
on
ly s
ati
sfy
ϕ ϕϕϕ1+
by e
xp
an
din
g v
ari
ab
le r
an
ges
x+
2 z
≤ ≤≤≤1
x=
y
a∧ ∧∧∧
∧ ∧∧∧
∨ ∨∨∨
∨ ∨∨∨
¬ ¬¬¬
b1
b2
ϕ1+
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia37
Eff
ect
of
Itera
tio
n
�E
ach
Co
mp
lete
Ite
rati
on
�E
xp
an
ds
ra
ng
es
of
so
me
wo
rd-l
ev
el
va
ria
ble
s
�C
rea
tes
re
fin
ed
un
de
rap
pro
xim
ati
on
ϕ ϕ1−
ϕ1+
SA
T:
Use s
olu
tion t
o g
enera
te
refined u
ndera
ppro
xim
ation
ϕ2−
UN
SA
T p
roof:
genera
te
overa
ppro
xim
ation
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia38
Ap
pro
xim
ati
on
Meth
od
s
�S
o F
ar
�R
an
ge
co
ns
tra
ints
�U
nd
era
pp
roxim
ate
by c
on
str
ain
ing
valu
es o
f w
ord
-level
vari
ab
les
�S
ub
form
ula
eli
min
ati
on
�O
vera
pp
roxim
ate
by a
ssu
min
g s
ub
form
ula
valu
e a
rbit
rary
�G
en
era
l R
eq
uir
em
en
ts
�S
ys
tem
ati
c u
nd
er-
an
d o
ve
r-a
pp
rox
ima
tio
ns
�W
ay t
o c
on
ne
ct
fro
m o
ne
to
an
oth
er
�G
oal:
Devis
e A
dd
itio
nal
Ap
pro
xim
ati
on
Str
ate
gie
s
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia39
Fu
ncti
on
Ap
pro
xim
ati
on
Exam
ple
�M
oti
vati
on
�M
ult
ipli
ca
tio
n (
an
d d
ivis
ion
) a
re d
iffi
cu
lt c
as
es
fo
r S
AT
�§:
Pro
hib
ited
�G
ive
s u
nd
era
pp
rox
ima
tio
n
�R
es
tric
ts v
alu
es
of
(po
ss
ibly
in
term
ed
iate
) te
rms
�§: f fff(x
,y)
�O
ve
rap
pro
xim
ate
as
un
inte
rpre
ted
fun
cti
on
f fff
�V
alu
e c
on
str
ain
ed
on
ly b
y f
un
cti
on
al
co
ns
iste
nc
y
*
x y
x
01
els
e
y
00
00
10
1x
els
e0
y§
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia40
Resu
lts:
UC
LID
BV
vs. B
it-b
lasti
ng
�U
CL
ID a
lways
be
tte
r th
an
bit
bla
sti
ng
�G
en
era
lly b
ett
er
tha
n o
the
r a
va
ila
ble
pro
ce
du
res
�S
AT
tim
e i
s t
he
do
min
ati
ng
fa
cto
r
[re
su
lts o
n 2
.8 G
Hz X
eo
n,
2 G
B R
AM
]
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia41
Dis
cu
ssio
n
�S
AT
-Bas
ed
Meth
od
s a
re E
ffecti
ve
�B
it b
las
tin
g i
s o
nly
wa
y t
o c
ap
ture
fu
ll s
et
of
op
era
tio
ns
�S
AT
so
lve
rs a
re g
oo
d &
ge
ttin
g b
ett
er
�O
n m
an
y U
CL
ID b
en
ch
mark
s, h
ave b
een
gett
ing
2X
or
bett
er
sp
eed
up
each
year
sin
ce 2
000 ju
st
fro
m a
dvan
ces
in S
AT
! (s
ee e
arl
ier
slid
e)
�A
bstr
acti
on
/ R
efi
nem
en
t A
llo
ws B
ett
er
Scali
ng
�T
ak
e a
dv
an
tag
e o
f c
as
es
wh
ere
fo
rmu
la e
as
ily s
ati
sfi
ed
o
r d
isp
rov
en
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia42
Bit
-Vec
tor
Dec
isio
n P
roced
ure
s,
cir
ca
2007
�C
urr
en
t T
ech
niq
ues w
ith
Sam
ple
To
ols
�P
roo
f-b
as
ed
ab
str
ac
tio
n-r
efi
ne
me
nt
–U
CL
ID
[Bry
an
t et
al., T
AC
AS
’07]
�S
olv
er
for
lin
ea
r m
od
ula
r a
rith
me
tic
to s
imp
lify
th
e
form
ula
–S
TP
[G
an
esh
& D
ill, C
AV
’07]
�C
ou
nte
rex
am
ple
-gu
ide
d a
bs
tra
cti
on
-re
fin
em
en
t,
lay
ere
d a
pp
roa
ch
, re
wri
tin
g–
Ma
thS
AT
[Bru
tto
messo
et
al, C
AV
’07]
�A
uto
ma
tic
pa
ram
ete
r tu
nin
g–
Sp
ea
r [H
utt
er
et
al.
, F
MC
AD
’0
7]
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia43
ST
P’s
ap
pro
ach
Inp
ut
Fo
rmu
la φ φφφ
Su
bsti
tuti
on
Sim
plifi
cati
on
Lin
ear
eq
uali
ty s
olv
ing
Bit
-Bla
st
SA
T S
olv
ing
Refi
ne A
rra
y
Axio
ms
SA
T /
UN
SA
T
Sim
pli
fy a
s m
uch
as p
ossib
leT
hen
Bit
-Bla
st
Ad
d a
rra
y a
xio
ms o
n d
em
an
d
[Ga
ne
sh
& D
ill,
CA
V ’
07
]
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia44
ST
P’s
Lin
ear
So
lver
�C
riti
cal ste
p:
gre
atl
y r
ed
uce
s n
um
ber
of
vari
ab
les a
nd
co
nstr
ain
ts i
n f
inal
SA
T p
rob
lem
�S
olv
er
for
lin
ear
eq
uali
ties m
od
po
wer
of
2
�S
olv
e s
ys
tem
A
x =
b
(mo
d 2
k),
on
lin
e
�S
imil
ar
to e
arl
ier
wo
rk b
y H
ua
ng
& C
he
ng
, T
CA
D’0
1
�G
en
era
l id
ea:
1.
So
lve f
or
a v
ari
ab
le w
ith
od
d c
oeff
icie
nt
usin
g
mu
ltip
licati
ve in
vers
e o
f co
eff
icie
nt,
su
bsti
tute
it
ou
t o
f o
ther
eq
uati
on
s
2.
If n
o o
dd
co
eff
icie
nt,
div
ide e
qu
ati
on
by p
ow
er
of
2 a
nd
so
lve f
or
bit
-extr
acte
d-p
art
of
a v
ari
ab
le
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia45
Exam
ple
3x +
4y +
2z =
0
2x +
2y
=
-2
2x +
4y +
2z =
0
x, y,
z a
re a
ll 3
bit
s w
ide –
so
lve m
od
8
�S
tep
s:
1.
Pic
k a
n e
qu
ati
on
th
at’
s s
olv
ab
le
�∑
ia
ix
i=
ci(m
od
2b)
so
lva
ble
iff
gc
d{a
1,
a2,
…,
an,
2b}
div
ide
s c
i
2.
If it
has a
n o
dd
co
eff
icie
nt
ai,
exp
ress x
iin
term
s o
f th
e
oth
ers
�M
ult
iply
th
rou
gh
ou
t b
y m
ult
ipli
ca
tiv
e i
nv
ers
e o
f c
i
3.
Su
bsti
tute
xio
ut
of
all o
ther
eq
uati
on
s
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia46
Exam
ple
(co
ntd
.)
3x
+ 4
y +
2z =
03
x +
4y +
2z =
02
x +
2y
=
2
x +
2y
=
--22
2x
+ 4
y +
2z =
02
x +
4y +
2z =
0
So
lvab
le,
has o
dd
co
eff
icie
nt
Mu
ltip
ly t
hro
ug
ho
ut
by 3
-1(m
od
8)
= 3
No
od
d c
oeff
icie
nt!
Div
ide b
y 2
,so
lve f
or
va
ria
ble
s e
xp
ressin
g lo
wer
two
bit
s(m
od
4)
Fin
al
so
lve
d s
ys
tem
:F
ina
l s
olv
ed
sys
tem
:x
= 4
y +
6z
x
= 4
y +
6z
y[1
:0]
= 2
z[1
:0]
+ 3
y[1
:0]
= 2
z[1
:0]
+ 3
z[1
:0]
= 2
z[1
:0]
= 2
No
te t
his
te
ch
niq
ue
so
lve
s
1 e
qu
ati
on
at
a t
ime
� ���o
nli
ne
x =
4y +
6z
x =
4y +
6z
2x
+ 2
y
=
2
x +
2y
=
--22
2x
+ 4
y +
2z =
02
x +
4y +
2z =
0
so
lve f
or
x
2y +
4z =
2
y +
4z =
--22
4y +
6z =
04
y +
6z =
0
eli
min
ate
x
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia47
Fin
al S
olu
tio
ns
�O
rig
ina
l v
ari
ab
les
: 3
-bit
un
sig
ne
d i
nte
ge
rsx: [x
2x
1x
0]
y: [y
2y
1y
0]
z: [z
2z
1z
0]
�S
olu
tio
ns
�In
bit
-ve
cto
r fo
rm:
y: [y
21 1
]z: [z
21 0
]
�B
ack S
ub
sti
tuti
on
to
so
lve f
or
x
�C
on
str
ain
ed
va
ria
ble
sx: [0
0 0
]
mo
d 4
2=
z
mo
d 4
3=
y
mo
d 8
+ 6
z4
y=
x
mo
d 8
0=
x
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia48
Bit
-Vec
tor
Dec
isio
n P
roced
ure
s,
cir
ca
2007
�C
urr
en
t T
ech
niq
ues w
ith
Sam
ple
To
ols
�P
roo
f-b
as
ed
ab
str
ac
tio
n-r
efi
ne
me
nt
–U
CL
ID
[Bry
an
t et
al., T
AC
AS
’07]
�S
olv
er
for
lin
ea
r m
od
ula
r a
rith
me
tic
to s
imp
lify
th
e
form
ula
–S
TP
[G
an
esh
& D
ill, C
AV
’07]
�C
ou
nte
rex
am
ple
-gu
ide
d a
bs
tra
cti
on
-re
fin
em
en
t,
lay
ere
d a
pp
roa
ch
, re
wri
tin
g–
Ma
thS
AT
[Bru
tto
messo
et
al, C
AV
’07]
�A
uto
ma
tic
pa
ram
ete
r tu
nin
g–
Sp
ea
r [H
utt
er
et
al.
, F
MC
AD
’0
7]
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia49
Th
e M
ath
SA
TA
pp
roach
�P
re-p
roce
ssin
g s
imp
lifi
cati
on
s
�P
rop
ag
ati
on
of
un
co
ns
tra
ine
d (
fan
ou
t=
1)
va
ria
ble
s
�T
ran
sfo
rmin
g t
erm
IT
Es
to B
oo
lea
n I
TE
s
�C
on
sta
nt
pro
pa
ga
tio
n
�P
rop
ag
ati
ng
ex
tra
cti
on
op
era
tors
th
rou
gh
co
nc
ate
na
tio
n
an
d b
it-w
ise
op
era
tors
�C
ou
nte
rex
am
ple
gu
ided
ab
str
acti
on
-refi
nem
en
tlo
op
(C
EG
AR
)
�S
AT
so
lve
r c
om
mu
nic
ate
s w
ith
th
eo
ry s
olv
er
(la
zy S
MT
)
�L
ayere
d a
pp
roach
for
theo
ry s
olv
er
�F
irs
t in
vo
ke
EU
F s
olv
er
�T
he
n u
se
bit
-ve
cto
r re
wri
te r
ule
s
�F
ina
lly u
se
so
lve
r b
as
ed
on
SA
T +
In
teg
er
lin
ea
r a
rith
.
[Bru
tto
me
ss
oe
t a
l.,
CA
V ’
07
]
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia50
Co
nclu
din
g P
oin
ts
�R
esu
rgen
ce o
f in
tere
st
an
d r
esu
lts in
wo
rd-l
evel
so
lvers
(b
it-v
ecto
r d
ecis
ion
pro
ced
ure
s)
�M
ajo
r id
eas:
�A
bs
tra
cti
on
-Re
fin
em
en
t�
Pro
of-
based
�C
EG
AR
�W
ord
-le
ve
l S
imp
lifi
ca
tio
ns
�L
inear
so
lve
r m
od
po
wer
of
2�
Rew
rite
ru
les f
or
bit
-vecto
r o
pera
tors
�L
aye
red
ap
pro
ac
h (
Ma
thS
AT
) /
Fu
nc
tio
n a
bs
tra
cti
on
(U
CL
ID)
�N
ext
ste
p:
exp
lore
ho
w b
est
to c
om
bin
e t
erm
-level an
d
wo
rd-l
evel
mo
delin
g
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia51
Ou
tlin
e
�T
erm
-Le
ve
l M
od
eli
ng
�B
it-V
ec
tor
De
cis
ion
Pro
ce
du
res
�W
ord
-Le
ve
l P
red
ica
te A
bs
tra
cti
on
�In
terp
ola
tio
n
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia52
Wo
rd-l
ev
el C
irc
uit
Mo
de
ls
I, R
,φ φφφ
Ne
ed t
o e
xtr
act
word
-leve
l fo
rmu
lafo
r1.I
nitia
l sta
te
2.T
ransitio
n r
ela
tio
n3.P
ropert
y
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia53
Th
e S
LA
M S
tory
�M
icro
so
ft b
lam
es m
ost
Win
do
ws c
rash
es
on
th
ird
part
y d
evic
e d
rivers
�T
he W
ind
ow
s d
evic
e d
river
AP
I is
qu
ite c
om
plicate
d
�L
ow
-level C
co
de
�S
LA
M:
Fo
rmal
too
l to
au
tom
ati
call
y c
he
ck
devic
e d
rivers
fo
r cert
ain
err
ors
�S
hip
ped
wit
h D
evic
e D
river
Dev
elo
pm
en
t K
it (
DD
K)
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia54
Pre
dic
ate
Ab
str
acti
on
�C
ircu
its h
ave t
oo
man
y s
tate
vari
ab
les
→S
tate
Sp
ace E
xp
losio
n
�G
raf/
Saïd
i97:
Pre
dic
ate
Ab
str
acti
on
�Id
ea:
On
ly k
eep
tra
ck o
f p
red
icate
so
n d
ata
�A
bstr
acti
on
fu
ncti
on
:
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia55
Pre
dic
ate
Ab
str
acti
on
Co
nc
rete
Sta
tes
:
Pre
dic
ate
s:
Ab
str
act
tran
sit
ion
s?
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia56
Un
der-
vs. O
vera
pp
roxim
ati
on
�H
ow
to
ab
str
ac
t th
e t
ran
sit
ion
s?
�D
ep
en
ds
on
th
e p
rop
ert
y w
e w
an
t to
sh
ow
�T
yp
ica
lly d
on
e in
a c
on
se
rvati
ve
ma
nn
er
�E
xis
ten
tia
l a
bs
tra
cti
on
:
⇒ ⇒⇒⇒P
res
erv
es
sa
fety
pro
pe
rtie
s
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia57
Pre
dic
ate
Ab
str
acti
on
Ab
str
ac
t T
ran
sit
ion
s:
As
se
rtio
n:
� ���� ���� ���� ���
� ���� ���
Pro
pe
rty h
old
s.
Ok
.
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia58
Pre
dic
ate
Ab
str
acti
on
Ab
str
ac
t T
ran
sit
ion
s:
As
se
rtio
n:
� ���� ���� ���� ���
� ���� ���T
his
tra
ce is
sp
uri
ou
s!
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia59
Pre
dic
ate
Ab
str
acti
on
Ab
str
ac
t T
ran
sit
ion
s:
Ne
w P
red
ica
tes
:A
ss
ert
ion
:
� ���� ���
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia60
Pre
dic
ate
Ab
str
acti
on
fo
r C
ircu
itry
�L
et’
s t
ake e
xis
ten
tial ab
str
acti
on
seri
ou
sly
�B
asic
id
ea:
wit
h n
pre
dic
ate
s, th
ere
are
2n
× ×××2
np
ossib
le a
bstr
act
tran
sit
ion
s
�L
et’
s ju
st
ch
eck t
hem
!
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia61
Exis
ten
tial A
bstr
acti
on
Pre
dic
ate
s
i<=i+1;
Tra
nsitio
n R
ela
tion
Form
ula
Curr
ent
Abstr
act
Sta
teN
ext
Abstr
act
Sta
te
p1
p2
p3
00
0
00
1
01
0
01
1
10
0
10
1
11
0
11
1
p’ 1
p’ 2
p’ 3
00
0
00
1
01
0
01
1
10
0
10
1
11
0
11
1
???Q
uery
��
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia62
Exis
ten
tial A
bstr
acti
on
Pre
dic
ate
s
i<=i+1;
Form
ula
Curr
ent
Abstr
act
Sta
teN
ext
Abstr
act
Sta
te
p1
p2
p3
00
0
00
1
01
0
01
1
10
0
10
1
11
0
11
1
p’ 1
p’ 2
p’ 3
00
0
00
1
01
0
01
1
10
0
10
1
11
0
11
1
Query
??? ��
……and s
o o
n
and s
o o
n ……
Tra
nsitio
n R
ela
tion
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia63
Pre
dic
ate
Ab
str
acti
on
fo
r C
ircu
itry
�A
pre
cis
e e
xis
ten
tial ab
str
acti
on
can
be
way t
oo
slo
w
�U
se a
n o
ver-
ap
pro
xim
ati
on
in
ste
ad
�F
ast
to c
om
pu
te
�B
ut
has a
dd
itio
nal
tran
sit
ion
s
�P
red
ica
te p
art
itio
nin
g(D
AC
20
05
, IE
EE
TC
AD
20
08
)
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia64
Pre
dic
ate
Ab
str
acti
on
fo
r C
ircu
itry
�H
ow
do
we g
et
the p
red
icate
s?
�A
uto
mati
c a
bstr
acti
on
refi
nem
en
t!
[Kurshanet al. ’93]
[Clarke et al. ’00]
[Ball, Rajamani’00]
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia65
Wh
at
I am
Go
ing
to
Sh
ow
�A
pp
ly p
red
icate
ab
str
acti
on
at
RT
-Lev
el
�A
llo
ws
ab
str
ac
tio
n u
sin
g w
ord
-le
ve
lp
red
ica
tes
�E
xa
mp
le:
x <
y –
z,
x =
{z,z
}
�U
se a
SA
T s
olv
er
for
co
mp
uti
ng
ab
str
acti
on
�S
em
an
tic
s o
f b
it-w
ise
op
era
tors
ta
ke
nin
to a
cc
ou
nt
�O
bta
inin
g s
uit
ab
le w
ord
level
pre
dic
ate
s
�S
yn
tac
tic
we
ak
es
t p
re-c
on
dit
ion
so
fV
eri
log
sta
tem
en
ts
�F
rom
wo
rd-l
ev
el
pro
ofs
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia66
Ab
str
acti
on
Refi
nem
en
t L
oo
p
Actu
al
Circuit
Abstr
act
Model
Model
Checker
Abstr
action r
efinem
ent
Verificatio
nIn
itia
l
Abstr
action
No e
rror
or
bug f
oun
d
Spurio
us c
ounte
rexam
ple
Sim
ula
tor
Pro
pert
y
hold
s
Sim
ula
tion
successfu
l
Bug f
ound
Refinem
ent
Counte
rexam
ple
[Kurshanet al. ’93]
[Clarke et al. ’00]
[Ball, Rajamani’00]
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia67
An
exam
ple
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
Ass
erti
on
:
AG
(x
= 1
00 ∨ ∨∨∨
x =
200
)
Ass
erti
on
:
AG
(x
= 1
00 ∨ ∨∨∨
x =
200
)
Ver
ilog
pro
gra
m
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia68
Ab
str
acti
on
Refi
nem
en
t L
oo
p
Actu
al
Circuit
Abstr
act
Model
Model
Checker
Abstr
action r
efinem
ent
Verificatio
nIn
itia
l
Abstr
action
No e
rror
or
bug f
oun
d
Spurio
us c
ounte
rexam
ple
Sim
ula
tor
Pro
pert
y
hold
s
Sim
ula
tion
successfu
l
Bug f
ound
Refinem
ent
Counte
rexam
ple
[Kurshanet al. ’93]
[Clarke et al. ’00]
[Ball, Rajamani’00]
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia69
Pre
dic
ate
Ab
str
acti
on
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
Ass
erti
on
:
AG
(x
= 1
00 ∨ ∨∨∨
x =
200
)
Ass
erti
on
:
AG
(x
= 1
00 ∨ ∨∨∨
x =
200
)
Init
ial s
et o
f p
red
icat
es:
{x =
100
, x =
200
}
Tra
nsi
tio
n r
elat
ion
:
x’=
y ∧ ∧∧∧
y’=
x
Wo
rdL
ev
el
Ver
ilog
pro
gra
m
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia70
Co
mp
uti
ng
Mo
st
Pre
cis
e A
bstr
acti
on
<x
= 1
00,
x =
200
>+
x’:=
y
y’:=
x+
<x’
= 10
0, x
’= 2
00>
Cu
rren
t st
ate
Cu
rren
t st
ate
Nex
t s
tate
Nex
t s
tate
Tra
nsi
tio
n R
elat
ion
Tra
nsi
tio
n R
elat
ion
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia71
Ob
tain
tra
nsit
ion
s
Co
mp
uti
ng
ab
str
act
tran
sit
ion
s
1,0
0,0
0,1
1,1
……a
nd
so
on
a
nd
so
on
……
<p
1,p
2>
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia72
Ab
str
act
Mo
del
Assert
ion
:
AG
(x =
100 ∨ ∨∨∨
x =
200)
Init
ial set
of
pre
dic
ate
s:
{x =
100, x =
200}
Init
ial
sta
te
Fa
ilu
res
tate
1,0
0,0
0,1
1,1
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
Ver
ilog
pro
gra
m
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia73
Ab
str
acti
on
Refi
nem
en
t L
oo
p
Actu
al
Circuit
Abstr
act
Model
Model
Checker
Abstr
action r
efinem
ent
Verificatio
nIn
itia
l
Abstr
action
No e
rror
or
bug f
oun
d
Spurio
us c
ounte
rexam
ple
Sim
ula
tor
Pro
pert
y
hold
s
Sim
ula
tion
successfu
l
Bug f
ound
Refinem
ent
Counte
rexam
ple
[Kurshanet al. ’93]
[Clarke et al. ’00]
[Ball, Rajamani’00]
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia74
Mo
del ch
eckin
g
Fai
lure
F
ailu
re
stat
est
ate
1,0
0,0
0,1
1,1
Init
ial
Init
ial
stat
est
ate
Ab
str
ac
t M
od
el
Ab
str
ac
t M
od
el
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
Ver
ilog
pro
gra
m
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia75
Mo
del ch
eckin
g
Fa
ilu
res
tate
1,0
0,0
0,1
1,1
Init
ial
sta
te
Ab
str
ac
t M
od
el
Ab
str
ac
t M
od
el
Ab
str
ac
t c
ou
nte
rex
am
ple
Ab
str
ac
t c
ou
nte
rex
am
ple
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
Ver
ilog
pro
gra
m
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia76
Ab
str
acti
on
Refi
nem
en
t L
oo
p
Actu
al
Circuit
Abstr
act
Model
Model
Checker
Abstr
action r
efinem
ent
Verificatio
nIn
itia
l
Abstr
action
No e
rror
or
bug f
oun
d
Spurio
us c
ounte
rexam
ple
Sim
ula
tor
Pro
pert
y
hold
s
Sim
ula
tion
successfu
l
Bug f
ound
Refinem
ent
Counte
rexam
ple
[Kurshanet al. ’93]
[Clarke et al. ’00]
[Ball, Rajamani’00]
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia77
Sim
ula
tio
n
Fa
ilu
res
tate
1,0
0,0
Init
ial
sta
te Co
un
tere
xa
mp
le i
s s
pu
rio
us
Co
un
tere
xa
mp
le i
s s
pu
rio
us
Ab
str
ac
t c
ou
nte
rex
am
ple
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
Ver
ilog
pro
gra
m
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia78
Ab
str
acti
on
Refi
nem
en
t L
oo
p
Actu
al
Circuit
Abstr
act
Model
Model
Checker
Abstr
action r
efinem
ent
Verificatio
nIn
itia
l
Abstr
action
No e
rror
or
bug f
oun
d
Spurio
us c
ounte
rexam
ple
Sim
ula
tor
Pro
pert
y
hold
s
Sim
ula
tion
successfu
l
Bug f
ound
Refinem
ent
Counte
rexam
ple
[Kurshanet al. ’93]
[Clarke et al. ’00]
[Ball, Rajamani’00]
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia79
Refi
nem
en
t
�L
et
len
gth
of
sp
uri
ou
s c
ou
nte
rex
am
ple
be
kk
�T
ak
e w
eak
es
t p
rew
eak
es
t p
re-- c
on
dit
ion
of
pro
pe
rty
co
nd
itio
n o
f p
rop
ert
yfo
r k
s
tep
sw
ith
re
sp
ec
t to
tra
ns
itio
n f
un
cti
on
wit
h r
es
pe
ct
to t
ran
sit
ion
fu
nc
tio
n
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia80
Refi
nem
en
t (x(x’’
= 1
00
=
10
0 ∨ ∨∨∨∨ ∨∨∨
xx’’
= 2
00
)=
20
0)
Ho
lds
aft
er
on
e
Ho
lds
aft
er
on
e
ste
ps
tep
x’
:= y
y’
:= x
(y =
10
0
(y =
10
0 ∨ ∨∨∨∨ ∨∨∨
y =
20
0)
y =
20
0)
we
ak
es
t w
ea
ke
st
pre
co
nd
itio
np
rec
on
dit
ion
AG
(x
= 1
00
A
G (
x =
10
0 ∨ ∨∨∨∨ ∨∨∨
x =
20
0)
x =
20
0)
Pro
pert
yP
rop
ert
y
len
gth
=1
len
gth
=1
++
sp
uri
ou
s
sp
uri
ou
s
co
un
tere
xam
ple
co
un
tere
xam
ple
Ne
w p
red
ica
tes
y =
10
0,
y =
20
0
Ne
w p
red
ica
tes
y =
10
0,
y =
20
0
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia81
Ab
str
act
ag
ain
Assert
ion
:
AG
(x =
100 o
r x =
200)
Up
date
d s
et
of
pre
dic
ate
s:
{x =
100, x =
200, y=
100, y=
200}
1,0,
0,1
0,1,
1,0
Init
ial
sta
te
Mo
de
l c
he
ck
Mo
de
l c
he
ck
Ne
w a
bs
tra
cti
on
Ne
w a
bs
tra
cti
on
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
Ver
ilog
pro
gra
m
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia82
Mo
del ch
eckin
gA
ssert
ion
:
AG
(x =
100 o
r x =
200)
Up
date
d s
et
of
pre
dic
ate
s:
{x =
100, x =
200, y=
100, y=
200}
Pro
pe
rty h
old
s!
Ne
w a
bs
tra
cti
on
Ne
w a
bs
tra
cti
on
1,0,
0,1
0,1,
1,0
Init
ial
sta
te
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
Ver
ilog
pro
gra
m
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia83
Resu
lt
Assert
ion
AG
(x =
100 o
r x =
200)
Pro
pe
rty h
old
s!
Pro
pe
rty h
old
s!
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
mo
du
le m
ain
(cl
k)
inp
ut
clk;
reg
[10
:0]
x, y
;
init
ial x
= 1
00, y
= 2
00;
alw
ays
@ (
po
sed
ge
clk)
beg
in
x <
= y
;
y <
= x
;
end
end
mo
du
le
Ver
ilog
pro
gra
m
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia84
Makin
g it
wo
rk in
pra
cti
ce
�P
red
ica
te A
bs
tra
cti
on
Co
mp
uta
tio
n�
Han
dli
ng
a larg
e n
um
ber
of
pre
dic
ate
s
�R
efi
ne
me
nt
1.G
oo
d p
red
icate
sb
ut
inexact
ab
str
acti
on
(du
e t
o o
ver
ap
pro
xim
ati
on
of
mo
st
pre
cis
e
ab
str
acti
on
)
2.In
su
ffic
ien
t p
red
icate
s
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia85
Oth
er
Ap
pro
ach
es
�S
AT
-Bas
ed
Pre
dic
ate
Ab
str
acti
on
[W
an
g e
t al.]
�W
ork
s a
t n
etl
ist
lev
el
�R
efi
ne
me
nt
intr
od
uc
es
bit
-le
ve
l p
red
ica
tes
�V
ap
or
too
l [A
nd
rau
set
al.]
�W
ork
s o
n R
T-l
ev
el
de
sig
ns
�A
bs
tra
cti
on
to
CL
U m
od
els
(eq
ua
lity
of
term
s,
un
inte
rpre
ted
fun
cti
on
s,
pre
dic
ate
s)
�L
ots
of
oth
er
rela
ted
wo
rk
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia86
Ben
ch
mark
s
�U
SB
2.0
fu
nc
tio
n c
ore
fro
m o
pe
nc
ore
s.o
rg
�4
00
0 l
ine
s o
f R
TL
Ve
rilo
g
Ch
ecked
th
ree p
rop
ert
ies:
1.
DM
A m
od
ule
sim
ula
tes s
tate
m
ach
ine o
n l
eft
. (U
SB
1)
2.
Eve
ry s
tate
tra
nsit
ion
s t
o ID
LE
sta
te w
hen
ab
ort
sig
nal is
on
. T
his
pro
pert
y f
ail
s.
(US
B2)
3.
Eve
ry s
tate
ex
pect
ME
M_W
R2
tran
sit
ion
s t
o ID
LE
sta
te w
hen
ab
ort
sig
nal is
on
. (U
SB
3)
Sta
te m
achin
e for
DM
A in a
US
B 2
.0 C
ore
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia87
Ben
ch
mark
s
�E
thern
et
MA
C f
rom
op
en
co
res
.org
�500
0 lin
es o
f R
TL
Veri
log
Ch
ecked
th
ree p
rop
ert
ies:
1.
Tra
nsm
it m
od
ule
sim
ula
tes
sta
te m
ach
ine o
n left
. (E
TH
0)
2.
Ch
ecks t
ran
sit
ion
s o
ut
of
sta
te B
ackO
ff(E
TH
1)
3.
Ch
ecks t
ran
sit
ion
s o
ut
of
sta
te J
am
(E
TH
2)
Sta
te m
achin
e T
ransit m
odule
of an E
thern
et M
AC
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia88
Oth
er
Ben
ch
mark
s
�IC
RA
M (
Instr
ucti
on
Ca
ch
e R
AM
)
�IC
ac
he
fro
m S
UN
Pic
oJ
av
aII
�C
on
tain
s a
me
mo
ry w
ho
se
siz
e c
an
be
va
rie
d
�T
wo
pro
pe
rtie
s r
ela
ted
to
wri
tin
g t
o a
nd
rea
din
g f
rom
me
mo
ry
�A
R b
en
ch
mark
s
�S
imp
le a
rith
me
tic
be
nc
hm
ark
wit
h t
wo
re
gis
ters
�C
an
va
ry t
he
siz
e o
f re
gis
ters
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia89
Exp
eri
men
tal re
su
lts
Eth
ern
et
MA
C
US
B
ICR
AM
AR
A d
ash “
-”in
dic
ate
s a
tim
eout of 2 h
our
A s
tar
“*”
indic
ate
s m
odel checker
term
inate
d d
ue to larg
e n
o. of B
DD
variable
s
Cade
nce S
MV
(-absre
f3)
optio
n
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia90
Pre
dic
ate
s f
rom
Wo
rd-L
evel P
roo
fs
�P
red
icate
s f
rom
weakest-
pre
co
nd
itio
ns
no
t alw
ays id
eal
�Id
ea:
use a
wo
rd-l
evel p
roo
f-en
gin
e t
o
get
bett
er
on
es
(DA
TE
200
7)
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia91
Exam
ple
: W
ord
-level P
roo
f
reg
[6:0] c;
initial c=0;
always @(posedge
clk)
if(c!=64 && issue && !retire)
c=c+1;
else if(c!=0 && !issue && retire)
c=c-1;
he
ad
tail
RO
B
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia92
Exam
ple
: W
ord
-level P
roo
f (I
)
reg[6:0] c;
initial c=0;
always @(posedgeclk)
if(c!=64 && issue && !retire)
c=c+1;
else if(c!=0 && !issue && retire)
c=c-1;
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia94
Exam
ple
: W
ord
-level P
roo
f (I
II)
Pro
pe
rty:
c!=127
+ p
red
ica
te c==127
Sp
uri
ou
s c
ou
nte
rex
am
ple
of
len
gth
2
Ab
str
ac
tM
od
el
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia95
Exam
ple
: W
ord
-level P
roo
f (I
V)
�R
efi
nem
en
t w
ith
weakest
pre
co
nd
itio
n p
rod
uces
pre
dic
ate
c=
=126
�R
eq
uir
es 6
4 r
efi
nem
en
t it
era
tio
ns
�In
ste
ad
: G
ive
sim
ula
tio
n i
ns
tan
ce
to
wo
rd-
lev
el
pro
ve
ra
nd
pe
rfo
rm B
FS
pro
of-
se
arc
h
�G
en
era
tes
pre
dic
ate
c<
=6
4,
wh
ich
sh
ow
s t
he
p
rop
ert
y
11/8
/200
7D
an
iel K
roen
ing
, S
an
jit A
. S
esh
ia96
Su
mm
ary
: P
red
icate
Ab
str
acti
on
�V
eri
ficati
on
at
reg
iste
r le
vel w
ith
ou
t g
oin
g t
o n
etl
ists
�P
red
icate
ab
str
acti
on
usin
g w
ord
-level p
red
icate
s
�H
an
dli
ng
larg
e n
o. o
f p
red
icate
s(p
red
icate
clu
ste
rin
g)
�W
eake
st
pre
-co
nd
itio
ns o
r p
roo
fsfo
r o
bta
inin
g n
ew
pre
dic
ate
s
�V
CE
GA
R
�h
ttp
://w
ww
.cs
.cm
u.e
du
/~m
od
elc
he
ck
/vc
eg
ar