The big picture Proof-carrying CDSAT Discussion Proof reconstruction in conflict-driven satisfiability 1 Maria Paola Bonacina Dipartimento di Informatica Universit` a degli Studi di Verona Verona, Italy, EU Schloß Dagstuhl Seminar # 19371: “Deduction beyond satisfiability” Schloß Dagstuhl, near Wadern, Germany, EU September 2019 1 Based on joint work with S. Graham-Lengrand and N. Shankar Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion The big picture Proof-carrying CDSAT Discussion Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion Proof reconstruction ◮ Beyond sat / unsat / don’t know answers ◮ Extract proof from final state of refutation ◮ Proof checking ◮ Proof communication ◮ Issues: size, useability of proofs in all reasoning paradigms ◮ This talk: proof reconstruction in CDSAT Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion What is CDSAT ◮ Problems from applications: decide T -satisfiability for T = � n k =1 T k ◮ Disjoint theories and quantifier-free formulas ◮ A general paradigm named CDSAT (Conflict-Driven SATisfiability): ◮ Conflict-driven reasoning in T ◮ By combining T k -inference systems: theory modules I 1 , . . . , I n ◮ Proof reconstruction assuming the I k ’s produce proofs Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion Conflict-driven satisfiability ◮ Procedure to determine satisfiability of a formula ◮ Build candidate model ◮ Assignments + propagation through formulas ◮ Conflict btw model and formula: explain by inferences ◮ Learn generated lemma to avoid repetition ◮ Solve conflict by fixing model to satisfy learned lemma ◮ Nontrivial inferences on demand to respond to conflicts ◮ If unsat, the proof is made of these nontrivial inferences CDSAT does this for a generic union T = � n k =1 T k Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion Conflict-driven propositional satisfiability ◮ CDCL (Conflict-Driven Clause Learning) procedure for SAT ◮ Build candidate propositional model ◮ Assignments to propositional variables + BCP ◮ Explain conflicts by propositional resolution ◮ Learn resolvents made of input atoms ◮ Resolution on demand to respond to conflicts ◮ If unsat, proof by resolution ◮ CDSAT: propositional logic as theory Bool ◮ CDSAT reduces to CDCL if T = Bool ◮ Conflict-driven procedures for other theories: first-order assignments + new atoms Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion Standard theory combination: not conflict-driven ◮ Equality-sharing method (aka Nelson-Oppen scheme) combines T k -sat procedures as black-boxes that ◮ Exchange entailed (disjunctions of) equalities between shared variables ◮ Build arrangement that tells which shared variables are equal ◮ A T k -sat procedure could be conflict-driven, not the combination scheme ◮ T k -deduction viewed as single inference: T k -proof as black-box No conflict-driven T k -sat procedure: CDSAT emulates equality sharing as it accommodates also black-box procedures Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion From sets of literals to formulas DPLL( T ) aka CDCL( T ) with T = � n k =1 T k ◮ CDCL builds candidate propositional model M ◮ Satellite T k -satisfiability procedures ◮ Combined by equality sharing as black-boxes ◮ Signal T -conflicts in M and contribute T -lemmas ◮ Conflict-driven inferences: only propositional (resolution) ◮ Proof by resolution with black-box T k -subproofs CDCL only conflict-driven procedure: CDSAT reduces to CDCL( T ) with equality sharing Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion Conflict-driven reasoning from sets of literals to formulas ◮ MCSAT (Model-Constructing SATisfiability) ◮ Integrates CDCL and one model-constructing conflict-driven T -sat procedure (theory plugin) ◮ CDCL and the T -plugin cooperate in model construction ◮ Both propositional and T -reasoning are conflict-driven ◮ CDSAT generalizes MCSAT to generic T = � n k =1 T k ◮ CDSAT reduces to MCSAT if there are CDCL and one conflict-driven model-constructing T -sat procedure Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion CDSAT: Conflict-driven reasoning from a theory to many ◮ Conflict-driven behavior and black-box integration are at odds: each conflict-driven T k -sat procedure needs to access the trail, post assignments, perform inferences, explain T k -conflicts, export lemmas on a par with CDCL ◮ Key abstraction in CDSAT: open the black-boxes, pull out the T k -inference systems used to explain T k -conflicts, and combine them as theory modules in a conflict-driven way ◮ All theory modules contribute directly to the proof: resolution + black-box T k -subproofs is not enough Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion More about CDSAT ◮ SMA: Satisfiability Modulo theories and Assignments (allows first-order assignments such as t ← 3 in input) ◮ If T k has no conflict-driven T k -sat procedure: black-box inference rule L 1 , . . . , L m ⊢ k ⊥ invokes the T k -procedure to detect T k -unsat ◮ CDSAT is sound, terminating, and complete under suitable hypotheses Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion Trail for proof-carrying CDSAT ◮ Sequence of assignments: decision or justified assignment ◮ Decision: either Boolean or first-order; opens the next level ◮ Justified assignment: justification + deduction proof term ◮ Justification of A : set H of assignments that appear before A ◮ Input assignment ( H = ∅ ): proof term in ( A ) ◮ Due to inference H ⊢ k A : proof term from I k ◮ Due to lemma learning: proof term for the lemma ◮ Level of A : max among those of the elements of H ◮ A justified assignment of level 5 may appear after a decision of level 6: late propagation; a trail is not a stack Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion Proof-carrying CDSAT transition system ◮ Trail rules: Decide, Deduce, Fail, ConflictSolve ◮ Apply to the trail Γ ◮ Conflict state rules: UndoClear, Resolve, UndoDecide, Learn ◮ Apply to trail Γ, conflict H , conflict proof term c : � Γ; H ; c � ◮ Conflict: unsatisfiable assignment, H ⊆ Γ ◮ Conflict proof term: proof term for H ⊢⊥ Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion The CDSAT transition system: Decide Decide: Γ − → Γ , ? ( u ← c ) adds decision ? ( u ← c ) if u ← c is an acceptable T k -assignment for I k in Γ k : ◮ Γ k does not already assign a T k -value to u ◮ u ← c first-order: it does not happen J ∪ { u ← c } ⊢ k L where J ⊆ Γ k and ¯ L ∈ Γ k ◮ u is relevant to T k : either u occurs in Γ k and T k has T k -values for its sort; or u is an equality whose sides occur in Γ k , T k has their sort, but not T k -values Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion The proof-carrying CDSAT transition system: Deduce Deduce: Γ − → Γ , J ⊢ L ◮ Adds justified assignment J ⊢ L ◮ J ⊢ k L , for some k , 1 ≤ k ≤ n , J ⊆ Γ, and L �∈ Γ ◮ L �∈ Γ ◮ T k -module produces T k -proof coerced into CDSAT deduction proof term ◮ Both T k -propagation and explanation of T k -conflicts Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion Proof-carrying CDSAT: Fail and ConflictSolve ◮ J ⊢ k L , for some k , 1 ≤ k ≤ n , J ⊆ Γ, L �∈ Γ ◮ L ∈ Γ: J ∪ { L } is a conflict ◮ If d is a deduction proof term for J ⊢ L cfl ( d , L ) is a conflict proof term for J ∪ { L } ⊢⊥ ◮ If level Γ ( J ∪ { L } ) = 0 Fail: Γ − → unsat( c ) returns conflict proof term c as ⇒ ∗ � Γ; ∅ ; c � � Γ; J ∪ { L } ; cfl ( d , L ) � = ◮ If level Γ ( J ∪ { L } ) > 0 → Γ ′ solves the conflict as ConflictSolve: Γ − ⇒ ∗ Γ ′ � Γ; J ∪ { L } ; cfl ( d , L ) � = Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
The big picture Proof-carrying CDSAT Discussion The proof-carrying CDSAT transition system: UndoClear The conflict contains a first-order assignment that stands out as its level is maximum in the conflict: ⇒ Γ ≤ m − 1 UndoClear: � Γ; E ⊎ { A } ; c � = ◮ A is a first-order decision of level m > level Γ ( E ) ◮ Removes A and all assignments of level ≥ m ◮ Γ ≤ m − 1 : the restriction of trail Γ to its elements of level at most m − 1 Maria Paola Bonacina Proof reconstruction in conflict-driven satisfiability
Recommend
More recommend