~/talk

Frying the Egg, Roasting the Chicken: Unit Deletions in DRAT Proofs

Talkat CPP 2020 · 2020-01-20..01-21· [compilers-and-language-design]
links:none on file
slides:none on file

Finds that many DRAT proofs rely on spurious unit deletions: CDCL solvers (e.g. MiniSat-style solver-remove-satisfied) emit deletions that keep propagated literals alive, so operational checkers ignore them while the formal DRAT specification does not. Empirically about 60% (rising to 77% incorrect) of competition proofs are correct for the operational checkers but invalid per the spec. Fixes: avoid those deletions in solvers, implement a specified DRAT checker with trail pre‑processing and core‑first propagation to match performance, and produce three-valued semantics witness certificates to certify incorrect inferences.

AI-written summary · about

  1. 0:00Introduction
  2. 0:30General Pipeline
  3. 2:28Unit Classes
  4. 4:56Practical Issues
  5. 7:45Sat Solvers
  6. 11:15Red checkers
  7. 13:26DRAT certificates
  8. 15:43Conclusion
  9. 16:58Questions
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.