~/talk

Satisfiability Modulo Custom Theories in Z3 (Tool Paper)

Talkat VMCAI 2023 · 2023-01-15..01-17· [compilers-and-language-design]
links:none on file
links:none on file
slides:none on file

Z3 adds user-propagators: an API to register ground terms and attach callbacks (fixed, equality, instantiate, final) written in C++/Python that can emit lemmas, conflicts or branching hints back to Z3. It replaces eager quantifier axioms for many domains and speeds tasks dramatically — 60-queens propositional solve drops from ~2s/128MB to 60ms/90MB; minimal sorting-network synthesis shows 44h vs 150h. Works best for Booleans/BitVectors, currently limited for integers/strings, and proof generation remains unresolved.

AI-written summary · about

  1. 0:00Start
  2. 0:30SMT solvers
  3. 4:51Q: How does it work?
  4. 6:29Q: How can the callbacks interfere?
  5. 12:50Conflict Driven Lazy Encoding
  6. 13:50Custom Heuristics
  7. 16:31Quantifier Instantiation: Sorting Networks
  8. 20:10Lazy Axiom Instantiation - A CS Flavoured Motivation
  9. 20:56Lazy Axiom Instantiation - Generalization for Program Verification
~/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.