sat preprocessing for mus extraction and maxsat
play

SAT Preprocessing for MUS Extraction and MaxSAT Anton Belov Joint - PowerPoint PPT Presentation

SAT Preprocessing for MUS Extraction and MaxSAT Anton Belov Joint work with: Matti J arvisalo, Ant onio Morgado, Joao Marques-Silva University College Dublin, Ireland University of Helsinki, Finland IST/INESC-ID, Lisbon, Portugal EPCL


  1. Introduction: applications Applications ◮ Identification and repair of sources of inconsistency - circuit error diagnosis; error localization in product configuration. ◮ Identification of relevant features of systems: - automatic abstraction in model checking; - environmental assumptions in formal equivalence checking. ◮ MaxSAT: debugging, optimization, bioinformatics, etc. Computation of (group-)MUSes and MaxSAT solutions ◮ Algorithms aimed at industrial instances are based on iterative calls to a SAT solver. ◮ SAT solving is the main bottleneck. ◮ Number of SAT calls is a function of the size of the input formula. ◮ In the SAT world: preprocessing is essential for efficient SAT solving. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 7

  2. Introduction: preprocessing for SAT Clause elimination procedures E : CNF �→ CNF , E ( F ) ⊆ F , and E ( F ) is equisatisfiable with F . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 8

  3. Introduction: preprocessing for SAT Clause elimination procedures E : CNF �→ CNF , E ( F ) ⊆ F , and E ( F ) is equisatisfiable with F . ◮ Subsumption elimination C subsumes C ′ if C ⊂ C ′ . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 8

  4. Introduction: preprocessing for SAT Clause elimination procedures E : CNF �→ CNF , E ( F ) ⊆ F , and E ( F ) is equisatisfiable with F . ◮ Subsumption elimination C subsumes C ′ if C ⊂ C ′ . ◮ Blocked clause elimination (BCE) C is blocked if every resolvent of C on some l ∈ C is a tautology. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 8

  5. Introduction: preprocessing for SAT Clause elimination procedures E : CNF �→ CNF , E ( F ) ⊆ F , and E ( F ) is equisatisfiable with F . ◮ Subsumption elimination C subsumes C ′ if C ⊂ C ′ . ◮ Blocked clause elimination (BCE) C is blocked if every resolvent of C on some l ∈ C is a tautology. Resolution-based preprocessing ◮ Boolean constraint propagation (BCP) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 8

  6. Introduction: preprocessing for SAT Clause elimination procedures E : CNF �→ CNF , E ( F ) ⊆ F , and E ( F ) is equisatisfiable with F . ◮ Subsumption elimination C subsumes C ′ if C ⊂ C ′ . ◮ Blocked clause elimination (BCE) C is blocked if every resolvent of C on some l ∈ C is a tautology. Resolution-based preprocessing ◮ Boolean constraint propagation (BCP) ◮ Variable elimination (VE) (aka DP-reduction) VE( F , x ) = F ∪ ( F x ⊗ x F ¬ x ) \ ( F x ∪ F ¬ x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 8

  7. Introduction: preprocessing for SAT Clause elimination procedures E : CNF �→ CNF , E ( F ) ⊆ F , and E ( F ) is equisatisfiable with F . ◮ Subsumption elimination C subsumes C ′ if C ⊂ C ′ . ◮ Blocked clause elimination (BCE) C is blocked if every resolvent of C on some l ∈ C is a tautology. Resolution-based preprocessing ◮ Boolean constraint propagation (BCP) ◮ Variable elimination (VE) (aka DP-reduction) VE( F , x ) = F ∪ ( F x ⊗ x F ¬ x ) \ ( F x ∪ F ¬ x ) ◮ Self-subsuming resolution (SSR) replace ( x ∨ C ) ( ¬ x ∨ C ∨ D ) with ( x ∨ C ) ( C ∨ D ). A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 8

  8. Introduction: preprocessing for SAT Clause elimination procedures E : CNF �→ CNF , E ( F ) ⊆ F , and E ( F ) is equisatisfiable with F . ◮ Subsumption elimination C subsumes C ′ if C ⊂ C ′ . ◮ Blocked clause elimination (BCE) C is blocked if every resolvent of C on some l ∈ C is a tautology. Resolution-based preprocessing ◮ Boolean constraint propagation (BCP) ◮ Variable elimination (VE) (aka DP-reduction) VE( F , x ) = F ∪ ( F x ⊗ x F ¬ x ) \ ( F x ∪ F ¬ x ) ◮ Self-subsuming resolution (SSR) replace ( x ∨ C ) ( ¬ x ∨ C ∨ D ) with ( x ∨ C ) ( C ∨ D ). Important: a model of original formula can be reconstructed efficiently . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 8

  9. Introduction: preprocessing for MUSes and MaxSAT Input formula F preprocessor Preprocessed formula F ′ MUS extractor MaxSAT solver A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 9

  10. Introduction: preprocessing for MUSes and MaxSAT Input formula F preprocessor Preprocessed formula F ′ MUS extractor MaxSAT solver MUS of F ′ MaxSAT solution of F ′ A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 9

  11. Introduction: preprocessing for MUSes and MaxSAT Input formula F preprocessor Preprocessed formula F ′ MUS extractor MaxSAT solver MUS of F ′ MaxSAT solution of F ′ P -time procedure P -time procedure MUS of F MaxSAT solution of F A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 9

  12. Outline Introduction: MUSes, MaxSAT, SAT preprocessing Direct reconstruction: techniques that work Direct reconstruction: techniques that break Sound preprocessing in Labelled CNF framework A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 10

  13. Plain MUS: clause elimination M = M ′ F E F ′ M ′ A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 11

  14. Plain MUS: clause elimination M = M ′ F E F ′ M ′ Prop: Any MUS of F ′ = E ( F ) is an MUS of F . Reconstruction is trivial. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 11

  15. Plain MUS: BCP support BCP ( C 1 , F ) support BCP ( C 2 , F ) support BCP ( C 4 , F ) support BCP ( C 5 , F ) ... ... ... ( l ) ( ¬ l ∨ C 1 ) ( ¬ l ∨ C 2 ) ( l ∨ C 3 ) F C 4 C 5 ... ... ... C 1 C 2 C 4 C 5 F ′ = BCP( F , l ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 12

  16. Plain MUS: BCP support BCP ( C 1 , F ) support BCP ( C 2 , F ) support BCP ( C 4 , F ) support BCP ( C 5 , F ) ... ... ... ( l ) ( ¬ l ∨ C 1 ) ( ¬ l ∨ C 2 ) ( l ∨ C 3 ) F C 4 C 5 ... ... ... C 1 C 2 C 4 C 5 F ′ = BCP( F , l ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 12

  17. Plain MUS: BCP support BCP ( C 1 , F ) support BCP ( C 2 , F ) support BCP ( C 4 , F ) support BCP ( C 5 , F ) ... ... ... ( l ) ( ¬ l ∨ C 1 ) ( ¬ l ∨ C 2 ) ( l ∨ C 3 ) F C 4 C 5 ... ... ... C 1 C 2 C 4 C 5 F ′ = BCP( F , l ) Prop: If M ′ is an MUS of F ′ = BCP( F , l ), then M = � C ∈ M ′ support BCP ( C , F ) is an MUS of F . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 12

  18. Plain MUS: BCP support BCP ( C 1 , F ) support BCP ( C 2 , F ) support BCP ( C 4 , F ) support BCP ( C 5 , F ) ... ... ... ( l ) ( ¬ l ∨ C 1 ) ( ¬ l ∨ C 2 ) ( l ∨ C 3 ) F C 4 C 5 ... ... ... C 1 C 2 C 4 C 5 F ′ = BCP( F , l ) Prop: If M ′ is an MUS of F ′ = BCP( F , l ), then M = � C ∈ M ′ support BCP ( C , F ) is an MUS of F . Pf: Take a witness τ for C 2 in F ′ . Then, τ ∪ { l } is a witness for ( ¬ l ∨ C 2 ), while τ ∪ {¬ l } is a witness for ( l ). If τ is a witness for C 4 in F ′ , then τ ∪ { l } is a witness for C 4 in F . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 12

  19. Plain MUS: BCP support BCP ( C 1 , F ) support BCP ( C 2 , F ) support BCP ( C 4 , F ) support BCP ( C 5 , F ) ... ... ... ( l ) ( ¬ l ∨ C 1 ) ( ¬ l ∨ C 2 ) ( l ∨ C 3 ) F C 4 C 5 ... ... ... C 1 C 2 C 4 C 5 F ′ = BCP( F , l ) Prop: If M ′ is an MUS of F ′ = BCP( F , l ), then M = � C ∈ M ′ support BCP ( C , F ) is an MUS of F . Pf: Take a witness τ for C 2 in F ′ . Then, τ ∪ { l } is a witness for ( ¬ l ∨ C 2 ), while τ ∪ {¬ l } is a witness for ( l ). If τ is a witness for C 4 in F ′ , then τ ∪ { l } is a witness for C 4 in F . Reconstruction can be done in P-time. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 12

  20. Group-MUS: monotone clause elimination Def: A clause elimination procedure E is monotone iff for any F ′ ⊆ F , E ( F ′ ) ⊆ E ( F ). Example: BCE — if C is blocked in F , its blocked in any F ′ ⊆ F . Non-example: SUB — if C 1 ⊂ C 2 in F , but C 1 is not in F ′ . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 13

  21. Group-MUS: monotone clause elimination Def: A clause elimination procedure E is monotone iff for any F ′ ⊆ F , E ( F ′ ) ⊆ E ( F ). Example: BCE — if C is blocked in F , its blocked in any F ′ ⊆ F . Non-example: SUB — if C 1 ⊂ C 2 in F , but C 1 is not in F ′ . Prop: If E is monotone, then MUS( E ( F )) = MUS( F ), i.e. any monotone clause elimination procedure is MUS-preserving . Pf: if M ∈ MUS( E ( F )), then M ⊆ E ( F ) ⊆ F , i.e. M ∈ MUS( F ) (doesn’t matter that E is monotone); if M ∈ MUS( F ), then E ( M ) = M because E is SAT-preserving, and since M ⊆ F , we have E ( M ) ⊆ E ( F ) by monotonicity, i.e. M ∈ MUS( E ( F )). A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 13

  22. Group-MUS: monotone clause elimination G 0 G 1 G 2 G 3 F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 E G ′ G ′ G ′ G 1 0 2 3 E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 14

  23. Group-MUS: monotone clause elimination G 0 G 1 G 2 G 3 F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 E G ′ G ′ G ′ G 1 0 2 3 E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 14

  24. Group-MUS: monotone clause elimination G 0 G 1 G 2 G 3 F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 E G ′ G ′ G ′ G 1 0 2 3 E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 Given a group-MUS M ′ of F ′ = E ( F ), let M = { G i ∈ F | G ′ i ∈ M ′ } . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 14

  25. Group-MUS: monotone clause elimination G 0 G 1 G 2 G 3 F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 E G ′ G ′ G ′ G 1 0 2 3 E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 C 9 Given a group-MUS M ′ of F ′ = E ( F ), let M = { G i ∈ F | G ′ i ∈ M ′ } . Prop: If E is MUS-preserving, then M is a group-MUS of F . Note: in particular, this is true if E is monotone (e.g. BCE). A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 14

  26. MaxSAT: monotone clause elimination F H F S F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 E F H E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 15

  27. MaxSAT: monotone clause elimination F H F S F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 E F H E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 15

  28. MaxSAT: monotone clause elimination F H F S F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 E F H E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 Prop: If E is MUS-preserving, and τ is a MaxSAT solution for E ( F ), then α E ( τ ) is a MaxSAT solution for F . Pf: E is MUS-preserving ⇒ E is MCS-preserving (HS-duality), and so min-cost MCS is the same. Only MSS clauses will be eliminated. τ is a model of the MSS of E ( F ), α E ( τ ) must be a model of corresponding MSS of F . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 15

  29. MaxSAT: monotone clause elimination F H F S F ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 E F H E ( F ) ... ... ... C 1 C 2 C 3 C 4 C 5 C 6 C 7 C 8 Prop: If E is MUS-preserving, and τ is a MaxSAT solution for E ( F ), then α E ( τ ) is a MaxSAT solution for F . Pf: E is MUS-preserving ⇒ E is MCS-preserving (HS-duality), and so min-cost MCS is the same. Only MSS clauses will be eliminated. τ is a model of the MSS of E ( F ), α E ( τ ) must be a model of corresponding MSS of F . Note: in particular, this is true if E is monotone (e.g. BCE). A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 15

  30. Outline Introduction: MUSes, MaxSAT, SAT preprocessing Direct reconstruction: techniques that work Direct reconstruction: techniques that break Sound preprocessing in Labelled CNF framework A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 16

  31. Plain MUS: SSR C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17

  32. Plain MUS: SSR C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) ( ¬ x ∨ p ) ( p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) F ′ = SSR( F , C 1 , C 2 , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17

  33. Plain MUS: SSR support SSR (( p ∨ q ) , F ) C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) ( ¬ x ∨ p ) ( p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) F ′ = SSR( F , C 1 , C 2 , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17

  34. Plain MUS: SSR support SSR (( p ∨ q ) , F ) C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) ( ¬ x ∨ p ) ( p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) F ′ = SSR( F , C 1 , C 2 , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17

  35. Plain MUS: SSR support SSR (( p ∨ q ) , F ) MUS C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) ( ¬ x ∨ p ) ( p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) F ′ = SSR( F , C 1 , C 2 , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17

  36. Plain MUS: SSR support SSR (( p ∨ q ) , F ) C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) ( ¬ x ∨ p ) ( p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) F ′ = SSR( F , C 1 , C 2 , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17

  37. Plain MUS: SSR support SSR (( p ∨ q ) , F ) Not an MUS redundant C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) ( ¬ x ∨ p ) ( p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) F ′ = SSR( F , C 1 , C 2 , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17

  38. Plain MUS: SSR support SSR (( p ∨ q ) , F ) Not an MUS redundant C 1 C 2 F ( ¬ x ∨ p ) ( x ∨ p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) ( ¬ x ∨ p ) ( p ∨ q ) ( ¬ p ) ( x ∨ ¬ q ) ( ¬ x ) F ′ = SSR( F , C 1 , C 2 , x ) For an MUS M ′ of F ′ = SSR( F , C , D , l ), M = � C ∈ M ′ support SSR ( C , F ) might be not an MUS of F . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 17

  39. Plain MUS: VE Canonical CNF on p , q , r without Canonical CNF on p , q , r without ( p ∨ q ∨ r ) and ( p ∨ ¬ q ∨ r ) ( p ∨ q ∨ r ) and ( p ∨ ¬ q ∨ r ) ( x ∨ p ∨ q ∨ r ) ( x ∨ ¬ q ∨ r ) ( ¬ x ∨ p ∨ s ) ( ¬ x ∨ q ) ( ¬ s ) F R ( p ∨ q ∨ r ∨ s ) ( p ∨ q ∨ r ) ( p ∨ ¬ q ∨ r ∨ s ) ( ¬ s ) R F ′ = VE( F , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 18

  40. Plain MUS: VE Canonical CNF on p , q , r without Canonical CNF on p , q , r without MUS ( p ∨ q ∨ r ) and ( p ∨ ¬ q ∨ r ) ( p ∨ q ∨ r ) and ( p ∨ ¬ q ∨ r ) ( x ∨ p ∨ q ∨ r ) ( x ∨ p ∨ q ∨ r ) ( x ∨ ¬ q ∨ r ) ( x ∨ ¬ q ∨ r ) ( ¬ x ∨ p ∨ s ) ( ¬ x ∨ p ∨ s ) ( ¬ x ∨ q ) ( ¬ x ∨ q ) ( ¬ s ) ( ¬ s ) F F R R ( p ∨ q ∨ r ∨ s ) ( p ∨ q ∨ r ∨ s ) ( p ∨ q ∨ r ) ( p ∨ q ∨ r ) ( p ∨ ¬ q ∨ r ∨ s ) ( p ∨ ¬ q ∨ r ∨ s ) ( ¬ s ) ( ¬ s ) R R F ′ = VE( F , x ) F ′ = VE( F , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 18

  41. Plain MUS: VE Canonical CNF on p , q , r without Not an MUS ( p ∨ q ∨ r ) and ( p ∨ ¬ q ∨ r ) redundant ( x ∨ p ∨ q ∨ r ) ( x ∨ ¬ q ∨ r ) ( ¬ x ∨ p ∨ s ) ( ¬ x ∨ q ) ( ¬ s ) F R ( p ∨ q ∨ r ∨ s ) ( p ∨ q ∨ r ) ( p ∨ ¬ q ∨ r ∨ s ) ( ¬ s ) R F ′ = VE( F , x ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 18

  42. Plain MUS: VE Canonical CNF on p , q , r without Canonical CNF on p , q , r without Not an MUS ( p ∨ q ∨ r ) and ( p ∨ ¬ q ∨ r ) ( p ∨ q ∨ r ) and ( p ∨ ¬ q ∨ r ) redundant ( x ∨ p ∨ q ∨ r ) ( x ∨ p ∨ q ∨ r ) ( x ∨ ¬ q ∨ r ) ( x ∨ ¬ q ∨ r ) ( ¬ x ∨ p ∨ s ) ( ¬ x ∨ p ∨ s ) ( ¬ x ∨ q ) ( ¬ x ∨ q ) ( ¬ s ) ( ¬ s ) F F R R ( p ∨ q ∨ r ∨ s ) ( p ∨ q ∨ r ) ( p ∨ ¬ q ∨ r ∨ s ) ( ¬ s ) R F ′ = VE( F , x ) For an MUS M ′ of F ′ = VE( F , x ), M = � C ∈ M ′ support VE ( C , F ) might be not an MUS of F . Doesn’t work even if M is greedily minimized to avoid duplicate resolvents. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 18

  43. Group-MUS: subsumption G 0 G 1 G 2 F ( ¬ r ) ( ¬ p ∨ q ) ( ¬ q ∨ r ) ( p ∨ r ) ( p ) G ′ G ′ G ′ 0 1 2 ( ¬ r ) ( ¬ p ∨ q ) ( ¬ q ∨ r ) ( p ∨ r ) ( p ) SUBS ( F ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 19

  44. Group-MUS: subsumption Not a group-MUS G 0 G 1 redundant G 2 F ( ¬ r ) ( ¬ p ∨ q ) ( ¬ q ∨ r ) ( p ∨ r ) ( p ) G ′ G ′ G ′ 0 1 2 ( ¬ r ) ( ¬ p ∨ q ) ( ¬ q ∨ r ) ( p ∨ r ) ( p ) SUBS ( F ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 19

  45. Group-MUS: subsumption Not a group-MUS G 0 G 1 redundant G 2 F ( ¬ r ) ( ¬ p ∨ q ) ( ¬ q ∨ r ) ( p ∨ r ) ( p ) G ′ G ′ G ′ 0 1 2 ( ¬ r ) ( ¬ p ∨ q ) ( ¬ q ∨ r ) ( p ∨ r ) ( p ) SUBS ( F ) For a group-MUS M ′ of F ′ = E ( F ), M = { G i ∈ F | G ′ i ∈ F ′ } might be not a group-MUS of F . Note: can do certain things with subsumption: eliminate within a group, or from group-0 to other groups. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 19

  46. Group MUS: BCP G 0 G 1 G 2 G 3 F ( y ) ( z ∨ p ∨ q ) ( ¬ z ) ( ¬ y ∨ ¬ z ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) G ′ G ′ G ′ 0 1 3 ( p ∨ q ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) ( y ) F ′ = BCP( F , ¬ z ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 20

  47. Group MUS: BCP Not a group-MUS G 0 G 1 G 2 redundant G 3 F ( y ) ( z ∨ p ∨ q ) ( ¬ z ) ( ¬ y ∨ ¬ z ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) G ′ G ′ G ′ 0 1 3 ( p ∨ q ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) ( y ) F ′ = BCP( F , ¬ z ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 20

  48. Group MUS: BCP Not a group-MUS G 0 G 1 G 2 redundant G 3 F ( y ) ( z ∨ p ∨ q ) ( ¬ z ) ( ¬ y ∨ ¬ z ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) G ′ G ′ G ′ 0 1 3 ( p ∨ q ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) ( y ) F ′ = BCP( F , ¬ z ) BCP in the group-MUS setting is problematic. Note: again, can do certain things with BCP: propagate within a group, or from group-0 to other groups. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 20

  49. Group MUS: BCP Not a group-MUS G 0 G 1 G 2 redundant G 3 F ( y ) ( z ∨ p ∨ q ) ( ¬ z ) ( ¬ y ∨ ¬ z ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) G ′ G ′ G ′ 0 1 3 ( p ∨ q ) ( p ∨ ¬ q ) ( ¬ p ∨ q ) ( ¬ p ∨ ¬ q ) ( y ) F ′ = BCP( F , ¬ z ) BCP in the group-MUS setting is problematic. Note: again, can do certain things with BCP: propagate within a group, or from group-0 to other groups. Note: VE and SSR didn’t work for plain MUSes, and so won’t work for group-MUSes either. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 20

  50. MaxSAT: subsumption ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) F A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 21

  51. MaxSAT: subsumption ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) SUBS ( F ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 21

  52. MaxSAT: subsumption ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) SUBS ( F ) τ = {¬ p , ¬ r } is a MaxSAT solution for SUBS ( F ), cost ( τ ) = 2. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 21

  53. MaxSAT: subsumption ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) SUBS ( F ) τ = {¬ p , ¬ r } is a MaxSAT solution for SUBS ( F ), cost ( τ ) = 2. τ ′ = {¬ p , ¬ r , q } is not a MaxSAT solution for F , cost ( τ ′ ) = 3, but cost ( { p , ¬ r , q } ) = 2. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 21

  54. MaxSAT: subsumption ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) SUBS ( F ) τ = {¬ p , ¬ r } is a MaxSAT solution for SUBS ( F ), cost ( τ ) = 2. τ ′ = {¬ p , ¬ r , q } is not a MaxSAT solution for F , cost ( τ ′ ) = 3, but cost ( { p , ¬ r , q } ) = 2. Reason: subsumption may remove some of the MUSes of F . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 21

  55. MaxSAT: VE F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 22

  56. MaxSAT: VE F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) VE ( F , q ) A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 22

  57. MaxSAT: VE F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) VE ( F , q ) τ = {¬ p , ¬ r } is a MaxSAT solution for VE ( F , q ), cost ( τ ) = 2. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 22

  58. MaxSAT: VE F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) VE ( F , q ) τ = {¬ p , ¬ r } is a MaxSAT solution for VE ( F , q ), cost ( τ ) = 2. τ ′ = {¬ p , ¬ r , q } is not a MaxSAT solution for F , cost ( τ ′ ) = 3, but cost ( { p , ¬ r , q } ) = 2. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 22

  59. MaxSAT: VE F ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) ( p ) ( ¬ p ) ( p ∨ q ) ( p ∨ ¬ q ) ( r ) ( ¬ r ) VE ( F , q ) τ = {¬ p , ¬ r } is a MaxSAT solution for VE ( F , q ), cost ( τ ) = 2. τ ′ = {¬ p , ¬ r , q } is not a MaxSAT solution for F , cost ( τ ′ ) = 3, but cost ( { p , ¬ r , q } ) = 2. Reason: VE changes the MUSes of F . Additional problem: what to do with weights ? A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 22

  60. MaxSAT: resolution-based preprocessing None of the resolution-based techniques are sound for MaxSAT, because the resolution rule itself is not sound. ( x ∨ C 1 ) ⊗ x ( ¬ x ∨ C 2 ) = ( C 1 ∨ C 2 ) Consider an assignment τ s.t. τ ( ¬ x ∨ C 2 ) = 0 and τ ( C 1 ) = 1. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 23

  61. MaxSAT: resolution-based preprocessing None of the resolution-based techniques are sound for MaxSAT, because the resolution rule itself is not sound. ( x ∨ C 1 ) ⊗ x ( ¬ x ∨ C 2 ) = ( C 1 ∨ C 2 ) Consider an assignment τ s.t. τ ( ¬ x ∨ C 2 ) = 0 and τ ( C 1 ) = 1. MaxSAT Resolution rule [Bonet et al, 07] A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 23

  62. MaxSAT: resolution-based preprocessing None of the resolution-based techniques are sound for MaxSAT, because the resolution rule itself is not sound. ( x ∨ C 1 ) ⊗ x ( ¬ x ∨ C 2 ) = ( C 1 ∨ C 2 ) Consider an assignment τ s.t. τ ( ¬ x ∨ C 2 ) = 0 and τ ( C 1 ) = 1. MaxSAT Resolution rule [Bonet et al, 07] Although sound and complete for MaxSAT solving, is not suitable for preprocessing. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 23

  63. Summary of Direct Reconstruction Techniques that work ◮ plain-MUS: any clause elimination, BCP. ◮ group-MUS: MUS-preserving (sp. monotone) clause elimination. ◮ MaxSAT: MUS-preserving (sp. monotone) clause elimination. Techniques that break ◮ plain-MUS: VE, SSR ◮ group-MUS: SUB, BCP, VE, SSR ◮ MaxSAT: SUB, BCP, VE, SSR A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 24

  64. Summary of Direct Reconstruction Techniques that work ◮ plain-MUS: any clause elimination, BCP. ◮ group-MUS: MUS-preserving (sp. monotone) clause elimination. ◮ MaxSAT: MUS-preserving (sp. monotone) clause elimination. Techniques that break ◮ plain-MUS: VE, SSR ◮ group-MUS: SUB, BCP, VE, SSR ◮ MaxSAT: SUB, BCP, VE, SSR Important: not known that sound direct methods are impossible . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 24

  65. Summary of Direct Reconstruction Techniques that work ◮ plain-MUS: any clause elimination, BCP. ◮ group-MUS: MUS-preserving (sp. monotone) clause elimination. ◮ MaxSAT: MUS-preserving (sp. monotone) clause elimination. Techniques that break ◮ plain-MUS: VE, SSR ◮ group-MUS: SUB, BCP, VE, SSR ◮ MaxSAT: SUB, BCP, VE, SSR Important: not known that sound direct methods are impossible . Note: Some special cases do work: ◮ group-MUS: within groups, or from group-0 to other groups. ◮ MaxSAT: within F H , or from F H to soft clauses. Need a generic framework for guaranteed correctness-preserving application of preprocessing techniques. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 24

  66. Outline Introduction: MUSes, MaxSAT, SAT preprocessing Direct reconstruction: techniques that work Direct reconstruction: techniques that break Sound preprocessing in Labelled CNF framework A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 25

  67. Labelled CNF (LCNF) formulas Original motivation: generalize group-MUS to intersecting groups Note: those arise naturally in circuit-MUS and variable-MUS settings. Note: generalizes other related problems, such as MCS computation and MaxSAT. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 26

  68. Labelled CNF (LCNF) formulas Original motivation: generalize group-MUS to intersecting groups Note: those arise naturally in circuit-MUS and variable-MUS settings. Note: generalizes other related problems, such as MCS computation and MaxSAT. The components of the framework ◮ Lbls : a countable set of labels . ◮ Labelled clause C L is a tuple � C , L � , where C is a clause, and L ⊂ Lbls is a finite set of labels. ◮ LCNF formula Φ is a set of labelled clauses. - Cls (Φ) - the “normal” clauses of Φ, i.e. � C L ∈ Φ C . - Lbls (Φ) - the labels of Φ, i.e. � C L ∈ Φ L . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 26

  69. Labelled CNF (LCNF) formulas Original motivation: generalize group-MUS to intersecting groups Note: those arise naturally in circuit-MUS and variable-MUS settings. Note: generalizes other related problems, such as MCS computation and MaxSAT. The components of the framework ◮ Lbls : a countable set of labels . ◮ Labelled clause C L is a tuple � C , L � , where C is a clause, and L ⊂ Lbls is a finite set of labels. ◮ LCNF formula Φ is a set of labelled clauses. - Cls (Φ) - the “normal” clauses of Φ, i.e. � C L ∈ Φ C . - Lbls (Φ) - the labels of Φ, i.e. � C L ∈ Φ L . Example ( Lbls = N ): ( x ) ∅ ( y ) ∅ ( z ∨ p ∨ q ) { 1 } ( p ∨ ¬ q ) { 2 } ( ¬ p ∨ q ) { 2 , 3 } ( ¬ p ∨ ¬ q ) { 3 } Φ A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 26

  70. LCNF formulas: induced subformulas Def: For an LCNF Φ, let M ⊆ Lbls (Φ). Then, Φ | M = { C L ∈ Φ | L ⊆ M } is a subformula of Φ induced by M . Alternatively: any clause that has a label outside of M is removed from Φ. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 27

  71. LCNF formulas: induced subformulas Def: For an LCNF Φ, let M ⊆ Lbls (Φ). Then, Φ | M = { C L ∈ Φ | L ⊆ M } is a subformula of Φ induced by M . Alternatively: any clause that has a label outside of M is removed from Φ. ( x ) ∅ ( y ) ∅ ( z ∨ p ∨ q ) { 1 } ( p ∨ ¬ q ) { 2 } ( ¬ p ∨ q ) { 2 , 3 } ( ¬ p ∨ ¬ q ) { 3 } Φ Φ | { 1 , 2 } ( x ) ∅ ( y ) ∅ ( z ∨ p ∨ q ) { 1 } ( p ∨ ¬ q ) { 2 } ( ¬ p ∨ q ) { 2 , 3 } ( ¬ p ∨ ¬ q ) { 3 } Φ | { 2 } ( x ) ∅ ( y ) ∅ ( z ∨ p ∨ q ) { 1 } ( p ∨ ¬ q ) { 2 } ( ¬ p ∨ q ) { 2 , 3 } ( ¬ p ∨ ¬ q ) { 3 } A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 27

  72. LCNF formulas: induced subformulas Def: For an LCNF Φ, let M ⊆ Lbls (Φ). Then, Φ | M = { C L ∈ Φ | L ⊆ M } is a subformula of Φ induced by M . Alternatively: any clause that has a label outside of M is removed from Φ. ( x ) ∅ ( y ) ∅ ( z ∨ p ∨ q ) { 1 } ( p ∨ ¬ q ) { 2 } ( ¬ p ∨ q ) { 2 , 3 } ( ¬ p ∨ ¬ q ) { 3 } Φ Φ | { 1 , 2 } ( x ) ∅ ( y ) ∅ ( z ∨ p ∨ q ) { 1 } ( p ∨ ¬ q ) { 2 } ( ¬ p ∨ q ) { 2 , 3 } ( ¬ p ∨ ¬ q ) { 3 } Φ | { 2 } ( x ) ∅ ( y ) ∅ ( z ∨ p ∨ q ) { 1 } ( p ∨ ¬ q ) { 2 } ( ¬ p ∨ q ) { 2 , 3 } ( ¬ p ∨ ¬ q ) { 3 } Note: Clauses with the label-set ∅ cannot be removed ⇒ a convenient way to represents G 0 clauses in group-MUS, or F H in MaxSAT. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 27

  73. LCNF formulas: minimal unsatisfiability and MUSes Satisfiability: LCNF Φ is SAT iff Cls (Φ) is SAT. Def: M ⊆ Lbls (Φ) is an minimal unsatisfiable subformula (MUS) of Φ if Φ | M ∈ UNSAT, and ∀ l ∈ M , Φ | M \{ l } ∈ SAT I.e. the removal of any label from Φ | M makes it SAT. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 28

  74. LCNF formulas: minimal unsatisfiability and MUSes Satisfiability: LCNF Φ is SAT iff Cls (Φ) is SAT. Def: M ⊆ Lbls (Φ) is an minimal unsatisfiable subformula (MUS) of Φ if Φ | M ∈ UNSAT, and ∀ l ∈ M , Φ | M \{ l } ∈ SAT I.e. the removal of any label from Φ | M makes it SAT. Natural mapping between CNF/group-CNF and LCNF: C 1 C 2 C 3 C 4 C 5 C 6 ( p ) ( q ) ( ¬ p ∨ ¬ q ) ( ¬ p ∨ r ) ( p ∨ q ) ( ¬ q ∨ ¬ r ) MUS is { C 1 , C 2 , C 4 , C 6 } ( p ) { 1 } ( q ) { 2 } ( ¬ p ∨ ¬ q ) { 3 } ( ¬ p ∨ r ) { 4 } ( p ∨ q ) { 5 } ( ¬ q ∨ ¬ r ) { 6 } Φ LMUS is { 1 , 2 , 4 , 6 } A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 28

  75. LCNF formulas: minimal unsatisfiability and MUSes Satisfiability: LCNF Φ is SAT iff Cls (Φ) is SAT. Def: M ⊆ Lbls (Φ) is an minimal unsatisfiable subformula (MUS) of Φ if Φ | M ∈ UNSAT, and ∀ l ∈ M , Φ | M \{ l } ∈ SAT I.e. the removal of any label from Φ | M makes it SAT. Natural mapping between CNF/group-CNF and LCNF: G 0 G 1 G 2 ( p ) ( q ) ( ¬ p ∨ ¬ q ) ( ¬ p ∨ r ) ( p ∨ q ) ( ¬ q ∨ ¬ r ) group-MUS is { G 1 } ( p ) ∅ ( q ) ∅ ( ¬ p ∨ ¬ q ) { 1 } ( ¬ p ∨ r ) { 1 } ( p ∨ q ) { 2 } ( ¬ q ∨ ¬ r ) { 2 } Φ LMUS is { 1 } A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 28

  76. LCNF formulas: MCSes and MaxSAT Def: S ⊆ Lbls (Φ) is a maximal satisfiable subformula (MSS) of Φ if Φ | S ∈ SAT, and ∀ l ∈ Lbls (Φ) \ S , Φ | S ∪{ l } ∈ UNSAT. Def: R ⊆ Lbls (Φ) is a minimal correction subset (MCS) of Φ if Φ | Lbls (Φ) \ R ∈ SAT, and ∀ l ∈ R , Φ | ( Lbls (Φ) \ R ) ∪{ l } ∈ UNSAT. Note: hitting sets duality between MUSes and MCSes holds for LCNFs. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 29

  77. LCNF formulas: MCSes and MaxSAT Def: S ⊆ Lbls (Φ) is a maximal satisfiable subformula (MSS) of Φ if Φ | S ∈ SAT, and ∀ l ∈ Lbls (Φ) \ S , Φ | S ∪{ l } ∈ UNSAT. Def: R ⊆ Lbls (Φ) is a minimal correction subset (MCS) of Φ if Φ | Lbls (Φ) \ R ∈ SAT, and ∀ l ∈ R , Φ | ( Lbls (Φ) \ R ) ∪{ l } ∈ UNSAT. Note: hitting sets duality between MUSes and MCSes holds for LCNFs. MaxSAT for LCNFs: ◮ each label l has a weight w ( l ) ∈ N + ; ◮ the cost of a set of labels L is � l ∈ L w ( l ). ◮ weighted LCNF: just an LCNF + the weights for labels. ◮ a MaxSAT solution for Φ is a model of an MSS of the maximum cost . Alternatively: falsifies only the clauses of an MCS of the minimum cost . A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 29

  78. LCNF formulas: MCSes and MaxSAT Def: S ⊆ Lbls (Φ) is a maximal satisfiable subformula (MSS) of Φ if Φ | S ∈ SAT, and ∀ l ∈ Lbls (Φ) \ S , Φ | S ∪{ l } ∈ UNSAT. Def: R ⊆ Lbls (Φ) is a minimal correction subset (MCS) of Φ if Φ | Lbls (Φ) \ R ∈ SAT, and ∀ l ∈ R , Φ | ( Lbls (Φ) \ R ) ∪{ l } ∈ UNSAT. Note: hitting sets duality between MUSes and MCSes holds for LCNFs. MaxSAT for LCNFs: ◮ each label l has a weight w ( l ) ∈ N + ; ◮ the cost of a set of labels L is � l ∈ L w ( l ). ◮ weighted LCNF: just an LCNF + the weights for labels. ◮ a MaxSAT solution for Φ is a model of an MSS of the maximum cost . Alternatively: falsifies only the clauses of an MCS of the minimum cost . Note: a natural mapping between MaxSAT instances and weighted LCNFs. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 29

  79. LCNF formulas: preprocessing Main point: For LCNF formulas MUSes and MCSes are preserved under a (suitably defined) preprocessing techniques. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 30

  80. LCNF formulas: preprocessing Main point: For LCNF formulas MUSes and MCSes are preserved under a (suitably defined) preprocessing techniques. Subsumption elimination Theorem: Let C L 1 and C L 2 in Φ be such that C 1 ⊆ C 2 and L 1 ⊆ L 2 . Then, 1 2 any MUS of Φ \ { C L 2 2 } is an MUS of Φ, and vice versa. Note: by hitting sets duality, MCS(Φ \ { C L 2 2 } ) = MCS(Φ). Any MaxSAT solution τ for Φ \ { C L 2 2 } is a MaxSAT solution for Φ. A. Belov Preprocessing for MUSes and MaxSAT EPCL Training Camp, 2013 # 30

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend