~/talk

Constraint Solvers for the Working PL Researcher

Talkat PLMW @ ICFP 2020 · on Sunday, 2020-08-23
slides:none on file

Demonstrates using Z3 Python bindings to build a small toolchain that does constraint-based declarative execution, verification, and synthesis. Encodes array partitioning into SMT: integer size variables, pairwise |si−sj| ≤ 1 and sum(si)=n, then verifies universally by making n symbolic and finding counterexamples (n=0, n=12 for wrong candidates). Uses CEGIS loop where a synthesizer picks a control C and verifier yields counterexamples, converging to k = n mod p, which verifies for all n.

AI-written summary · about

  1. 0:00Introduction
  2. 2:02Overview
  3. 3:46SAT
  4. 7:39SMG Solvers
  5. 9:10Plan
  6. 10:11Problem
  7. 17:30constrained programming
  8. 18:54program verification
  9. 28:51program selection
  10. 34:10counter example guided synthesis
  11. 35:24summary
~/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.