Justifying All Differences Using Pseudo-Boolean Reasoning

From International Center for Computational Logic

Justifying All Differences Using Pseudo-Boolean Reasoning

Talk by Stephan Gocht
  • Location: APB 2028
  • Start: 17. December 2019 at 3:00 pm
  • End: 17. December 2019 at 4:00 pm
  • iCal
Constraint programming solvers support rich global constraints and propagators, which make them both powerful and hard to debug. In the Boolean satisfiability community, prooflogging is the standard solution for generating trustworthy outputs, and this has become key to the social acceptability of computer-generated proofs. However, reusing this technology for constraint programming requires either much weaker propagation, or an impractical blowup in proof length. This paper demonstrates that simple, clean, and efficient proof logging is still possible for the all-different constraint, through pseudo-Boolean reasoning. We explain how such proofs can be expressed and verified mechanistically, describe an implementation, and discuss the broader implications for proof logging in constraint programming.