English
Related papers

Related papers: Program Equivalence in an Untyped, Call-by-value L…

200 papers

Checking the semantic equivalence of operations is an important task in software development. For instance, regression testing is a routine task performed when software systems are developed and improved, and software package managers…

Programming Languages · Computer Science 2019-09-23 Sergio Antoy , Michael Hanus

We present a formal study of semantics for the relational programming language miniKanren. First, we formulate a denotational semantics which corresponds to the minimal Herbrand model for definite logic programs. Second, we present…

Programming Languages · Computer Science 2020-09-18 Dmitry Rozplokhas , Andrey Vyatkin , Dmitry Boulytchev

We present a complete reasoning principle for contextual equivalence in an untyped probabilistic language. The language includes continuous (real-valued) random variables, conditionals, and scoring. It also includes recursion, since the…

Programming Languages · Computer Science 2018-07-10 Mitchell Wand , Ryan Culpepper , Theophilos Giannakopoulos , Andrew Cobb

We present a new type system with support for proofs of programs in a call-by-value language with control operators. The proof mechanism relies on observational equivalence of (untyped) programs. It appears in two type constructors, which…

Logic in Computer Science · Computer Science 2016-04-08 Rodolphe Lepigre

Erlang's dynamic typing discipline can lead to runtime errors that persist even after process restarts. Some of these runtime errors could be prevented through static type checking. While Erlang provides a type specification language, the…

Programming Languages · Computer Science 2026-03-24 Albert Schimpf , Stefan Wehr , Annette Bieniusa

Linear algebra algorithms often require some sort of iteration or recursion as is illustrated by standard algorithms for Gaussian elimination, matrix inversion, and transitive closure. A key characteristic shared by these algorithms is that…

Computational Complexity · Computer Science 2020-10-27 Floris Geerts , Thomas Muñoz , Cristian Riveros , Domagoj Vrgoč

We extend the {\lambda}-calculus with constructs suitable for relational and functional-logic programming: non-deterministic choice, fresh variable introduction, and unification of expressions. In order to be able to unify…

Programming Languages · Computer Science 2021-03-02 Pablo Barenbaum , Federico Lochbaum , Mariana Milicich

Relational verification of quantum programs has many potential applications in quantum and post-quantum security and other domains. We propose a relational program logic for quantum programs. The interpretation of our logic is based on a…

Logic in Computer Science · Computer Science 2019-12-12 Gilles Barthe , Justin Hsu , Mingsheng Ying , Nengkun Yu , Li Zhou

We study Milner's encoding of the call-by-value $\lambda$-calculus into the $\pi$-calculus. We show that, by tuning the encoding to two subcalculi of the $\pi$-calculus (Internal $\pi$ and Asynchronous Local $\pi$), the equivalence on…

Logic in Computer Science · Computer Science 2022-02-08 Adrien Durier , Daniel Hirschkoff , Davide Sangiorgi

We study when a programming language can emulate programs written in that same language without delegating the guest program back to the host evaluator or compiler. We call this property emulation-completeness. The central observation is…

Programming Languages · Computer Science 2026-04-20 Gregory Morse , Tamás Kozsik

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…

Programming Languages · Computer Science 2021-06-25 Ugo Dal Lago , Francesco Gavazzo

We study Milner's encoding of the call-by-value $\lambda$-calculus into the $\pi$-calculus. We show that, by tuning the encoding to two subcalculi of the $\pi$-calculus (Internal $\pi$ and Asynchronous Local $\pi$), the equivalence on…

Logic in Computer Science · Computer Science 2021-12-16 Adrien Durier , Daniel Hirschkoff , Davide Sangiorgi

Dynamically typed languages, like Erlang, allow developers to quickly write programs without explicitly providing any type information on expressions or function definitions. However, this feature makes those languages less reliable than…

Programming Languages · Computer Science 2018-09-14 Emanuele De Angelis , Fabio Fioravanti , Adrián Palacios , Alberto Pettorossi , Maurizio Proietti

Software security can be ensured by specifying and verifying security properties of software using formal methods with strong theoretical bases. In particular, programs can be modeled in the framework of lambda-calculi, and interesting…

Logic in Computer Science · Computer Science 2009-04-08 Slawomir Lasota , David Nowak , Yu Zhang

We consider the problems of statically refuting equivalence and similarity of output distributions defined by a pair of probabilistic programs. Equivalence and similarity are two fundamental relational properties of probabilistic programs…

Programming Languages · Computer Science 2024-04-05 Krishnendu Chatterjee , Ehsan Kafshdar Goharshady , Petr Novotný , Đorđe Žikelić

The existing call-by-need lambda calculi describe lazy evaluation via equational logics. A programmer can use these logics to safely ascertain whether one term is behaviorally equivalent to another or to determine the value of a lazy…

Programming Languages · Computer Science 2012-01-19 Stephen Chang , Matthias Felleisen

We look at equivalence relations on the set of models of a theory -- MERs, for short -- such that the class of equivalent pairs is itself an elementary class, in a language appropriate for pairs of models. We provide many examples of…

Logic · Mathematics 2025-07-24 Michael Benedikt , Ehud Hrushovski

Correctness of program transformations in extended lambda calculi with a contextual semantics is usually based on reasoning about the operational semantics which is a rewrite semantics. A successful approach to proving correctness is the…

Programming Languages · Computer Science 2010-12-23 Conrad Rau , Manfred Schmidt-Schauß

Epistemic Logic Programs (ELPs), that is, Answer Set Programming (ASP) extended with epistemic operators, have received renewed interest in recent years, which led to a flurry of new research, as well as efficient solvers. An important…

Logic in Computer Science · Computer Science 2018-11-13 Wolfgang Faber , Michael Morak , Stefan Woltran

Answer set programming is a prominent declarative programming paradigm used in formulating combinatorial search problems and implementing different knowledge representation formalisms. Frequently, several related and yet substantially…

Artificial Intelligence · Computer Science 2023-03-01 Yuliya Lierler