SlideShare a Scribd company logo
Fuzzing and Verifying RAT Refutations with Deletion Information
Walter Forkel, Tobias Philipp, Adri´an Rebola-Pardo, Elias Werner
Introduction
SAT solvers are common tools in the industry
Unfortunately, SAT solvers contain bugs
DRAT format is the de facto standard for emitting unsatisfiable proofs
F SAT solver
SAT
UNSAT, P checker
Single Point of Failure
Are there any unknown bugs in the checker ?
Background
Tautological clause: clause containing A and ¬A for some variable A
Resolvent of C, D with A ∈ C and ¬A ∈ D is (C  {A}) ∪ (D  {¬A})
Asymmetric Tautology (AT)
Asymmetric Literal Addition (ALA):
alaF (C) = C ∪ {L | L1, ..., Ln, L ∈ F and Li ∈ C for all 1 ≤ i ≤ n}
C is an AT wrt F if there is n ∈ N such that alaF (C) ↑ n is a tautology
Resolution Asymmetric Tautology (RAT)
C is a RAT upon literal L wrt the formula F if
1. C is an AT wrt the formula F, or
2. L ∈ C, and all resolvents of C with any D ∈ F upon L are AT wrt F
DRAT Refutation
Finite sequence of addition and deletion instructions to the empty clause
Each added clause is a RAT wrt the preceding clauses
Our Approach: Fuzzing DRAT Refutations and Check Against a Fully Mechanically Verified Checker
1 2 3 4 5
random formula
generation
SAT solver
checkers
classify P
Verified Checker in Coq
modifier
checkers
classify P
Verified Checker in Coq
F unsatisfiable
proof P
F satisfiable
F all
accept P
inconsistent
P
inconsistent
all reject P
Example
F =
{p, q}
{p, q}
{p, q}
{p, q}
P =
a {¬r} RAT upon ¬r
a {r, p} AT
a {r} AT
d {p, q} deletion
d {¬p, q} deletion
d {p, ¬q} deletion
d {¬p, ¬q} deletion
d {} AT
drat-trim and drat-fc
classify P as accepted
add r to the first clause
P =
a {¬r, r} RAT upon ¬r
a {r, p} AT
a {r} AT
d {p, q} deletion
d {¬p, q} deletion
d {p, ¬q} deletion
d {¬p, ¬q} deletion
d {} AT
drat-trim rejects P
drat-fc accepts P
Our verified checker also
accepts P
Found a bug in drat-trim
Results
Formulas: 2900 clauses, 800 variables on average
Resulting proofs: 2100 steps on average
drat-trim rejects DRAT refutations containing tautological clauses
proofcheck rejects DRAT refutations in which unit clauses are deleted
DRAT emission procedure in the SAT solver minisat constructs
unexpected DRAT refutations of the form (a {})(d C)(a {})
Conclusion
DRAT checkers proofcheck and drat-trim contain bugs
New fuzzing technique that automatically finds bugs in checkers
Our verified DRAT checker is complete
Future Work: adapt the checker and fuzzing procedure to other proof
formats
Code available at github.com/drat-tools
Acknowledgement: This work was supported by RiSE, LogiCS and WWTF grant VRG11-005
FLAIRS 30

More Related Content

PPTX
Compiler: Syntax Analysis
PPT
Ll(1) Parser in Compilers
DOC
Pcd(Mca)
PPTX
MSc_thesis
PPT
Propositional logic for Beginners
PPTX
First and follow set
PPTX
Lecture 07 08 syntax analysis-4
PPT
Lecture 05 syntax analysis 2
Compiler: Syntax Analysis
Ll(1) Parser in Compilers
Pcd(Mca)
MSc_thesis
Propositional logic for Beginners
First and follow set
Lecture 07 08 syntax analysis-4
Lecture 05 syntax analysis 2

What's hot (20)

PPTX
LL(1) parsing
PPT
Chapter Five(2)
PDF
Time series forecasting with ARIMA
PPTX
Push down automata
PPTX
Complete and Interpretable Conformance Checking of Business Processes
PPSX
ω Automaton
PPTX
Incremental and Interactive Process Model Repair
PPTX
Context free grammar
PDF
Topdown parsing
PPTX
Simplification of cfg ppt
PDF
Linear logic (and Linear Lisp)
PPTX
PUSH DOWN AUTOMATA VS TURING MACHINE
PPT
Lecture 03 lexical analysis
PPTX
Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)
PDF
Generazione Automatica di Test - S. Vuotto (Università di Sassari)
PPTX
Push down automata
PPTX
push down automata
PPTX
Polish Notation In Data Structure
LL(1) parsing
Chapter Five(2)
Time series forecasting with ARIMA
Push down automata
Complete and Interpretable Conformance Checking of Business Processes
ω Automaton
Incremental and Interactive Process Model Repair
Context free grammar
Topdown parsing
Simplification of cfg ppt
Linear logic (and Linear Lisp)
PUSH DOWN AUTOMATA VS TURING MACHINE
Lecture 03 lexical analysis
Finite Automata: Deterministic And Non-deterministic Finite Automaton (DFA)
Generazione Automatica di Test - S. Vuotto (Università di Sassari)
Push down automata
push down automata
Polish Notation In Data Structure
Ad

Similar to Fuzzing and Verifying RAT Refutations with Deletion Information (11)

PDF
Cerutti -- TAFA2013
PPT
Arima model (time series)
PDF
TMPA-2017: The Quest for Average Response Time
PPTX
Presentation1
DOCX
Discrete mathematics
PDF
Consistency proof of a feasible arithmetic inside a bounded arithmetic
PPT
PDF
PDF
A SCC Recursive Meta-Algorithm for Computing Preferred Labellings in Abstract...
DOCX
Logic worksheet
PPT
4. symbolic logic
Cerutti -- TAFA2013
Arima model (time series)
TMPA-2017: The Quest for Average Response Time
Presentation1
Discrete mathematics
Consistency proof of a feasible arithmetic inside a bounded arithmetic
A SCC Recursive Meta-Algorithm for Computing Preferred Labellings in Abstract...
Logic worksheet
4. symbolic logic
Ad

More from Tobias Philipp (9)

PDF
An Expressive Model for Instance Decomposition Based Parallel SAT Solvers
PDF
Unsatisfiability Proofs for Parallel SAT Solver Portfolios with Clause Sharin...
PDF
A Verified Decision Procedure for Pseudo-Boolean Formulas
PDF
PBLib - A Library for Encoding Pseudo-Boolean Constraints into CNF
PDF
The Complexity of Contextual Abduction in Human Reasoning Tasks
PDF
Checking Unsatisfiability Proofs in Parallel
PDF
Anwendungen der Logik in der IT-Sicherheit
PDF
Formal Verification with Ada/SPARK
PDF
Formale Verifikation von Answer Set Programming
An Expressive Model for Instance Decomposition Based Parallel SAT Solvers
Unsatisfiability Proofs for Parallel SAT Solver Portfolios with Clause Sharin...
A Verified Decision Procedure for Pseudo-Boolean Formulas
PBLib - A Library for Encoding Pseudo-Boolean Constraints into CNF
The Complexity of Contextual Abduction in Human Reasoning Tasks
Checking Unsatisfiability Proofs in Parallel
Anwendungen der Logik in der IT-Sicherheit
Formal Verification with Ada/SPARK
Formale Verifikation von Answer Set Programming

Recently uploaded (20)

PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Approach and Philosophy of On baking technology
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Cloud computing and distributed systems.
PDF
Machine learning based COVID-19 study performance prediction
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation theory and applications.pdf
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Electronic commerce courselecture one. Pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Approach and Philosophy of On baking technology
Review of recent advances in non-invasive hemoglobin estimation
Dropbox Q2 2025 Financial Results & Investor Presentation
The Rise and Fall of 3GPP – Time for a Sabbatical?
Chapter 3 Spatial Domain Image Processing.pdf
sap open course for s4hana steps from ECC to s4
Cloud computing and distributed systems.
Machine learning based COVID-19 study performance prediction
20250228 LYD VKU AI Blended-Learning.pptx
The AUB Centre for AI in Media Proposal.docx
Encapsulation theory and applications.pdf
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Unlocking AI with Model Context Protocol (MCP)
Electronic commerce courselecture one. Pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Empathic Computing: Creating Shared Understanding
Digital-Transformation-Roadmap-for-Companies.pptx

Fuzzing and Verifying RAT Refutations with Deletion Information

  • 1. Fuzzing and Verifying RAT Refutations with Deletion Information Walter Forkel, Tobias Philipp, Adri´an Rebola-Pardo, Elias Werner Introduction SAT solvers are common tools in the industry Unfortunately, SAT solvers contain bugs DRAT format is the de facto standard for emitting unsatisfiable proofs F SAT solver SAT UNSAT, P checker Single Point of Failure Are there any unknown bugs in the checker ? Background Tautological clause: clause containing A and ¬A for some variable A Resolvent of C, D with A ∈ C and ¬A ∈ D is (C {A}) ∪ (D {¬A}) Asymmetric Tautology (AT) Asymmetric Literal Addition (ALA): alaF (C) = C ∪ {L | L1, ..., Ln, L ∈ F and Li ∈ C for all 1 ≤ i ≤ n} C is an AT wrt F if there is n ∈ N such that alaF (C) ↑ n is a tautology Resolution Asymmetric Tautology (RAT) C is a RAT upon literal L wrt the formula F if 1. C is an AT wrt the formula F, or 2. L ∈ C, and all resolvents of C with any D ∈ F upon L are AT wrt F DRAT Refutation Finite sequence of addition and deletion instructions to the empty clause Each added clause is a RAT wrt the preceding clauses Our Approach: Fuzzing DRAT Refutations and Check Against a Fully Mechanically Verified Checker 1 2 3 4 5 random formula generation SAT solver checkers classify P Verified Checker in Coq modifier checkers classify P Verified Checker in Coq F unsatisfiable proof P F satisfiable F all accept P inconsistent P inconsistent all reject P Example F = {p, q} {p, q} {p, q} {p, q} P = a {¬r} RAT upon ¬r a {r, p} AT a {r} AT d {p, q} deletion d {¬p, q} deletion d {p, ¬q} deletion d {¬p, ¬q} deletion d {} AT drat-trim and drat-fc classify P as accepted add r to the first clause P = a {¬r, r} RAT upon ¬r a {r, p} AT a {r} AT d {p, q} deletion d {¬p, q} deletion d {p, ¬q} deletion d {¬p, ¬q} deletion d {} AT drat-trim rejects P drat-fc accepts P Our verified checker also accepts P Found a bug in drat-trim Results Formulas: 2900 clauses, 800 variables on average Resulting proofs: 2100 steps on average drat-trim rejects DRAT refutations containing tautological clauses proofcheck rejects DRAT refutations in which unit clauses are deleted DRAT emission procedure in the SAT solver minisat constructs unexpected DRAT refutations of the form (a {})(d C)(a {}) Conclusion DRAT checkers proofcheck and drat-trim contain bugs New fuzzing technique that automatically finds bugs in checkers Our verified DRAT checker is complete Future Work: adapt the checker and fuzzing procedure to other proof formats Code available at github.com/drat-tools Acknowledgement: This work was supported by RiSE, LogiCS and WWTF grant VRG11-005 FLAIRS 30