A long-standing open problem in the semantics of programming languages supporting probabilistic choice is to find a commutative monad for probability on the category DCPO. In this paper we present three such monads and a general construction for finding even more. We show how to use these monads to provide a sound and adequate denotational semantics for the Probabilistic FixPoint Calculus (PFPC) -- a call-by-value simply-typed lambda calculus with mixed-variance recursive types, term recursion and probabilistic choice. We also show that in the special case where we consider continuous dcpo's, then all three monads coincide with the valuations monad of Jones and we fully characterise the induced Eilenberg-Moore categories by showing that they are all isomorphic to the category of continuous Kegelspitzen of Keimel and Plotkin.
翻译:在支持概率选择的编程语言的语义中,一个支持概率选择的长期未决问题是,在DCPO类别中找到一种通俗的调子。在本文中,我们提出了三种这样的调子和寻找更多答案的一般结构。我们展示了如何使用这些调子为概率固定点计算(PFPC)提供一个健全和适当的省略语义,一种按呼呼逐价的简单型号羊羔计算法,具有多种变数的复发类型、周期性重现和概率性选择。我们还表明,在特别情况下,我们考虑了连续的 dcpo 的调子,然后所有三个调子都与琼斯的评分相吻合,我们通过显示它们都与Keimel和Plotkin的连续的 Kegelspitzen 类别完全一致。