English
Related papers

Related papers: Programs as proofs

200 papers

The idea of using unfolding as a way of computing a program semantics has been applied successfully to logic programs and has shown itself a powerful tool that provides concrete, implementable results, as its outcome is actually source…

Programming Languages · Computer Science 2017-08-29 José María Rey-Poza , Julio Mariño-Carballo

Proof theory provides a foundation for studying and reasoning about programming languages, most directly based on the well-known Curry-Howard isomorphism between intuitionistic logic and the typed lambda-calculus. More recently, a…

Logic in Computer Science · Computer Science 2023-06-22 Farzaneh Derakhshan , Frank Pfenning

In this chapter, we propose some future directions of work, potentially beneficial to Mathematics and its foundations, based on the recent import of methodology from the theory of programming languages into proof theory. This scientific…

Logic · Mathematics 2019-05-21 Danko Ilik

Predicate intuitionistic logic is a well established fragment of dependent types. According to the Curry-Howard isomorphism proof construction in the logic corresponds well to synthesis of a program the type of which is a given formula. We…

Logic in Computer Science · Computer Science 2016-08-22 Maciej Zielenkiewicz , Aleksy Schubert

Currently it is widely accepted that the language of science is mathematics. This book explores an alternative idea where the future of science is based on the language of algorithms and programs. How such a language can actually be…

Logic in Computer Science · Computer Science 2020-11-06 Garry Pantelis

The goal of this lecture is to show how modern theorem provers---in this case, the Coq proof assistant---can be used to mechanize the specification of programming languages and their semantics, and to reason over individual programs and…

Programming Languages · Computer Science 2010-10-28 Xavier Leroy

We propose a general framework to allow: (a) specifying the operational semantics of a programming language; and (b) stating and proving properties about program correctness. Our framework is based on a many-sorted system of hybrid modal…

Logic in Computer Science · Computer Science 2025-12-01 Ioana Leustean , Natalia Moanga , Traian Florin Serbanuta

Interactive proof assistants make it possible for ordinary mathematicians to write definitions and theorems in a formal proof language, like a programming language, so that a computer can parse them and check them against the rules of a…

History and Overview · Mathematics 2024-11-20 Jeremy Avigad , Johan Commelin , Heather Macbeth , Adam Topaz

We establish a close connection between a reversible programming language based on type isomorphisms and a formally presented univalent universe. The correspondence relates combinators witnessing type isomorphisms in the programming…

Programming Languages · Computer Science 2019-07-16 Jacques Carette , Chao-Hong Chen , Vikraman Choudhury , Amr Sabry

Constructive type theory combines logic and programming in one language. This is useful both for reasoning about programs written in type theory, as well as for reasoning about other programming languages inside type theory. It is…

Programming Languages · Computer Science 2024-10-25 Philipp Jan Andries Stassen , Rasmus Ejlers Møgelberg , Maaike Zwart , Alejandro Aguirre , Lars Birkedal

If code is law, then the language of law is a programming language. Lawyers and legal scholars can learn about law by studying programming-language theory, and programming-language tools can be usefully applied to legal problems. This…

Programming Languages · Computer Science 2022-07-01 James Grimmelmann

Programming is the activity of modifying a program in order to bring about specific changes in its behaviour. Yet programming language theory almost exclusively focuses on the meaning of programs. We motivate a "change-oriented" viewpoint…

Programming Languages · Computer Science 2019-08-05 Roly Perera

This invited paper presents an overview of an ongoing research program aimed at extending the Curry-Howard-Lambek correspondence to quantum computation. We explore two key frameworks that provide both logical and computational foundations…

Logic in Computer Science · Computer Science 2025-06-26 Alejandro Díaz-Caro

We present the PML 2 language, which provides a uniform environment for programming, and for proving properties of programs in an ML-like setting. The language is Curry-style and call-by-value, it provides a control operator (interpreted in…

Logic in Computer Science · Computer Science 2019-01-11 Rodolphe Lepigre

Many tools used to process programs, like compilers, analyzers, or verifiers, perform transformations on their intermediate program representation, like abstract syntax trees. Implementing such program transformations is a non-trivial task,…

Programming Languages · Computer Science 2026-01-21 Michael Hanus , Steven Libby

This extended abstract gives a brief outline of the connections between the descriptions and variable concepts. Thus, the notion of a concept is extended to include both the syntax and semantics features. The evaluation map in use is…

Logic in Computer Science · Computer Science 2007-05-23 Viacheslav Wolfengagen

Sequential programming and work-flow programming are two useful, but radically different, ways of describing computational processing. Of the two, it is sequential programming that we teach all programmers and support by programming…

Programming Languages · Computer Science 2011-08-24 William Harrison

Automatic differentiation plays a prominent role in scientific computing and in modern machine learning, often in the context of powerful programming systems. The relation of the various embodiments of automatic differentiation to the…

Programming Languages · Computer Science 2020-02-04 Martin Abadi , Gordon D. Plotkin

This thesis embarks on a comprehensive exploration of formal computational models that underlie typed programming languages. We focus on programming calculi, both functional (sequential) and concurrent, as they provide a compelling rigorous…

Logic in Computer Science · Computer Science 2024-08-16 Joseph William Neal Paulus

Formal deductive systems are very common in computer science. They are used to represent logics, programming languages, and security systems. Moreover, writing programs that manipulate them and that reason about them is important and…

Programming Languages · Computer Science 2018-05-21 Francisco Ferreira Ruiz