constructive mathematics, realizability, computability
propositions as types, proofs as programs, computational trinitarianism
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
category object in an (∞,1)-category, groupoid object
basic constructions:
strong axioms
further
A Bishop set is a notion of set in constructive mathematics, commonly used in Bishop's constructive mathematics.
In (Bishop) the notion of set is specified by stating that a set has to be given by a description of how to build elements of this set and by giving a binary relation of equality, which has to be an equivalence relation.
A function from a set $A$ to a set $B$ is then given by an operation, which is compatible with the equality (i.e. two elements which are equal in A are mapped to two elements which are equal in B), and is described as “a finite routine $f$ which assigns an element $f(a)$ of $B$ to each given element $a$ of $A$”. This notion of routine is left informal but must “afford an explicit, finite, mechanical reduction of the procedure for constructing $f(a)$ to the procedure for constructing $a$.”
These ideas have been formalized in type theory, where they serve to set up set theory in an ambient type theoretic logical framework. See Formalization in type theory below.
Formally, the definition of Bishop set presumes some prior notion of “collection” (the elements) and “relation” (the equality) that can be put together. These collections are sometimes called presets, and can be formalized in various ways. In particular, presets generally lack operations such as quotients and even subsets.
One of the most common approaches is to use type theory, where the collections are simply types. Note that this is a different approach to the use of type theory in foundations of mathematics than that of, for instance, homotopy type theory — in the latter, type theory is enriched with operations on types such as quotients, enabling them to be the basic set-like objects out of which mathematics is built; while in the Bishop-set approach one defines “sets” as types equipped with extra structure, so that the sets have quotient-type operations even though the types do not. There is an analogy to the construction of the exact completion of a category, which has quotients even if the original category does not.
Frequently, the type theories used for this purpose do not even have a separate notion of “relation” or “proposition”, and thus the untruncated propositions as types interpretation is used for the equivalence relations in a Bishop set. That is, one has a type $X:Type$ of elements and a type family $R:X\to X \to Type$ with witnesses that it is “reflexive, symmetric, and transitive”, but nothing prevents $R(x,y)$ from having more than one element. (If the type theory has identity types, one could demand that $R$ consist of h-propositions, but at least historically this is not often done.) This means that categorically, the Bishop sets are most like the ex/lex completion of the category of types — although the morphisms in the ex/lex completion are defined as a quotient in the ambient set theory, whereas the morphisms between Bishop sets simply form another Bishop set.
For example, see (Palmgren05) for an exposition and (Coquand-Spiwack, section 3) for a brief list of the axioms.
In the context of type theory a Bishop set is sometimes called a setoid.
In much of set theory the category Set of all sets is a Topos. For Bishop sets formalized in type theory this is not quite the case. Instead:
The category of Bishop sets in Martin-Löf dependent type theory is a strong predicative topos.
This is (van den Berg, theorem 6.2), based on (Moerdijk-Palmgren, section 7).
computational trinitarianism =
propositions as types +programs as proofs +relation type theory/category theory
The original publication is
in the context of constructive analysis. A detailed discussion is in
Reviews include
The formalization of Bishop set is reviewed for instance in section 3 of
(there with an eye towards further formalization of homological algebra).
Some of the text above is taken from this section.
The predicative topos formed by Bishop sets in type theory is discussed in
A formalization of constructive set theory in terms of setoids in intensional type theory coded in Coq is discussed in
See also
UF-IAS-2012, On the setoid model of type theory (video)
Discussion on categorical aspects of the setoid construction.