Propositions as types

  title={Propositions as types},
  author={Philip Wadler},
  journal={Communications of the ACM},
  pages={75 - 84}
  • P. Wadler
  • Published 23 November 2015
  • Philosophy
  • Communications of the ACM
Connecting mathematical logic and computation, it ensures that some aspects of programming are absolute. 

Figures from this paper

Mathematical Logic in Computer Science
The article retraces major events and milestones in the mutual influences between mathematical logic and computer science since the 1950s.
Exploitation as code reuse: On the need of formalization
The need for modeling exploit computations and possible formal approaches to it are discussed and a comparison of current and proposed approaches to this problem is suggested.
A Combinatorial Testing Framework for Intuitionistic Propositional Theorem Provers
Proving a theorem in intuitionistic propositional logic, with implication as its single connective, is known as one of the simplest to state PSPACE-complete problem. At the same time, via the
Lambda: the ultimate sublanguage (experience report)
We describe our experience teaching an advanced typed functional programming course based around the use of System Fω as a programming language.
Functional Pearl: Witness Me - Constructive Arguments Must Be Guided with Concrete Witness
It is demonstrated how useful the Curry–Howard correspondence point of view is as the guiding principle for developing dependently-typed programs.
Classical Proofs as Parallel Programs
A parallel and more powerful extension of the simply typed lambda calculus corresponding to an analytic natural deduction based on the excluded middle law is defined, which features a natural higher-order communication mechanism between processes, which also supports broadcasting.
The Significance of the Curry-Howard Isomorphism
The Curry-Howard isomorphism is a proof-theoretic result that establishes a connection between derivations in natural deduction and terms in typed lambda calculus, which underlies the development of type systems for programming languages.
Homotopy Type Theory: A synthetic approach to higher equalities
This is an introduction to Homotopy Type Theory and Univalent Foundations for philosophers, written as a chapter for the book "Categories for the Working Philosopher" (ed. Elaine Landry)
Perspective Computational logic: its origins and applications
A refinement of LCF, called Isabelle, retains advantages ofLCF while providing flexibility in the choice of logical formalism and much stronger automation.


A Taste of Linear Logic
  • P. Wadler
  • Philosophy, Computer Science
  • 1993
This tutorial paper provides an introduction to intuitionistic logic and linear logic, and shows how they correspond to type systems for functional languages via the notion of ‘Propositions as
Type theory and functional programming
  • S. Thompson
  • Economics
    International computer science series
  • 1991
This book explores the role of Martin-Lof s constructive type theory in computer programming and how the theory can be successfully applied in practice.
Computational Interpretations of Linear Logic
A symmetric modal lambda calculus for distributed computing
This work forms a novel system of natural deduction for IS5, decomposing the introduction and elimination rules for /spl square/ and /spl diams/, thereby allowing the corresponding programs to be more direct.
Notions of Computation and Monads
  • E. Moggi
  • Computer Science
    Inf. Comput.
  • 1991
Computational types from a logical perspective
This paper shows that the computational lambda calculus also arises naturally as the term calculus corresponding to a novel intuitionistic modal propositional logic and gives natural deduction, sequent calculus and Hilbert-style presentations of this logic and proves strong normalisation and confluence results.
Lectures on the Curry-Howard Isomorphism
Session Types as Intuitionistic Linear Propositions
This paper introduces a type system for the π-calculus that exactly corresponds to the standard sequent calculus proof system for dual intuitionistic linear logic, and provides the first purely logical account of all features of session types.
A modal analysis of staged computation
The main technical result is a conservative embedding of Nielson & Nielson's two-level functional language in the language Mini-ML, thus proving that binding-time correctness is equivalent to modal correctness on this fragment.
A formulae-as-type notion of control
It is proved that all evaluations of typed terms in Idealized Scheme are finite, and the existence of computationally interesting “classical programs” is illustrated by the definition of conjunctively, disjunctive, and existential types using standard classical definitions.