On-The-Fly Resolve Trace Minimization Ohad Shacham and Karen Yorav IBM Haifa Research Laboratory
Overview SAT basics Proof of unsatisfiability Why is it important? The problem Our solution Experimental results Conclusion
SAT Basics Question : Satisfiable? Resolution : Solution : DPLL-based SAT solvers (a    b) (¬b    c    d) (¬c    e) (¬e    g) (¬c    ¬g) (c    h) (¬c    d) (a    c    d) (a     b )  ( ¬b     c    d) ( ¬c     d) (a    d) Disclaimer: Extremely simplified presentation… (¬c    d) (¬b    c    d) (a    b)  (a     c     d) Conflict clause Resolve sources
Clause Deletion Conflict clauses help the SAT solver in finding a solution  Too many clauses degrade the solver’s performance The SAT solver periodically stops the search and heuristically deletes conflict clauses
Resolution Graph Empty Clause 1 2 9 3 4 10 5 6 11 13 12 7 8 14 Conflict Clause Original Clause
Proof of Unsatisfiability Empty Clause 1 2 9 3 4 10 5 6 11 13 12 7 8 14 Conflict Clause Original Clause
Motivation Unsat core and proof of unsatisfiability are used in many applications: EDA Abstraction refinement McMillan’s interpolation-based model checking SAT solver decision heuristics ... Other domains AI FPGA routing …
Resolve Trace The resolution graph is needed to generate the proof of unsatisfiability For each conflict clause we keep the list of  resolve sources The set of all lists of resolve sources is called a  resolve trace   SAT solvers generate a huge number of conflict clauses
Databases Two different databases for clauses and resolve sources Clause DB – maintains clause related information Resolve Sources DB – maintains resolve sources information Clause DB Resolve Sources DB 1. (a    b)  2. (¬b    c    e)  3. (¬b    c)  4. (a    c    e)  5. (a    c)  . . . . . 100. (a    d)  4 <- 1, 2 5 <- 1, 3 97 <- 4, 7, 6, 18, 53 98 <- 41, 79, 2, 33, 14 99 <- 9, 77, 1 . . . . . 100 <- 1, 3, 96
The Resolve Trace Problem Only a fraction of conflict clauses are eventually needed for the proof of unsatisfiability But it is impossible to predict which! Even though conflict clauses are deleted, they may still appear in the proof  resolve sources of deleted clauses are maintained Resolve traces run up to GBs of memory Quota problems Aggravated by parallel execution of SAT solvers (common in formal verification)
Proof Of Unsatisfiability 1 2 9 3 4 10 5 6 11 13 12 7 8 14 Empty Clause Deleted Clause Conflict Clause Original Clause
Our Solution Identify clauses, during the SAT solver’s run, that  will not take  part in the proof of unsatisfiability and delete their corresponding resolve sources
Redundant Resolve Sources Redundant clause Redundant resolve sources 1 2 9 3 4 10 5 6 11 13 12 7 8 14 Conflict Clause Original Clause
Observation If none of the descendants of a clause are in the proof,  then the clause itself is not in the proof either c descendants of c
Redundant Resolve Sources 1 2 9 3 4 10 5 6 11 13 12 7 8 14 15 Deleted Clause Conflict Clause Original Clause
Required Additions Maintain the resolve trace in main memory CC field for each conflict clause representing the number of direct children  1 CC 2  0 3 CC  1 2 CC  0 0 4 CC  0
Required actions After learning a conflict clause Increment CC field of the resolve sources of the newly created conflict clause After clause deletion Remove resolve sources of deleted clause with CC=0 Decrement CC field of the removed resolve sources
Running Example 1 2 3 4 5 6 7 8 0 0 1 0 2 0 9 CC  2 0 1 0 11 CC  1 12 CC  0 10 CC  0 1 0 9 CC  Conflict Clause Original Clause Id cnt Id Cnt Deleted Clause ID CC ID CC 10 CC  11 CC  12 CC  13 CC  14 CC
Implementation Mage SAT solver  Mage is integrated in IBM’s RuleBase Parallel Edition SAT-based Model Checkers: Bounded model checker Proof based abstraction refinement McMillan’s interpolation
Experimental Results
Experimental Results
Conclusion Technique for identification and deletion of redundant resolve sources during a SAT solver’s run Saves hundreds of MB when applied to SAT-based model checking of real life design Ease integration of Incremental SAT  Simple and easy to implement

More Related Content

PPTX
JEEConf 2017 - How to find deadlock not getting into it
PPTX
System verilog assertions
PPTX
Symbolic Execution And KLEE
ODP
Klee introduction
PDF
(SAC2020 SVT-2) Constrained Detecting Arrays for Fault Localization in Combin...
PPTX
DIGI PACK PHOTOSHOOT
PPTX
Financelab club | Social meets mobile, key driver for innovation in the finan...
PPS
Cursos para Docentes_UCSF
JEEConf 2017 - How to find deadlock not getting into it
System verilog assertions
Symbolic Execution And KLEE
Klee introduction
(SAC2020 SVT-2) Constrained Detecting Arrays for Fault Localization in Combin...
DIGI PACK PHOTOSHOOT
Financelab club | Social meets mobile, key driver for innovation in the finan...
Cursos para Docentes_UCSF

Similar to Dac07 (20)

PDF
combat unacademy.pdf
PDF
DO-178C OOT supplement: A user's perspective
PPTX
Resolving Inconsistencies and Redundancies in Declarative Process Models
PDF
Programming with Relaxed Synchronization
PPTX
Blinkdb
PPT
OOUG - Oracle Performance Tuning with AAS
PDF
Heuristic design of experiments w meta gradient search
PPT
bluespec talk
PPT
Bounded Model Checking
DOC
Oracle11g(1z0 050) v100612[1]
PDF
Ph.D Defense Clément Béra
PDF
Multiple Choice Questions on JAVA (object oriented programming) bank 4 -- loops
DOCX
GSP 125 Entire Course NEW
PPTX
PVS-Studio. Static code analyzer. Windows/Linux, C/C++/C#. 2017
PPT
Stephan berg track f
PPTX
Synchronization in os.pptx
PDF
MATLAB Questions and Answers.pdf
PPTX
Repair dagstuhl jan2017
PDF
1z0 808[1]
PDF
Checkpoint.Premium.156-315.80.by.VCEplus.471q.pdf
combat unacademy.pdf
DO-178C OOT supplement: A user's perspective
Resolving Inconsistencies and Redundancies in Declarative Process Models
Programming with Relaxed Synchronization
Blinkdb
OOUG - Oracle Performance Tuning with AAS
Heuristic design of experiments w meta gradient search
bluespec talk
Bounded Model Checking
Oracle11g(1z0 050) v100612[1]
Ph.D Defense Clément Béra
Multiple Choice Questions on JAVA (object oriented programming) bank 4 -- loops
GSP 125 Entire Course NEW
PVS-Studio. Static code analyzer. Windows/Linux, C/C++/C#. 2017
Stephan berg track f
Synchronization in os.pptx
MATLAB Questions and Answers.pdf
Repair dagstuhl jan2017
1z0 808[1]
Checkpoint.Premium.156-315.80.by.VCEplus.471q.pdf
Ad

Recently uploaded (20)

PDF
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Getting started with AI Agents and Multi-Agent Systems
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
A review of recent deep learning applications in wood surface defect identifi...
PPTX
Custom Battery Pack Design Considerations for Performance and Safety
PPTX
Build Your First AI Agent with UiPath.pptx
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
sustainability-14-14877-v2.pddhzftheheeeee
PDF
Credit Without Borders: AI and Financial Inclusion in Bangladesh
PDF
OpenACC and Open Hackathons Monthly Highlights July 2025
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
The influence of sentiment analysis in enhancing early warning system model f...
PPTX
Modernising the Digital Integration Hub
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
2018-HIPAA-Renewal-Training for executives
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
PDF
Architecture types and enterprise applications.pdf
“A New Era of 3D Sensing: Transforming Industries and Creating Opportunities,...
1 - Historical Antecedents, Social Consideration.pdf
Getting started with AI Agents and Multi-Agent Systems
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
A review of recent deep learning applications in wood surface defect identifi...
Custom Battery Pack Design Considerations for Performance and Safety
Build Your First AI Agent with UiPath.pptx
Zenith AI: Advanced Artificial Intelligence
sustainability-14-14877-v2.pddhzftheheeeee
Credit Without Borders: AI and Financial Inclusion in Bangladesh
OpenACC and Open Hackathons Monthly Highlights July 2025
A contest of sentiment analysis: k-nearest neighbor versus neural network
The influence of sentiment analysis in enhancing early warning system model f...
Modernising the Digital Integration Hub
Developing a website for English-speaking practice to English as a foreign la...
2018-HIPAA-Renewal-Training for executives
Convolutional neural network based encoder-decoder for efficient real-time ob...
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
How IoT Sensor Integration in 2025 is Transforming Industries Worldwide
Architecture types and enterprise applications.pdf
Ad

Dac07

  • 1. On-The-Fly Resolve Trace Minimization Ohad Shacham and Karen Yorav IBM Haifa Research Laboratory
  • 2. Overview SAT basics Proof of unsatisfiability Why is it important? The problem Our solution Experimental results Conclusion
  • 3. SAT Basics Question : Satisfiable? Resolution : Solution : DPLL-based SAT solvers (a  b) (¬b  c  d) (¬c  e) (¬e  g) (¬c  ¬g) (c  h) (¬c  d) (a  c  d) (a  b ) ( ¬b  c  d) ( ¬c  d) (a  d) Disclaimer: Extremely simplified presentation… (¬c  d) (¬b  c  d) (a  b) (a  c  d) Conflict clause Resolve sources
  • 4. Clause Deletion Conflict clauses help the SAT solver in finding a solution Too many clauses degrade the solver’s performance The SAT solver periodically stops the search and heuristically deletes conflict clauses
  • 5. Resolution Graph Empty Clause 1 2 9 3 4 10 5 6 11 13 12 7 8 14 Conflict Clause Original Clause
  • 6. Proof of Unsatisfiability Empty Clause 1 2 9 3 4 10 5 6 11 13 12 7 8 14 Conflict Clause Original Clause
  • 7. Motivation Unsat core and proof of unsatisfiability are used in many applications: EDA Abstraction refinement McMillan’s interpolation-based model checking SAT solver decision heuristics ... Other domains AI FPGA routing …
  • 8. Resolve Trace The resolution graph is needed to generate the proof of unsatisfiability For each conflict clause we keep the list of resolve sources The set of all lists of resolve sources is called a resolve trace SAT solvers generate a huge number of conflict clauses
  • 9. Databases Two different databases for clauses and resolve sources Clause DB – maintains clause related information Resolve Sources DB – maintains resolve sources information Clause DB Resolve Sources DB 1. (a  b) 2. (¬b  c  e) 3. (¬b  c) 4. (a  c  e) 5. (a  c) . . . . . 100. (a  d) 4 <- 1, 2 5 <- 1, 3 97 <- 4, 7, 6, 18, 53 98 <- 41, 79, 2, 33, 14 99 <- 9, 77, 1 . . . . . 100 <- 1, 3, 96
  • 10. The Resolve Trace Problem Only a fraction of conflict clauses are eventually needed for the proof of unsatisfiability But it is impossible to predict which! Even though conflict clauses are deleted, they may still appear in the proof  resolve sources of deleted clauses are maintained Resolve traces run up to GBs of memory Quota problems Aggravated by parallel execution of SAT solvers (common in formal verification)
  • 11. Proof Of Unsatisfiability 1 2 9 3 4 10 5 6 11 13 12 7 8 14 Empty Clause Deleted Clause Conflict Clause Original Clause
  • 12. Our Solution Identify clauses, during the SAT solver’s run, that will not take part in the proof of unsatisfiability and delete their corresponding resolve sources
  • 13. Redundant Resolve Sources Redundant clause Redundant resolve sources 1 2 9 3 4 10 5 6 11 13 12 7 8 14 Conflict Clause Original Clause
  • 14. Observation If none of the descendants of a clause are in the proof, then the clause itself is not in the proof either c descendants of c
  • 15. Redundant Resolve Sources 1 2 9 3 4 10 5 6 11 13 12 7 8 14 15 Deleted Clause Conflict Clause Original Clause
  • 16. Required Additions Maintain the resolve trace in main memory CC field for each conflict clause representing the number of direct children 1 CC 2 0 3 CC 1 2 CC 0 0 4 CC 0
  • 17. Required actions After learning a conflict clause Increment CC field of the resolve sources of the newly created conflict clause After clause deletion Remove resolve sources of deleted clause with CC=0 Decrement CC field of the removed resolve sources
  • 18. Running Example 1 2 3 4 5 6 7 8 0 0 1 0 2 0 9 CC 2 0 1 0 11 CC 1 12 CC 0 10 CC 0 1 0 9 CC Conflict Clause Original Clause Id cnt Id Cnt Deleted Clause ID CC ID CC 10 CC 11 CC 12 CC 13 CC 14 CC
  • 19. Implementation Mage SAT solver Mage is integrated in IBM’s RuleBase Parallel Edition SAT-based Model Checkers: Bounded model checker Proof based abstraction refinement McMillan’s interpolation
  • 22. Conclusion Technique for identification and deletion of redundant resolve sources during a SAT solver’s run Saves hundreds of MB when applied to SAT-based model checking of real life design Ease integration of Incremental SAT Simple and easy to implement