17 research outputs found
A Completeness Theorem for Probabilistic Regular Expressions
We introduce Probabilistic Regular Expressions (PRE), a probabilistic
analogue of regular expressions denoting probabilistic languages in which every
word is assigned a probability of being generated. We present and prove the
completeness of an inference system for reasoning about probabilistic language
equivalence of PRE based on Salomaa's axiomatisation of Kleene Algebra
Bisimulations for Delimited-Control Operators
We present a comprehensive study of the behavioral theory of an untyped
-calculus extended with the delimited-control operators shift and
reset. To that end, we define a contextual equivalence for this calculus, that
we then aim to characterize with coinductively defined relations, called
bisimilarities. We consider different styles of bisimilarities (namely
applicative, normal-form, and environmental) within a unifying framework, and
we give several examples to illustrate their respective strengths and
weaknesses. We also discuss how to extend this work to other delimited-control
operators
Divergences on Monads for Relational Program Logics
Several relational program logics have been introduced for integrating
reasoning about relational properties of programs and measurement of
quantitative difference between computational effects. Towards a general
framework for such logics, in this paper, we formalize quantitative difference
between computational effects as divergence on monad, then develop a relational
program logic acRL that supports generic computational effects and divergences
on them. To give a categorical semantics of acRL supporting divergences, we
give a method to obtain graded strong relational liftings from divergences on
monads. We derive two instantiations of acRL for the verification of 1) various
differential privacy of higher-order functional probabilistic programs and 2)
difference of distribution of costs between higher-order functional programs
with probabilistic choice and cost counting operations.Comment: Preprin
Mechanized Reasoning About how Using Functional Programs And Embeddings
Embedding describes the process of encoding a program\u27s syntax and/or semantics in another language---typically a theorem prover in the context of mechanized reasoning. Among different embedding styles, deep embeddings are generally preferred as they enable the most faithful modeling of the original language. However, deep embeddings are also the most complex, and working with them requires additional effort. In light of that, this dissertation aims to draw more attention to alternative styles, namely shallow and mixed embeddings, by studying their use in mechanized reasoning about programs\u27 properties that are related to how . More specifically, I present a simple shallow embedding for reasoning about computation costs of lazy programs, and a class of mixed embeddings that are useful for reasoning about properties of general computation patterns in effectful programs. I show the usefulness of these embedding styles with examples based on real-world applications
Programming Languages and Systems
This open access book constitutes the proceedings of the 31st European Symposium on Programming, ESOP 2022, which was held during April 5-7, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 21 regular papers presented in this volume were carefully reviewed and selected from 64 submissions. They deal with fundamental issues in the specification, design, analysis, and implementation of programming languages and systems
Programming Languages and Systems
This open access book constitutes the proceedings of the 31st European Symposium on Programming, ESOP 2022, which was held during April 5-7, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 21 regular papers presented in this volume were carefully reviewed and selected from 64 submissions. They deal with fundamental issues in the specification, design, analysis, and implementation of programming languages and systems
Programming Languages and Systems
This open access book constitutes the proceedings of the 29th European Symposium on Programming, ESOP 2020, which was planned to take place in Dublin, Ireland, in April 2020, as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2020. The actual ETAPS 2020 meeting was postponed due to the Corona pandemic. The papers deal with fundamental issues in the specification, design, analysis, and implementation of programming languages and systems