natural deduction metalanguage, practical foundations
type theory (dependent, intensional, observational type theory, homotopy type theory)
computational trinitarianism =
propositions as types +programs as proofs +relation type theory/category theory
constructive mathematics, realizability, computability
propositions as types, proofs as programs, computational trinitarianism
In type theory, the paradigm of propositions as types says that propositions and types are essentially the same. A proposition is identified with the type (collection) of all its proofs, and a type is identified with the proposition that it has a term (so that each of its terms is in turn a proof of the corresponding proposition).
… to show that a proposition is true in type theory corresponds to exhibiting an element term of the type corresponding to that proposition. We regard the elements of this type as evidence or witnesses that the proposition is true. (They are sometimes even called proofs… (from Homotopy Type Theory – Univalent Foundations of Mathematics, section 1.11)
Not all type theories follow this paradigm; among those that do, Martin-Löf type theories are the most famous. In its variant as homotopy type theory the paradigm is also central, but receives some refinements, see at propositions as some types.
Even when the paradigm is not adopted, however, there is still a close relationship between logical and type-theoretic operations, called the Curry–Howard isomorphism or (if it is not clear in which category this isomorphism is supposed to exist) the Curry–Howard correspondence. Or maybe better (Harper) the Brouwer-Heyting-Kolmogorov interpretation. This correspondence is most precise and well-developed for intuitionistic logic, but could also be developed for classical logic.
Accordingly, logical operations on propositions have immediate analogs on types. For instance logical and corresponds to forming the product type (a proof of and a proof of ), the universal quantifier corresponds to dependent product, the existential quantifier to dependent sum. In classical mathematics, the law of double negation corresponds to a global choice operator.
Furthermore, most structures traditionally involving predicates or relations are defined as type-valued type families. For instance, setoids or Bishop sets are usually defined to have a pseudo-equivalence relation in the propositions as types paradigm, rather than a equivalence relation as typical in the propositions as some types paradigm. However, in classical mathematics, the global choice operator representing the law of double negation in propositions as types implies that the boolean domain is the type of all propositions, so predicates or relations can simply be defined as functions into the boolean domain.
A related paradigm may be called propositions as some types, in which propositions are identified with particular types, but not all types are regarded as propositions. Generally, the propositions are the “types with at most one term”. This is the paradigm usually used in the internal logic of categories such as toposes, as well as in homotopy type theory. In this case, the type-theoretic operations on types either restrict to the propositions to give logical operations (for conjunction, implication, and the universal quantifier), or have to be “reflected” therein (for disjunction and the existential quantifier). The reflector operation is called a bracket type.
We consider aspects of the interpretation of propositions as types in homotopy type theory, see (HoTT book, section 1.11).
In homotopy type theory where types may be thought of as homotopy types (∞-groupoids) (or rather geometric homotopy types (∞-stacks,(∞,1)-sheaves), more generally), we may think for any type of
the morphisms of are equivalences between these proofs;
the 2-morphisms of are equivalences between these equivalences, and so on.
So in terms of the notion of n-connected and n-truncated objects in an (∞,1)-category we have
if is (-1)-connected then the corresponding proposition is true;
if is (-2)-truncated (a (-2)-groupoid) then the corresponding proposition is true by a unique proof which is uniquely equivalent to itself, etc.;
if is (-1)-truncated (a (-1)-groupoid) then the corresponding proposition may be true or false, but if it is true it is to by a unique proof as above;
if is 0-truncated then there may be more than one proof, but none equivalent to itself in an interesting way;
if is 1-truncated then there may be proofs of the corresponding proposition that are equivalent to themselves in interesting ways.
We would not say homotopy type theory has propositions as types in the same way that Martin–Löf type theory has; only the -truncated types are propositions as such. That is, in HoTT we have propositions as some types. In this case the bracket types can be identified with a particular higher inductive type called .
There is an analogue of the “propositions as types” in set theory, called propositions as sets. Instead of working in the external logic, one interprets certain set-theoretic operations as representing the predicate logic:
Any set represents a proposition
The binary cartesian product of two sets is conjunction of propositions
The function set between two sets is implication of propositions
The function set from a set to the empty set is negation of propositions
Given a family of sets, the indexed cartesian product of the family of sets is universal quantification
The binary disjoint union of two sets is the disjunction of propositions
The indexed disjoint union of a family of sets is the existential quantifier
Equality is given by the diagonal subset
Compare with propositions as subsingletons, which is the usual interpretation of the internal logic of a set theory via set-theoretic operations on sets.
Early account for intuitionistic type theory:
Per Martin-Löf (notes by Giovanni Sambin), Intuitionistic type theory, noted of a Lecture in Padua 1984, Bibliopolis (1984) [pdf, pdf]
Jean-Yves Girard (translated and with appendiced by Paul Taylor and Yves Lafont), Chapter 3 of: Proofs and Types, Cambridge University Press (1989) [ISBN:978-0-521-37181-0, webpage, pdf]
With a notion of propositional truncation:
Textbook accounts:
Simon Thompson, Type Theory and Functional Programming, Addison-Wesley (1991) [ISBN:0-201-41667-0, webpage, pdf, ISBN:9780444520777]
Bart Jacobs, Section 10.2 of Categorical Logic and Type Theory, Studies in Logic and the Foundations of Mathematics 141, Elsevier (1998) [ISBN:978-0-444-50170-7, pdf]
Morten Heine Sørensen, Pawel Urzyczyn, Lectures on the Curry-Howard isomorphism, Studies in Logic 149, Elsevier (2006) [ISBN:9780444520777, pdf]
Exposition:
Robert Harper, Extensionality, Intensionality, and Brouwer’s Dictum (2012) [blog]
Philip Wadler, Propositions as Types, Communications of the ACM 58 12 (2015) 75–84 [doi:10.1145/2699407, pdf, video]
See also:
Discussion in view of homotopy type theory:
An influential original article was
on pages 53, 54, 100, and 430.) (pdf)
The origins of this manuscript and its publication are recounted in a 2014 email from Howard to Philip Wadler:
This influential note brought Dana Scott to write “Constructive Validity” (a precursor of type theory) and also strongly influenced Per Martin-Löf. Independently and at about the same time, the idea was also found by N.G. de Bruijn for the Automath system.
Dana Scott, William Howard, Per Martin-Löf, and William Tait were all involved in the late 60s and early 70s, mainly in Chicago.
Also William Lawvere was there, lecturing on hyperdoctrines. Lawvere told Steve Awodey that the basic example of a morphism of hyperdoctrines from the proof-relevant one to the proof-irrelevant one was influenced by Kreisel, not Howard, who attended Lawvere’s Chicago lectures in the 60s. See pages 2 and 3 of
But the story started earlier with what has been called the BHK interpretation of intuitionistic logic, highlighted for instance in (Troelstra 91), which identifies a proposition with the collection of its proofs. This view goes back to an observation of Kolmogorov that the formalisation of Brouwer’s ideas by Heyting in 1930 can be semantically interpreted as a calculus of ‘Aufgaben’ - problems (and solutions), reported in
A historical account is in the section on types in
and in section 5 of
Last revised on February 23, 2024 at 22:42:36. See the history of this page for a list of all contributions to it.