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
logic | category theory | type theory |
---|---|---|
true | terminal object/(-2)-truncated object | h-level 0-type/unit type |
proposition(-1)-truncated objecth-proposition, mere proposition
proofgeneralized elementprogram
cut rulecomposition of classifying morphisms / pullback of display mapssubstitution
cut elimination for implicationcounit for hom-tensor adjunctionbeta reduction
introduction rule for implicationunit for hom-tensor adjunctioneta conversion
logical conjunctionproductproduct type
disjunctioncoproduct ((-1)-truncation of)sum type (bracket type of)
implicationinternal homfunction type
negationinternal hom into initial objectfunction type into empty type
universal quantificationdependent productdependent product type
existential quantificationdependent sum ((-1)-truncation of)dependent sum type (bracket type of)
equivalencepath space objectidentity type
equivalence classquotientquotient type
inductioncolimitinductive type, W-type, M-type
higher inductionhigher colimithigher inductive type
completely presented setdiscrete object/0-truncated objecth-level 2-type/preset/h-set
setinternal 0-groupoidBishop set/setoid
universeobject classifiertype of types
modalityclosure operator, (idemponent) monadmodal type theory, monad (in computer science)
linear logic(symmetric, closed) monoidal categorylinear type theory/quantum computation
proof netstring diagramquantum circuit
(absence of) contraction rule(absence of) diagonalno-cloning theorem
synthetic mathematicsdomain specific embedded programming language
</table>
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.
Accordingly, logical operations on propositions have immediate analogs on types. For instance logical and corresponds to forming the product type $A \times B$ (a proof of $A$ and a proof of $B$), the universal quantifier corresponds to dependent product, the existential quantifier to dependent sum.
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 $A$ any type of
the morphisms of $A$ are equivalences between these proofs;
the 2-morphisms of $A$ 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 $A$ is (-1)-connected then the corresponding proposition is true;
if $A$ is (-2)-truncated (a (-2)-groupoid) then the corresponding proposition is true by a unique proof which is uniquely equivalent to itself, etc.;
if $A$ 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 $A$ is 0-truncated then there may be more than one proof, but none equivalent to itself in an interesting way;
if $A$ 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 $(-1)$-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 $isInhab$.
proposition/type (propositions as types)
A standard account for intuitionistic type theory is
Discussion in homotopy type theory is in section 1.11 of
Exposition is in
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 Brouwer-Heyting-Kolmogorov 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
Philip Wadler is currently in the process of writing another history here.
Last revised on January 11, 2018 at 16:41:45. See the history of this page for a list of all contributions to it.