首页
学术期刊
论文检测
AIGC检测
热点
更多
数据
Choice Trees: Representing Nondeterministic, Recursive, and Impure Programs in Coq
被引:0
|
作者
:
论文数:
引用数:
h-index:
机构:
Chappe N.
[
1
]
He P.
论文数:
0
引用数:
0
h-index:
0
机构:
University of Pennsylvania, Philadelphia, PA
Univ Lyon, EnsL, UCBL, CNRS, Inria, LIP, Lyon
He P.
[
2
]
论文数:
引用数:
h-index:
机构:
Henrio L.
[
1
]
Zakowski Y.
论文数:
0
引用数:
0
h-index:
0
机构:
Univ Lyon, EnsL, UCBL, CNRS, Inria, LIP, Lyon
Univ Lyon, EnsL, UCBL, CNRS, Inria, LIP, Lyon
Zakowski Y.
[
1
]
论文数:
引用数:
h-index:
机构:
Zdancewic S.
[
2
]
机构
:
[1]
Univ Lyon, EnsL, UCBL, CNRS, Inria, LIP, Lyon
[2]
University of Pennsylvania, Philadelphia, PA
来源
:
Proceedings of the ACM on Programming Languages
|
2023年
/ 7卷
关键词
:
Concurrency;
Formal Semantics;
Interaction Trees;
Nondeterminism;
D O I
:
10.1145/3571254
中图分类号
:
学科分类号
:
摘要
:
This paper introduces 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 itree 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. © 2023 Owner/Author.
引用
收藏
页码:1770 / 1800
页数:30
相关论文
未找到相关数据