English
Related papers

Related papers: Programs as proofs

200 papers

Programs must be correct with respect to their application domain. Yet, the program specification and verification approaches so far only consider correctness in terms of computations. In this work, we present a two-tier Hoare Logic that…

Logic in Computer Science · Computer Science 2024-02-02 Eduard Kamburjan , Dilian Gurov

Logic programming is a declarative programming paradigm. Programming language Prolog makes logic programming possible, at least to a substantial extent. However the Prolog debugger works solely in terms of the operational semantics. So it…

Programming Languages · Computer Science 2020-03-09 Włodzimierz Drabent

We consider the decidability of the verification problem of programs \emph{modulo axioms} --- that is, verifying whether programs satisfy their assertions, when the functions and relations it uses are assumed to interpreted by arbitrary…

Programming Languages · Computer Science 2019-10-30 Umang Mathur , P. Madhusudan , Mahesh Viswanathan

In this paper we propose a calculus for expressing algorithms for programming languages transformations. We present the type system and operational semantics of the calculus, and we prove that it is type sound. We have implemented our…

Programming Languages · Computer Science 2019-10-29 Benjamin Mourad , Matteo Cimini

In the theory of programming languages, type inference is the process of inferring the type of an expression automatically, often making use of information from the context in which the expression appears. Such mechanisms turn out to be…

Logic in Computer Science · Computer Science 2012-05-10 Jeremy Avigad

In the last decades, several objects such as grammars, economical agents, laws of physics... have been defined as algorithms. In particular, after Brouwer, Heyting, and Kolomogorov, mathematical proofs have been defined as algorithms. In…

Logic in Computer Science · Computer Science 2023-06-02 Gilles Dowek

Program transformation is an appealing technique which allows to improve run-time efficiency, space-consumption, and more generally to optimize a given program. Essentially, it consists of a sequence of syntactic program manipulations which…

Programming Languages · Computer Science 2020-02-19 Maurizio Gabbrielli , Maria Chiara Meo , Paolo Tacchella , Herbert Wiklicky

Our research is part of a wider project that aims to investigate and reason about the correctness of scheme-based source code transformations of Erlang programs. In order to formally reason about the definition of a programming language and…

Programming Languages · Computer Science 2020-08-19 Péter Bereczky , Dániel Horpácsi , Simon Thompson

Making a linguistic theory is like making a programming language: one typically devises a type system to delineate the acceptable utterances and a denotational semantics to explain observations on their behavior. Via this connection, the…

Computation and Language · Computer Science 2007-05-23 Chung-chieh Shan

Game Logic is an excellent setting to study proofs-about-programs via the interpretation of those proofs as programs, because constructive proofs for games correspond to effective winning strategies to follow in response to the opponent's…

Logic in Computer Science · Computer Science 2022-10-07 Rose Bohrer , André Platzer

Recognizable languages of finite words are part of every computer science cursus, and they are routinely described as a cornerstone for applications and for theory. We would like to briefly explore why that is, and how this word-related…

Logic in Computer Science · Computer Science 2007-05-23 Pascal Weil

Most modern (classical) programming languages support recursion. Recursion has also been successfully applied to the design of several quantum algorithms and introduced in a couple of quantum programming languages. So, it can be expected…

Logic in Computer Science · Computer Science 2018-12-11 Zhaowei Xu , Mingsheng Ying , Shenggang Ying

This dissertation explores the roles of polarities and focussing in various aspects of Computational Logic. These concepts play a key role in the the interpretation of proofs as programs, a.k.a. the Curry-Howard correspondence, in the…

Logic in Computer Science · Computer Science 2014-12-23 Stéphane Graham-Lengrand

Logic programming is a flexible programming paradigm due to the use of predicates without a fixed data flow. To extend logic languages with the compact notation of functional programming, there are various proposals to map evaluable…

Programming Languages · Computer Science 2022-05-17 Michael Hanus

By paying more attention to semantics-based tool generation, programming language semantics can significantly increase its impact. Ultimately, this may lead to ``Language Design Assistants'' incorporating substantial amounts of semantic…

Programming Languages · Computer Science 2007-05-23 Jan Heering , Paul Klint

In the theory of answer set programming, two groups of rules are called strongly equivalent if, informally speaking, they have the same meaning in any context. The relationship between strong equivalence and the propositional logic of…

Logic in Computer Science · Computer Science 2023-06-22 Vladimir Lifschitz

A logic program is an executable specification. For example, merge sort in pure Prolog is a logical formula, yet shows creditable performance on long linked lists. But such executable specifications are a compromise: the logic is distorted…

Programming Languages · Computer Science 2015-09-29 M. H. van Emden

We study the problem of completely automatically verifying uninterpreted programs---programs that work over arbitrary data models that provide an interpretation for the constants, functions and relations the program uses. The verification…

Programming Languages · Computer Science 2020-08-27 Umang Mathur , P. Madhusudan , Mahesh Viswanathan

We present a proof system for a multimodal logic, based on our previous work on a multimodal Martin-Loef type theory. The specification of modes, modalities, and implications between them is given as a mode theory, i.e. a small 2-category.…

Logic in Computer Science · Computer Science 2023-05-22 G. A. Kavvos , Daniel Gratzer

Algorithms are ways of mapping problems to solutions. An algorithm is invertible precisely when this mapping is injective, such that the initial problem can be uniquely inferred from its solution. While invertible algorithms can be…

Programming Languages · Computer Science 2022-12-08 Joachim Tilsted Kristensen , Robin Kaarsgaard , Michael Kirkedal Thomsen
‹ Prev 1 3 4 5 6 7 10 Next ›