Choice Trees: Representing Nondeterministic, Recursive, and Impure Programs in Coq
Nicolas Chappe, Paul He, Ludovic Henrio, Yannick Zakowski, Steve Zdancewic
摘要
This paper introduces Choice Trees (CTrees), a monad for modeling nondeterministic, recursive, and impure programs in Coq. Inspired by Xia et al.'s ITrees, this novel data structure embeds computations into coinductive trees with three kind of nodes: external events, and two variants of nondeterministic branching. This apparent redundancy allows us to provide shallow embedding of denotational models with internal choice in the style of ccs, while recovering an inductive LTS view of the computation. CTrees inherit a vast collection of bisimulation and refinement tools, with respect to which we establish a rich equational theory.
We connect CTrees to the ITrees infrastructure by showing how a monad morphism embedding the former into the latter permits to use CTrees to implement nondeterministic effects. We demonstrate the utility of CTrees by using them to model concurrency semantics in two case studies: ccs and cooperative multithreading.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper10
- Stuttering for FreeMinki Cho, Youngju Song, Dongjae Lee, Lennard Gäher 等OOPSLA 2023 · 被引用 11 次
- Fully Composable and Adequate Verified Compilation with Direct Refinements between Open ModulesLing Zhang, Yuting Wang, Jinhua Wu, Jérémie Koenig 等POPL 2024 · 被引用 10 次
- A HAT Trick: Automatically Verifying Representation Invariants using Symbolic Finite AutomataZhe Zhou, Qianchuan Ye, Benjamin Delaware, Suresh JagannathanPLDI 2024 · 被引用 7 次
- Program Logics à la CarteMax Vistrup, Michael Sammler, Ralf JungPOPL 2025 · 被引用 4 次
- ArchSem: Reusable Rigorous Semantics of Relaxed ArchitecturesThibaut Pérami, Thomas Bauereiss, Brian Campbell, Zongyuan Liu 等POPL 2026 · 被引用 1 次
它引用的顶会 Paper6
- Interaction trees: representing recursive and impure programs in CoqLi-yao Xia, Yannick Zakowski, Paul He, Chung-Kil Hur 等POPL 2020 · 被引用 133 次
- Promising 2.0: global optimizations in relaxed memory concurrencySung-Hwan Lee, Minki Cho, Anton Podkopaev, Soham Chakraborty 等PLDI 2020 · 被引用 48 次
- The next 700 relational program logicsKenji Maillard, Catalin Hritcu, Exequiel Rivas, Antoine Van MuylderPOPL 2020 · 被引用 41 次
- C4: verified transactional objectsMohsen Lesani, Li-yao Xia, Anders Kaseorg, Christian J. Bell 等OOPSLA 2022 · 被引用 27 次
- Refinement-Based Game Semantics for Certified Abstraction LayersJérémie Koenig, Zhong ShaoLICS 2020 · 被引用 17 次
相关 Paper
- Dijkstra monads forever: termination-sensitive specifications for interaction treesLucas Silver, Steve ZdancewicPOPL 2021 · 被引用 17 次
- Reasoning about recursive tree traversalsYanjun Wang, Jinwei Liu, Dalin Zhang, Xiaokang QiuPPoPP 2021 · 被引用 4 次
- Probabilistic Strategies: Definability and the Tensor Completeness ProblemNathan J. Bowler, Sergey Goncharov, Paul Blain LevyLICS 2025
- Thin Coalgebraic Behaviours Are InductiveAnton Chernev, Corina Cîrstea, Helle Hvid Hansen, Clemens KupkeLICS 2025
- Combining Nondeterminism, Probability, and Termination: Equational and Metric ReasoningMatteo Mio, Ralph Sarkis, Valeria VignudelliLICS 2021 · 被引用 14 次
