
arXiv: 2408.04455
Constructive type theory combines logic and programming in one language. This is useful both for reasoning about programs written in type theory, as well as for reasoning about other programming languages inside type theory. It is well-known that it is challenging to extend these applications to languages with recursion and computational effects such as probabilistic choice, because these features are not easily represented in constructive type theory. We show how to define and reason about FPC ⊕ , a programming language with probabilistic choice and recursive types, in guarded type theory. We use higher inductive types to represent finite distributions and guarded recursion to model recursion. We define both operational and denotational semantics of FPC ⊕ , as well as a relation between the two. The relation can be used to prove adequacy, but we also show how to use it to reason about programs up to contextual equivalence.
Probabilistic Programming Languages, FOS: Computer and information sciences, Computer Science - Logic in Computer Science, Computer Science - Programming Languages, Type Theory, F.3.2, Guarded Recursion, F.3.1; F.3.2, F.3.1, Recursive Types, 004, Programming Languages (cs.PL), Logic in Computer Science (cs.LO)
Probabilistic Programming Languages, FOS: Computer and information sciences, Computer Science - Logic in Computer Science, Computer Science - Programming Languages, Type Theory, F.3.2, Guarded Recursion, F.3.1; F.3.2, F.3.1, Recursive Types, 004, Programming Languages (cs.PL), Logic in Computer Science (cs.LO)
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 1 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
