~/talk

Mechanized monadic equational reasoning for ML references

Talkat HOPE 2024 · on Monday, 2024-09-02· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
slides:none on file

Extends a Coq mechanization by adding a typed store monad and a bespoke equational theory for ML references, implemented on top of the Mona library and a state-monad-transformer over option. An OCaml→Coq experimental compiler generates the examples. Introduces C_check and CR run operations, proves core laws and small proofs (cycle equality under reference creation in under ~10 lines, generalization ~16 lines), and exposes remaining gaps: freshness/GC equations are not validated by the chosen model.

AI-written summary · about

  1. 0:00Introduction
  2. 1:05ML type translation and monads
  3. 3:36Mona library
  4. 6:09Store monad for ML refs
  5. 8:48State transformers model
  6. 13:03Laws for ref operations
  7. 18:04Commuting operations
  8. 20:12Cyclic references proof
  9. 23:23CR run for equivalence
  10. 24:47Related work & conclusion
  11. 26:17Q&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.