~/talk

Refinement Types from Light to Deep Verification

Talkat PLMW @ POPL 2024 · on Wednesday, 2024-01-17· [compilers-and-language-design]
slides:none on file

Shows a working Liquid Haskell plugin integrated with GHC that uses SMT-backed refinement types to prove light properties like safe indexing and no-division-by-zero automatically, and manual proofs (right identity, associativity, distributivity of reverse+append) via proof combinators, PLVE (proof by logical evaluation), and a rewrite-with tactic. Demonstrates a 10K-line mechanized proof encoding progress/preservation (soundness) of the model, notes good error messages for light checks, brittle messages for deep proofs, and remaining trusted-code-base soundness bugs.

AI-written summary · about

  1. 0:00Refinement types intro
  2. 1:25Safe indexing with refinements
  3. 4:17Division by zero prevention
  4. 7:28Refinements vs dependent types
  5. 11:50Deep verification with Liquid Haskell
  6. 15:50Proof by logical evaluation
  7. 20:54Proving reverse and append
  8. 29:13Core principles of Liquid Haskell
  9. 33:00Refinement types expressiveness
  10. 36:33Soundness of refinement systems
  11. 39:25Soundness bugs and TCB
  12. 42:16Future of refinement types
~/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.