~/talk

Choice Trees: Representing Nondeterministic, Recursive, and Impure Programs in C...

Talkat POPL 2023 · 2023-01-15..01-21· [compilers-and-language-design]
links:none on file
name:Paul He
links:none on file
links:none on file
links:none on file
slides:none on file

Introduces a coinductive tree datatype and a ctrees monad in Coq that models nondeterminism, recursion, and effects by three node kinds: external events and two distinct nondeterministic branches, and proves fixed‑point support plus a rich equational theory. Provides bisimulation and refinement lemmas, a monad morphism embedding into itrees to reuse itree infrastructure, and two case studies building operational semantics for CCS and cooperative multithreading that mechanize equivalences and show the representation is executable and provably correct.

AI-written summary · about

  1. 0:00Intro
  2. 1:12Modeling Computations in a Proof Assistant
  3. 2:52Notion 1: The Free Monad
  4. 3:31Programs as Trees
  5. 5:13Programs as Stateful Trees
  6. 5:50ITree Second Notion: Capretta's Delay Monad
  7. 6:41Programs as Stateful Potentially Infinite Trees
  8. 7:48A Reusable Library, at Scale
  9. 9:56Nondeterministic Branching: Which Meaning?
  10. 11:29Let's Take the Perspective of an LTS
  11. 14:08Choice Trees
  12. 16:27Bisimulations Over CTrees
  13. 17:59CTrees and Interpretation
  14. 19:27Calculus of Communicating Systems [Milner, 1980]
  15. 20:08Cooperative scheduling
  16. 20:49A New Tool in the Interaction Trees Environment
~/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.