Notation Interpolation • Craig’s interpolant I for unsatisfiable conjunction of formulae A ∧ B [Craig57] • A ⇒ I , I ∧ B unsatisfiable • I defined over common symbols of A and B • I as over-approximation A conflicting with B Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 11 / 72
Notation Interpolation • Craig’s interpolant I for unsatisfiable conjunction of formulae A ∧ B [Craig57] • A ⇒ I , I ∧ B unsatisfiable • I defined over common symbols of A and B • I as over-approximation A conflicting with B • Example Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 11 / 72
Notation Interpolation • Craig’s interpolant I for unsatisfiable conjunction of formulae A ∧ B [Craig57] • A ⇒ I , I ∧ B unsatisfiable • I defined over common symbols of A and B • I as over-approximation A conflicting with B • Example • A � ( p ∨ q ) ∧ ( p ∨ q ) B � ( q ∨ r ) ∧ ( q ∨ r ) Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 11 / 72
Notation Interpolation • Craig’s interpolant I for unsatisfiable conjunction of formulae A ∧ B [Craig57] • A ⇒ I , I ∧ B unsatisfiable • I defined over common symbols of A and B • I as over-approximation A conflicting with B • Example • A � ( p ∨ q ) ∧ ( p ∨ q ) B � ( q ∨ r ) ∧ ( q ∨ r ) • Interpolant q Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 11 / 72
Notation Interpolation • Craig’s interpolant I for unsatisfiable conjunction of formulae A ∧ B [Craig57] • A ⇒ I , I ∧ B unsatisfiable • I defined over common symbols of A and B • I as over-approximation A conflicting with B • Example • A � ( p ∨ q ) ∧ ( p ∨ q ) B � ( q ∨ r ) ∧ ( q ∨ r ) • Interpolant q • A ⇒ q q ∧ B unsatisfiable Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 11 / 72
Interpolation Background • Craig’s interpolant I for unsatisfiable conjunction of formulae A ∧ B [Craig57] • I as over-approximation A conflicting with B B A I Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 12 / 72
Interpolation Background • Applications in symbolic model checking Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 13 / 72
Interpolation Background • Applications in symbolic model checking • Bounded model checking: approximate cheaper reachability set computation [McMillan03] Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 13 / 72
Interpolation Background • Applications in symbolic model checking • Bounded model checking: approximate cheaper reachability set computation [McMillan03] • Predicate abstraction refinement based on spurious behaviors [Henzinger04] Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 13 / 72
Interpolation Background • Applications in symbolic model checking • Bounded model checking: approximate cheaper reachability set computation [McMillan03] • Predicate abstraction refinement based on spurious behaviors [Henzinger04] • Property-based transition relation approximation [Jhala05] Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 13 / 72
Interpolation Background • Applications in symbolic model checking • Bounded model checking: approximate cheaper reachability set computation [McMillan03] • Predicate abstraction refinement based on spurious behaviors [Henzinger04] • Property-based transition relation approximation [Jhala05] • Forementioned applications involve Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 13 / 72
Interpolation Background • Applications in symbolic model checking • Bounded model checking: approximate cheaper reachability set computation [McMillan03] • Predicate abstraction refinement based on spurious behaviors [Henzinger04] • Property-based transition relation approximation [Jhala05] • Forementioned applications involve • Problem encoding into logic (SAT, SMT) Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 13 / 72
Interpolation Background • Applications in symbolic model checking • Bounded model checking: approximate cheaper reachability set computation [McMillan03] • Predicate abstraction refinement based on spurious behaviors [Henzinger04] • Property-based transition relation approximation [Jhala05] • Forementioned applications involve • Problem encoding into logic (SAT, SMT) • Problem solving by means of resolution based engines (SAT solvers, SMT solvers) Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 13 / 72
SAT and SMT Background • Satisfiability (SAT) Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 14 / 72
SAT and SMT Background • Satisfiability (SAT) • Example A � ( p ∨ q ) ∧ ( p ∨ q ) B � ( q ∨ r ) ∧ ( q ∨ r ) Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 14 / 72
SAT and SMT Background • Satisfiability (SAT) • Example A � ( p ∨ q ) ∧ ( p ∨ q ) B � ( q ∨ r ) ∧ ( q ∨ r ) • Satisfiability Modulo Theories (SMT): more expressivity than boolean logic Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 14 / 72
SAT and SMT Background • Satisfiability (SAT) • Example A � ( p ∨ q ) ∧ ( p ∨ q ) B � ( q ∨ r ) ∧ ( q ∨ r ) • Satisfiability Modulo Theories (SMT): more expressivity than boolean logic • Timed automata, hybrid systems, . . . Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 14 / 72
SAT and SMT Background • Satisfiability (SAT) • Example A � ( p ∨ q ) ∧ ( p ∨ q ) B � ( q ∨ r ) ∧ ( q ∨ r ) • Satisfiability Modulo Theories (SMT): more expressivity than boolean logic • Timed automata, hybrid systems, . . . • Arbitrary precision arithmetic, data structures . . . Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 14 / 72
SAT and SMT Background • Satisfiability (SAT) • Example A � ( p ∨ q ) ∧ ( p ∨ q ) B � ( q ∨ r ) ∧ ( q ∨ r ) • Satisfiability Modulo Theories (SMT): more expressivity than boolean logic • Timed automata, hybrid systems, . . . • Arbitrary precision arithmetic, data structures . . . • Example A � (5 x − y ≤ 1) ∧ ( y − 5 x ≤ − 1) B � ( y − 5 z ≤ 3) ∧ (5 z − y ≤ − 2) Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 14 / 72
SAT and SMT Proofs and Solving Engines • A ∧ B unsatisfiable: certificate of unsatisfiability Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 15 / 72
SAT and SMT Proofs and Solving Engines • A ∧ B unsatisfiable: certificate of unsatisfiability • Propositional proof of unsatisfiability • Generated by logging steps at solving time Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 15 / 72
SAT and SMT Proofs and Solving Engines • A ∧ B unsatisfiable: certificate of unsatisfiability • Propositional proof of unsatisfiability • Generated by logging steps at solving time • DPLL SAT solver [Davis60,62] Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 15 / 72
SAT and SMT Proofs and Solving Engines • A ∧ B unsatisfiable: certificate of unsatisfiability • Propositional proof of unsatisfiability • Generated by logging steps at solving time • DPLL SAT solver [Davis60,62] • Search space boolean assignments • Backtracking Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 15 / 72
SAT and SMT Proofs and Solving Engines • A ∧ B unsatisfiable: certificate of unsatisfiability • Propositional proof of unsatisfiability • Generated by logging steps at solving time • DPLL SAT solver [Davis60,62] • Search space boolean assignments • Backtracking • SMT solver Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 15 / 72
SAT and SMT Proofs and Solving Engines • A ∧ B unsatisfiable: certificate of unsatisfiability • Propositional proof of unsatisfiability • Generated by logging steps at solving time • DPLL SAT solver [Davis60,62] • Search space boolean assignments • Backtracking • SMT solver • DPLL SAT solver • Theory solver Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 15 / 72
Interpolation Generation • Interpolant I for unsatisfiable conjunction of formulae A ∧ B Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 16 / 72
Interpolation Generation • Interpolant I for unsatisfiable conjunction of formulae A ∧ B • State-of-the-art approach [Pudl´ ak97, McMillan04] Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 16 / 72
Interpolation Generation • Interpolant I for unsatisfiable conjunction of formulae A ∧ B • State-of-the-art approach [Pudl´ ak97, McMillan04] • Derivation of unsatisfiability resolution proof of A ∧ B Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 16 / 72
Interpolation Generation • Interpolant I for unsatisfiable conjunction of formulae A ∧ B • State-of-the-art approach [Pudl´ ak97, McMillan04] • Derivation of unsatisfiability resolution proof of A ∧ B • Computation of I from proof structure in linear time Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 16 / 72
Resolution System Background • Literal p p Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 17 / 72
Resolution System Background • Literal p p • Clause p ∨ q ∨ r ∨ . . . → pqr . . . Empty clause ⊥ Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 17 / 72
Resolution System Background • Literal p p • Clause p ∨ q ∨ r ∨ . . . → pqr . . . Empty clause ⊥ • Input formula ( p ∨ q ) ∧ ( r ∨ p ) . . . → { pq , rp } Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 17 / 72
Resolution System Background • Literal p p • Clause p ∨ q ∨ r ∨ . . . → pqr . . . Empty clause ⊥ • Input formula ( p ∨ q ) ∧ ( r ∨ p ) . . . → { pq , rp } pC pD • Resolution rule p CD Antecedents: pC pD Resolvent: CD Pivot: p Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 17 / 72
Resolution System Background • Literal p p • Clause p ∨ q ∨ r ∨ . . . → pqr . . . Empty clause ⊥ • Input formula ( p ∨ q ) ∧ ( r ∨ p ) . . . → { pq , rp } pC pD • Resolution rule p CD Antecedents: pC pD Resolvent: CD Pivot: p • Resolution proof of unsatisfiability of a set of clauses S Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 17 / 72
Resolution System Background • Literal p p • Clause p ∨ q ∨ r ∨ . . . → pqr . . . Empty clause ⊥ • Input formula ( p ∨ q ) ∧ ( r ∨ p ) . . . → { pq , rp } pC pD • Resolution rule p CD Antecedents: pC pD Resolvent: CD Pivot: p • Resolution proof of unsatisfiability of a set of clauses S • Tree • Leaves as clauses of S • Intermediate nodes as resolvents • Root as unique empty clause Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 17 / 72
Resolution Proofs SAT • A � { pq , pq } B � { qr , qr } Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 18 / 72
Resolution Proofs SAT • A � { pq , pq } B � { qr , qr } • Proof of unsatisfiability pq pq qr qr p r q q q ⊥ Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 18 / 72
Interpolant Generation SAT [Pudl´ ak97] • Computation of interpolant I for A ∧ B from proof structure Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 19 / 72
Interpolant Generation SAT [Pudl´ ak97] • Computation of interpolant I for A ∧ B from proof structure • Partial interpolant for leaf Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 19 / 72
Interpolant Generation SAT [Pudl´ ak97] • Computation of interpolant I for A ∧ B from proof structure • Partial interpolant for leaf • Partial interpolant for resolvent • Pivot • Partial interpolants for antecedents Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 19 / 72
Interpolant Generation SAT [Pudl´ ak97] • Computation of interpolant I for A ∧ B from proof structure • Partial interpolant for leaf • Partial interpolant for resolvent • Pivot • Partial interpolants for antecedents • Partial interpolant for ⊥ is I Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 19 / 72
Interpolant Generation SAT [Pudl´ ak97] • A � { pq , pq } B � { qr , qr } • Proof of unsatisfiability qr qr pq pq p r q q q ⊥ Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 20 / 72
Interpolant Generation SAT [Pudl´ ak97] • A � { pq , pq } B � { qr , qr } • Proof of unsatisfiability qr qr pq {⊥} pq {⊥} p r q q q ⊥ Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 20 / 72
Interpolant Generation SAT [Pudl´ ak97] • A � { pq , pq } B � { qr , qr } • Proof of unsatisfiability qr {⊤} qr {⊤} pq {⊥} pq {⊥} p r q q q ⊥ Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 20 / 72
Interpolant Generation SAT [Pudl´ ak97] • A � { pq , pq } B � { qr , qr } • Proof of unsatisfiability qr {⊤} qr {⊤} pq {⊥} pq {⊥} p r q {⊥ ∨ ⊥} q q ⊥ Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 20 / 72
Interpolant Generation SAT [Pudl´ ak97] • A � { pq , pq } B � { qr , qr } • Proof of unsatisfiability qr {⊤} qr {⊤} pq {⊥} pq {⊥} p r q {⊥} q q ⊥ Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 20 / 72
Interpolant Generation SAT [Pudl´ ak97] • A � { pq , pq } B � { qr , qr } • Proof of unsatisfiability qr {⊤} qr {⊤} pq {⊥} pq {⊥} p r q {⊥} q {⊤ ∧ ⊤} q ⊥ Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 20 / 72
Interpolant Generation SAT [Pudl´ ak97] • A � { pq , pq } B � { qr , qr } • Proof of unsatisfiability qr {⊤} qr {⊤} pq {⊥} pq {⊥} p r q {⊥} q {⊤} q ⊥ Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 20 / 72
Interpolant Generation SAT [Pudl´ ak97] • A � { pq , pq } B � { qr , qr } • Proof of unsatisfiability qr {⊤} qr {⊤} pq {⊥} pq {⊥} p r q {⊥} q {⊤} q ⊥ { ( ⊥ ∨ q ) ∧ ( ⊤ ∨ q ) } Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 20 / 72
Interpolant Generation SAT [Pudl´ ak97] • A � { pq , pq } B � { qr , qr } • Proof of unsatisfiability qr {⊤} qr {⊤} pq {⊥} pq {⊥} p r q {⊥} q {⊤} q ⊥ { q } Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 20 / 72
Resolution Proofs SMT p q r s z }| { z }| { z }| { z }| { • A � { ( y − 5 x ≤ − 1) } B � { (5 x − y ≤ 1) , ( y − 5 z ≤ 3) , (5 z − y ≤ − 2) } Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 21 / 72
Resolution Proofs SMT p q r s z }| { z }| { z }| { z }| { • A � { ( y − 5 x ≤ − 1) } B � { (5 x − y ≤ 1) , ( y − 5 z ≤ 3) , (5 z − y ≤ − 2) } • Theory lemmata Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 21 / 72
Resolution Proofs SMT p q r s z }| { z }| { z }| { z }| { • A � { ( y − 5 x ≤ − 1) } B � { (5 x − y ≤ 1) , ( y − 5 z ≤ 3) , (5 z − y ≤ − 2) } • Theory lemmata t u � �� � � �� � • LIA: ( x − z ≤ 0) ( x − z ≥ 1) Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 21 / 72
Resolution Proofs SMT p q r s z }| { z }| { z }| { z }| { • A � { ( y − 5 x ≤ − 1) } B � { (5 x − y ≤ 1) , ( y − 5 z ≤ 3) , (5 z − y ≤ − 2) } • Theory lemmata t u � �� � � �� � • LIA: ( x − z ≤ 0) ( x − z ≥ 1) p r u � �� � � �� � � �� � • LRA: (5 x − y � 1) ( y − 5 z � 3) ( x − z � 1) Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 21 / 72
Resolution Proofs SMT p q r s z }| { z }| { z }| { z }| { • A � { ( y − 5 x ≤ − 1) } B � { (5 x − y ≤ 1) , ( y − 5 z ≤ 3) , (5 z − y ≤ − 2) } • Theory lemmata t u � �� � � �� � • LIA: ( x − z ≤ 0) ( x − z ≥ 1) p r u � �� � � �� � � �� � • LRA: (5 x − y � 1) ( y − 5 z � 3) ( x − z � 1) q s t � �� � � �� � � �� � • LRA: ( y − 5 x � − 1) (5 z − y � − 2) ( x − z � 0) Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 21 / 72
Resolution Proofs SMT • A � { p , q } B � { r , s } L � { tu , pru , qst } Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 22 / 72
Resolution Proofs SMT • A � { p , q } B � { r , s } L � { tu , pru , qst } • Proof of unsatisfiability p pru p ru r r u tu u t qst t qs q q s s s ⊥ Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 22 / 72
Interpolant Generation SMT • A � { p , q } B � { r , s } L � { tu , pru , qst } • Proof of unsatisfiability p pru p ru r r u tu u t qst t qs q q s s s ⊥ Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 23 / 72
Interpolant Generation SMT • A � { p , q } B � { r , s } L � { tu , pru , qst } • Proof of unsatisfiability p {⊥} pru p ru r r u tu u t qst t q {⊥} qs q s s s ⊥ Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 23 / 72
Interpolant Generation SMT • A � { p , q } B � { r , s } L � { tu , pru , qst } • Proof of unsatisfiability p {⊥} pru p r {⊤} ru r u tu u t qst t q {⊥} qs q s s {⊤} s ⊥ Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 23 / 72
Interpolant Generation SMT • A � { p , q } B � { r , s } L � { tu , pru , qst } • Proof of unsatisfiability p {⊥} pru p r {⊤} ru r tu ? u u t qst t q {⊥} qs q s s {⊤} s ⊥ Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 23 / 72
Interpolation Challenge • State-of-the-art approach [Pudl´ ak97, McMillan04] Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 24 / 72
Interpolation Challenge • State-of-the-art approach [Pudl´ ak97, McMillan04] • Derivation of unsatisfiability proof of A ∧ B • Computation of interpolant from proof structure in linear time Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 24 / 72
Interpolation Challenge • State-of-the-art approach [Pudl´ ak97, McMillan04] • Derivation of unsatisfiability proof of A ∧ B • Computation of interpolant from proof structure in linear time • Restriction Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 24 / 72
Interpolation Challenge • State-of-the-art approach [Pudl´ ak97, McMillan04] • Derivation of unsatisfiability proof of A ∧ B • Computation of interpolant from proof structure in linear time • Restriction • Need for proof not to contain AB-mixed predicates A-local B-local AB-common AB-mixed Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 24 / 72
Interpolation Challenge • State-of-the-art approach [Pudl´ ak97, McMillan04] • Derivation of unsatisfiability proof of A ∧ B • Computation of interpolant from proof structure in linear time • Restriction • Need for proof not to contain AB-mixed predicates A-local B-local AB-common AB-mixed A � { (5 x − y ≤ 1) , . . . } B � { ( y − 5 z ≤ 3) , . . . } Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 24 / 72
Interpolation Challenge • State-of-the-art approach [Pudl´ ak97, McMillan04] • Derivation of unsatisfiability proof of A ∧ B • Computation of interpolant from proof structure in linear time • Restriction • Need for proof not to contain AB-mixed predicates A-local B-local AB-common AB-mixed A � { (5 x − y ≤ 1) , . . . } B � { ( y − 5 z ≤ 3) , . . . } L � { ( x − z ≤ 0) , . . . } Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 24 / 72
Interpolation Possible Solutions • Need for proof not to contain AB-mixed predicates Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 25 / 72
Interpolation Possible Solutions • Need for proof not to contain AB-mixed predicates • Tune solvers to avoid generating AB-mixed predicates [Cimatti08,Beyer08] Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 25 / 72
Interpolation Possible Solutions • Need for proof not to contain AB-mixed predicates • Tune solvers to avoid generating AB-mixed predicates [Cimatti08,Beyer08] • Transform proof to remove AB-mixed predicates Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 25 / 72
Proof Transformation Motivation • Proof transformation approach Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 26 / 72
Proof Transformation Motivation • Proof transformation approach • Motivation: more flexibility by decoupling SMT solving and interpolant generation Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 26 / 72
Proof Transformation Motivation • Proof transformation approach • Motivation: more flexibility by decoupling SMT solving and interpolant generation • Motivation: standard SMT techniques can require addition of AB-mixed predicates Natasha Sharygina (USI) Flexible Proof Transformation June 21, 2011 26 / 72
Recommend
More recommend