28 research outputs found

    Applicative Bisimulation and Quantum λ-Calculi

    Get PDF
    International audienceApplicative bisimulation is a coinductive technique to check program equivalence in higher-order functional languages. It is known to be sound — and sometimes complete — with respect to context equivalence. In this paper we show that applicative bisimulation also works when the underlying language of programs takes the form of a linear λ-calculus extended with features such as probabilistic binary choice, but also quantum data, the latter being a setting in which linearity plays a role. The main results are proofs of soundness for the obtained notions of bisimilarity

    On coinduction and quantum lambda calculi

    Get PDF
    © Yuxin Deng, Yuan Feng, and Ugo Dal Lago; licensed under Creative Commons License CC-BY. In the ubiquitous presence of linear resources in quantum computation, program equivalence in linear contexts, where programs are used or executed once, is more important than in the classical setting. We introduce a linear contextual equivalence and two notions of bisimilarity, a state-based and a distribution-based, as proof techniques for reasoning about higher-order quantum programs. Both notions of bisimilarity are sound with respect to the linear contextual equivalence, but only the distribution-based one turns out to be complete. The completeness proof relies on a characterisation of the bisimilarity as a testing equivalence

    Resource Transition Systems and Full Abstraction for Linear Higher-Order Effectful Programs

    Get PDF
    International audienceWe investigate program equivalence for linear higher-order (sequential) languages endowed with primitives for computational effects. More specifically, we study operationally-based notions of program equivalence for a linear λ-calculus with explicit copying and algebraic effects à la Plotkin and Power. Such a calculus makes explicit the interaction between copying and linearity, which are intensional aspects of computation, with effects, which are, instead, extensional. We review some of the notions of equivalences for linear calculi proposed in the literature and show their limitations when applied to effectful calculi where copying is a first-class citizen. We then introduce resource transition systems, namely transition systems whose states are built over tuples of programs representing the available resources, as an operational semantics accounting for both intensional and extensional interactive behaviours of programs. Our main result is a sound and complete characterization of contextual equivalence as trace equivalence defined on top of resource transition systems

    Resource transition systems and full abstraction for linear higher-order effectful programs

    Get PDF
    We investigate program equivalence for linear higher-order (sequential) languages endowed with primitives for computational effects. More specifically, we study operationally-based notions of program equivalence for a linear \u3b3-calculus with explicit copying and algebraic effects \ue0 la Plotkin and Power. Such a calculus makes explicit the interaction between copying and linearity, which are intensional aspects of computation, with effects, which are, instead, extensional. We review some of the notions of equivalences for linear calculi proposed in the literature and show their limitations when applied to effectful calculi where copying is a first-class citizen. We then introduce resource transition systems, namely transition systems whose states are built over tuples of programs representing the available resources, as an operational semantics accounting for both intensional and extensional interactive behaviours of programs. Our main result is a sound and complete characterization of contextual equivalence as trace equivalence defined on top of resource transition systems

    Resource Transition Systems and Full Abstraction for Linear Higher-Order Effectful Programs

    Get PDF
    International audienceWe investigate program equivalence for linear higher-order (sequential) languages endowed with primitives for computational effects. More specifically, we study operationally-based notions of program equivalence for a linear λ-calculus with explicit copying and algebraic effects à la Plotkin and Power. Such a calculus makes explicit the interaction between copying and linearity, which are intensional aspects of computation, with effects, which are, instead, extensional. We review some of the notions of equivalences for linear calculi proposed in the literature and show their limitations when applied to effectful calculi where copying is a first-class citizen. We then introduce resource transition systems, namely transition systems whose states are built over tuples of programs representing the available resources, as an operational semantics accounting for both intensional and extensional interactive behaviours of programs. Our main result is a sound and complete characterization of contextual equivalence as trace equivalence defined on top of resource transition systems

    Coinductive Techniques on a Linear Quantum λ-Calculus

    Get PDF
    In this thesis, it is examined the issue of equivalence between linear terms in higher order languages, that is, in languages which allow to use functions as variables, and where variables which appear in the terms must be used exactly once. The work is developed focusing on the bisimulation method, with the purpose to compare this technique with that which has become the standard for the comparison between the terms of a language, i.e. the context equivalence. The thesis is divided into three parts: in the first one, the introduction of the bisimulation and context equivalence techniques takes place within a deterministic linear and typed language. In the second part, the same techniques are reformulated for a language that, while preserving the linearity, loses the deterministic connotation, allowing the terms to evaluate to a set of values each one having a certain probability to appear in the end of calculation. In the last part, a quantum language is examined, discussing the advantages of quantum computation, which allows to speed-up many of the algorithms of computation. Here one gives the concept of quantum program, which is inextricably linked to the (quantum) register where the qubits used in the computation are stored, entailing a more complex notion of equivalence between terms. The techniques to demonstrate that bisimulation is a congruence are not standard and have been used for the first time by Howe for untyped languages: within the thesis, one shows that bisimulation is a congruence in all considered languages but it coincides with the context equivalence relation only for the deterministic one. Indeed, extending the techniques already used by Howe to the probabilistic and quantum environment, it is shown, as non trivial result, that in probabilistic and quantum linear languages the bisimulation is contained in context equivalence relation

    Foundations of Software Science and Computation Structures

    Get PDF
    This open access book constitutes the proceedings of the 22nd International Conference on Foundations of Software Science and Computational Structures, FOSSACS 2019, which took place in Prague, Czech Republic, in April 2019, held as part of the European Joint Conference on Theory and Practice of Software, ETAPS 2019. The 29 papers presented in this volume were carefully reviewed and selected from 85 submissions. They deal with foundational research with a clear significance for software science

    Programming Languages and Systems

    Get PDF
    This open access book constitutes the proceedings of the 28th European Symposium on Programming, ESOP 2019, which took place in Prague, Czech Republic, in April 2019, held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019
    corecore