EN FR
EN FR


Section: New Results

Probabilistic Systems and Resource Control

Participants : Martin Avanzini, Raphaelle Crubillé, Ugo Dal Lago, Francesco Gavazzo, Charles Grellois, Davide Sangiorgi, Valeria Vignudelli.

Probabilistic termination

In Focus, we are interested in studying probabilistic higher-order programming languages and, more generally, the fundamental properties of probabilistic computation when placed in an interactive scenario. One of the most basic (but nevertheless desirable) properties of programs is certainly termination. When probabilistic choice comes into play, termination can be defined in more than one way. As an example, one can stipulate that a probabilistic program terminates if and only if its probability of convergence is 1, this way being almost surely terminating. Alternatively, a probabilistic program can be said to be positively almost surely terminating if its average runtime is finite. The latter condition easily implies the former. Termination, already undecidable for deterministic (universal) programming languages, remains so in presence of probabilistic choice. Actually, it becomes provably harder, being strictly higher in the arithmetical hierarchy. Probabilistic termination has received quite some attention in recent years, but most contributions are concerned either with its abstract nature, or with verification methodologies for imperative programs. Along 2017, we have initiated the study of probabilistic termination in probabilistic higher-order functional languages. Our contribution in this direction is twofold. On the one hand, we have analysed the impact of endowing a strongly normalising typed lambda calculus, namely Godel’s T, with various forms of probabilistic choice operators [26]. Unsurprisingly, the obtained systems are all almost surely terminating, but interestingly, only some of them are positively so. In particular, binary probabilistic choice and the geometric distribution can have dramatically different effects. Another line of work has to do with types, and in particular with sized types, which we have generalised to a higher-order functional language with higher order recursion and binary probabilistic programs. We showed how the obtained system is sound for almost sure termination [35], but also that it captures interesting examples like various forms of random walks.

Automating complexity analysis of higher-order functional programs

Complexity analysis of higher-order functional programs has been one of the core research directions within Focus since its inception. Progressively, however, our interest has shifted from foundations to automation. The latter is indeed the main research direction we have pursued in 2017. More specifically, we have been trying to overcome the main shortcoming of our software tool HoCA, namely the fact that most analysis techniques it implements are not modular, and are thus bound not to scale. We have looked at sized type systems as a way to do complexity analysis of functional programs by performing type inference on a so-called ticking-transformed version of them [13]. The obtained design methodology has been proved to allow the analysis of programs which could not be handled by HoCA.

Relational reasoning about effectful and concurrent programs

Building on our knowledge on semantic and coinductive techniques for reasoning about higher-order programs, we have studied how to reason relationally when the programs at hand exhibit some form of effect including probabilistic choice, but also algebraic effects. We have first of all concluded our investigation about metric reasoning about terms in a probabilistic lambda calculus. We discovered that in the general case of a fully-fledged probabilistic lambda calculus, any reasonable metric is bound to trivialise to an equivalence [31]. This negative result convinced us that a richer and more refined notion of comparison is needed, on which we are currently investigating. We also looked at how Abramsky’s applicative bisimilarity can be generalised to a language with algebraic effects. Since the notion of algebraic effect is abstract, this is best done by injecting concepts from category theory, and in particular those of a monad and of a relator, into the playground. Mild conditions on the latter allow one to generalise the classic proof of congruence for applicative bisimilarity, due to Howe [33], [34]. This way, conductive proof techniques for equivalence can be shown sound with respect to context equivalence for various forms of algebraic effects including probabilistic choice, global state, exceptions, and combinations. One last line of work we have pursued in 2017 has to do with geometry of interaction, a dynamic semantic framework which is known to faithfully model higher-order computation. We have this year managed to show that multitoken machines, a generalisation of geometry of interaction we introduced three years ago, can faithfully model quantum lambda calculi [32], but also process algebras like the π-calculus, through multiport interaction combinators [14].