I NTERPOLANT S TRENGTH presenter 志瑋
O UTLINE Introduction Preliminaries Comparison of Interpolation Systems Labelled Interpolation Systems Proof Transformation and Interpolation Systems Conclusion
O UTLINE Introduction Preliminaries Comparison of Interpolation Systems Labelled Interpolation Systems Proof Transformation and Interpolation Systems Conclusion
I NTRODUCTION Two essential steps in model checking Image computation Fixed point detection Interpolant-based model checker Approximation Two approach Contribution Interpolant Strength – order Operators for composing interpolation systems Pivot reordering
O UTLINE Introduction Preliminaries Finite State Model Checking Interpolant-Based Model Checking Resolution Refutations Comparison of Interpolation Systems Labelled Interpolation Systems Proof Transformation and Interpolation Systems Conclusion
F INITE S TATE M ODEL C HECKING (1/2) M = (S, T ) is a finite set of states S and a transition relation T ⊆ S × S Fix the sets J and F, where J ∩ F = ∅, as sets of initial and failure states post(Q) = { s’ ∈ S|s ∈ Q and (s, s’) ∈ T } pre(Q) = {s ∈ S|s’ ∈ Q and (s, s’) ∈ T }
F INITE S TATE M ODEL C HECKING (2/2) The strongest inductive invariant R j is the set of states reachable from J. R J = μQ.(J ∪ post(Q)) the weakest inductive invariant W F is the largest set of states from which F is unreachable W F = S \ μQ.(F ∪ pre(Q))
I NTERPOLANT -B ASED M ODEL C HECKING A(x 0, x 1 ) def = Q(x 0 ) ∧ T (x 0, x 1 ) B(x 1,..., x k ) def = T (x 1, x 2 ) ∧... ∧ T (x k−1, x k ) ∧ (F(x 1 ) ∨ ・ ・ ・ ∨ F(x k )) If the BMC instance is satisfiable, F is reachable from a state in Q. P(x 1 ) def = ∃ x 0.A(x 0, x 1 ) If the formula Q(x 0 ) can be replaced by Q(x 0 ) ∨ P(x 0 ), we can repeatedly compute images until we obtain a formula encoding R J.
R ESOLUTION R EFUTATIONS A resolution proof R is a DAG (V R,E R, piv R, l R, s R ) V R is a set of vertices E R is a set of edges piv R is a pivot function l R is the clause function s R ∈ V R is the sink vertex l R (v) = Res(l R ( v1),l R (v2), piv R (v))
O UTLINE Introduction Preliminaries Comparison of Interpolation Systems Interpolant Systems Interpolant Strength and Model Checking Labelled Interpolation Systems Proof Transformation and Interpolation Systems Conclusion
I NTERPOLANT S YSTEMS (1/4)
I NTERPOLANT S YSTEMS (2/4)
I NTERPOLANT S YSTEMS (3/4)
I NTERPOLANT S YSTEMS (4/4) Itp M (R) = a1 ∧ a2, Itp S (R) = a1 ∧ a2, and ¬ ItpM(R) = a1 ∨ a2. In addition, a1 is an interpolant for A ∧ B, as is a2. However, we cannot obtain these interpolants from Itp M, Itp S Itp M or Itp S.
I NTERPOLANT S YSTEMS AND M ODEL C HECKING (1/2)
I NTERPOLANT S YSTEMS AND M ODEL C HECKING (2/2) Model Checking with a weaker interpolation system converges more quickly in this case.
O UTLINE Introduction Preliminaries Comparison of Interpolation Systems Labeled Interpolation Systems Labeling Functions and Interpolation Strength in Labeled Interpolation Systems Proof Transformation and Interpolation Systems Conclusion
L ABELLING F UNCTIONS AND I NTERPOLATION (1/4)
L ABELLING F UNCTIONS AND I NTERPOLATION (2/4)
L ABELLING F UNCTIONS AND I NTERPOLATION (3/4)
L ABELLING F UNCTIONS AND I NTERPOLATION (4/4)
S TRENGTH IN L ABELLED I NTERPOLATION S YSTEM
O UTLINE Introduction Preliminaries Comparison of Interpolation Systems Labelled Interpolation Systems Proof Transformation and Interpolation Systems Proof Transformation Proof Transformation and Interpolation Systems Conclusion
P ROOF T RANSFORMATION (1/4)
P ROOF T RANSFORMATION (2/4)
P ROOF T RANSFORMATION (3/4)
P ROOF T RANSFORMATION (4/4)
P ROOF T RANSFORMATION AND I NTERPOLANT S TRENGTH Pivot order : a->ab->b
O UTLINE Introduction Preliminaries Comparison of Interpolation Systems Labelled Interpolation Systems Proof Transformation and Interpolation Systems Conclusion
C ONCLUSION Labelling Functions Swapping vertices in a proof graph Strengthening techniques lead to performance improvema = ents in model checking Detect situations in which strengthening techniques are to be applied