~/talk

Merging Inductive Relations

Talkat PLDI 2023 · 2023-06-17..06-21· [compilers-and-language-design]
links:none on file
slides:none on file

Algorithm takes two inductive relations over the same data type and produces a single relation provably equivalent to their conjunction by constructor-pair unification, substitution, and rewriting that eliminates duplicated constraints so constructors become recursive in the merged relation. Applied to BST and balance it yields an AVL relation that QuickChick uses to generate orders-of-magnitude larger trees than naïve filter-based generation; handles trickier cases (less-than-between) by detecting non-changing indices and adds derived constructors; implementation emits soundness/completeness proofs and ships in QuickChick 2.0.

AI-written summary · about

  1. 0:00Merging inductive relations
  2. 2:33Inductive relations for testing
  3. 4:18Composing inductive relations
  4. 6:02Merging algorithm
  5. 9:13BST and Bal results
  6. 10:17Less-than relations merge
  7. 12:50Other merges and proofs
  8. 13:10QuickChick 2.0
  9. 13:39Q&A
~/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.