Propositions as [Types]

Steve Awodey^{∗}  Andrej Bauer^{†}

Institut Mittag-Leffler The Royal Swedish Academy of Sciences

June 2001

Abstract

Image factorizations in regular categories are stable under pullbacks, so they model a natural modal operator in dependent type theory. This unary type constructor [A] has turned up previously in a syntactic form as a way of erasing computational content, and formalizing a notion of proof irrelevance. Indeed, semantically, the notion of a support is sometimes used as surrogate proposition asserting inhabitation of an indexed family.

We give rules for bracket types in dependent type theory and provide complete semantics using regular categories. We show that dependent type theory with the unit type, strong extensional equality types, strong dependent sums, and bracket types is the internal type theory of regular categories, in the same way that the usual dependent type theory with dependent sums and products is the internal type theory of locally cartesian closed categories.

We also show how to interpret first-order logic in type theory with brackets, and we make use of the translation to compare type theory with logic. Specifically, we show that the propositions-as-types interpretation is complete with respect to a certain fragment of intuitionistic first-order logic. As a consequence, a modified double-negation translation into type theory (without bracket types) is complete for all of classical first-order logic.

MSC2000 Classification: 03G30, 03B15, 18C50 Keywords: categorical logic, type theory, regular categories, bracket types Acknowledgement. We gratefully acknowledge the support of the Institut Mittag-Leffler, the Royal Swedish Academy of Sciences, where this research was conducted. We also thank Peter Aczel, Lars Birkedal, Thierry Coquand, Nicola Gambino, Milli Maietti, Per Martin-Löf, Grigori Mints, Erik Palmgren, Frank Pfenning, Dana Scott, and Anton Setzer for their contributions. This work is part of the Logic of Types and Computation project at Carnegie Mellon University under the direction of Dana Scott.

∗Department of Philosophy, Carnegie Mellon University, Pittsburgh, USA, e-mail:

awodey@cmu.edu

†IMFM & Department of Mathematics, University in Ljubljana, Slovenia, e-mail:

Andrej.Bauer@andrej.com

1 Introduction

According to one conception of the theory of types, propositions and types are identified:

Propositions = Types .

This idea is well-known under the slogan “Propositions as types”, and has been developed by Martin-Löf [ML84] and others [How80, Tai]. In this report we distinguish propositions and types, but stay within a type-theoretic framework. We regard some types to be propositions, but not necessarily all of them. Additionally, each type A has an associated proposition [A]. This gives us a correspondence

[figure: Propositions; Types; [−]]

which is in fact an adjunction. Since it will turn out that [P] = P for any proposition P, the propositions are exactly the types in the image of the bracket constructor [−]. We call these types [A] the bracket types. The picture is then simply

Propositions = [Types] .

These ideas are not new. Our work originated with Frank Pfenning’s bracket types for erasing computational content [Pfe01]. Speaking somewhat vaguely, the idea is to use a bracket type for hiding computational content of a type. As a simple example, consider the computational content of a term p of type

∏n:ℕ(_{∑m:ℕ}Eq(2m, n) +_{∑m:ℕ}Eq(2m + 1, n)) .

Given a natural number n, then pn = ⟨i, m⟩, where i ∈ {0, 1} and m ∈ ℕ, such that n = 2m + i. By bracketing the two dependent sums, we obtain the type

∏n:ℕ([_{∑m:ℕ}Eq(2m, n)] + [_{∑m:ℕ}Eq(2m + 1, n)]) .

A term q of this type hides the information that is provided by the dependent sums so that qn is either 0 or 1, depending on whether n is even or odd. In the extreme case, a term r of type

[_{∏n:ℕ}(_{∑m:ℕ}Eq(2m, n) +_{∑m:ℕ}Eq(2m + 1, n))]

does not carry any computational content at all—it just witnesses the fact that every number is even or odd.

The bracket types which we consider are essentially the same as the mono types of Maietti [Mai98], in a suitable setting. Palmgren [Pal01] formulated a BHK interpretation of intuitionistic logic and used image factorizations, which are used in the semantics of our bracket types, to relate the BHK interpretation to the standard category-theoretic interpretation of propositions as subobjects. Aczel and Gambino [AG01] have promoted what they call logic-enriched type theory in which they separate the logic from type theory. The bracket types can be used to translate the primitive logic back into type theory (the usual translation of “propositions as types” works as well). Already in his Dialectica article, Lawvere [Law69] proposed a categorical treatment of proof theory that is closely related to bracket types.

The report is organized as follows. In Section 2 we introduce the bracket types. In Section 3 we give the semantics of bracket types in regular categories, and prove its soundness and completeness. In Section 4 we study some properties of bracket types. In Section 5 we show how bracket types are used in conjunction with other dependent types to define the logical connectives and quantifiers within type theory. In Section 6 we use bracket types to compare two interpretations of logic: the standard “propositions as types” interpretation, and the usual first-order one.

2 Bracket Types

We consider a Martin-Löf style dependent type theory [ML84, ML98]. For the formulation of bracket types we do not need dependent sums or products, but we sometimes assume that they are present in the type theory. We work in a type theory with strong and extensional equality and strong dependent sums, cf. [Jac99]. For reference, we list the rules in Appendix A.

Among the types, there are some that satisfy the following condition of “proof irrelevance”:

\frac{Γ ⊢ P type  Γ ⊢ q : P  Γ ⊢ p : P}{Γ ⊢ p = q : P}  (1)

In words, this means that any two terms p and q of such a type P are (extensionally) equal. We call the types satisfying proof irrelevance propositions. They were called mono types by Maietti [Mai98], and there are other equivalent formulations.

If P and Q are propositions in this sense, then clearly so are

1, P × Q, P → Q, _{∏x:A}P

where in the last expression P may depend on an arbitrary type A. In logical terms, this means that propositions are already closed under the following logical operations:

T, P ∧ Q, P ⟹ Q, ∀x:A. P .

In Section 5 we will see how to define the remaining first-order logical operations.

Because of proof irrelevance, if a proposition P is inhabited, then it is so by precisely one term (up to extensional equality). Thus, a typing judgment

Γ ⊢ p : P

is like a statement of P ’s truth,

Γ ⊢ P true

as p does not play any role other than uniquely witnessing the fact that P holds.

We introduce a new type constructor [−] which associates to each type A a proposition [A], called the associated proposition of A. The axioms given in Figure 1 were designed with the following adjunction in mind, for any type A and proposition P:

\begin{matrix}x : A ⊢ p : P \\ x′ : [A] ⊢ p′ : P \end{matrix}  (2)

The equivalence states that the bracket operation is left adjoint to the inclusion of propositions into types. We will derive this correspondence in the semantics of bracket types in Section 4. Using the rules provided in Figure 1, we can take p′ = (p where [x] = x′), since the equality condition on p : P for elimination is satisfied by proof irrelevance (1). See remark 5 in Section 7 for consideration of alternate formulations of bracket types.

As an example, let us show that the term forming operation [−] is ‘epic’ in the following sense:

\frac{Γ, x:A ⊢ s\{[x]/u\} = t\{[x]/u\} : B}{Γ, u:[A] ⊢ s = t : B}  (3)

If we think of a term Γ, x:A ⊢ r : B as an arrow A → B in the slice category over Γ, as we will in Section 3, then we have the following situation over Γ:

\xymatrix{A \ar[r]^{[−]} & [A] \ar[r]^{s} \ar[r]_{t} & B}

Bracket types

\frac{Γ ⊢ A type}{Γ ⊢ [A] type} formation  \frac{Γ ⊢ a : A}{Γ ⊢ [a] : [A]} intro
\frac{Γ ⊢ q : [A] Γ ⊢ B type Γ, x:A ⊢ b : B Γ, x:A, y:A ⊢ b = b\{y/x\} : B}{Γ ⊢ b where [x] = q : B} elim
\frac{Γ ⊢ p : [A]  Γ ⊢ q : [A]}{Γ ⊢ p = q : [A]} equality

Conversions

b where [x] = [a] =_{β} b{a/x}
b{[x]/u} where [x] = q =_{η} b{q/u}

Free variables

FV([A]) = FV(A)
FV([a]) = FV(a)
FV(b where [x] = q) = (FV(b) \ {x}) ∪ FV(q)

Substitution

[A]{t/x} = [A{t/x}]
[a]{t/x} = [a{t/x}]
(b where [x] = q){t/y} = b{t/y} where [x] = (q{t/y})

(provided x ≠ y and capture of x in t is avoided)

Compatibility rules

A = A′ ⟹ [A] = [A′]
a = a′ ⟹ [a] = [a′]
b = b′ ∧ q = q′ ⟹ (b where [x] = q) = (b′ where [x] = q′)

Figure 1: Bracket types Now (3) says that s ∘ [−] = t ∘ [−] implies s = t for arbitrary s, t : A → B, which means that [−] is epic. To prove (3), observe first that by the equality rule we have

Γ, x:A, y:A ⊢ [x] = [y] : [A]

therefore

Γ, x:A, y:A ⊢ s{[x]/u} = s{[y]/u} : [A]

which means that we can form the term s{[x]/u} where [x] = u. Similarly, we can form the term t{[x]/u} where [x] = u. Now we get

s =_{η} (s{[x]/u} where [x] = u) = (t{[x]/u} where [x] = u) =_{η} t .

The second equality follows from the assumption s{[x]/u} = t{[x]/u} and the compatibility rule for where terms.

A consequence of (3) is the following conversion, called exchange:

b where [x] = (p where [y] = q) = (b where [x] = p) where [y] = q .

The rule is valid when y ≠ x and y ∉ FV(b). By (3) it suffices to verify the exchange rule for the case q = [z] where z:A is a fresh variable. We then get

(b where [x] = p) where [y] = [z] =_{β} b{z/y} where [x] = (p{z/y})
= b where [x] = (p{z/y})

=_{β} b where [x] = (p where [y] = [z])

In the second equality we took into account the fact that y does not occur freely in b, and in the third equality we applied the η rule to the subterm p{z/y}, which we can do because of the compatibility rules.

3 Categorical Semantics of Bracket Types

In this section we present a semantics for bracket types in regular categories, see e.g. [Bor94] for the latter. The rules in Figure 1 are sound and complete for such semantics.

Definition 3.1 A regular category C is a category with finite limits in which

1. every kernel pair has a coequalizer, and

2. the pullback of a regular epimorphism is a regular epimorphism.

The first condition states that in a regular category we can form quotients by equationally defined equivalence relations, and the second condition requires such quotients to behave well with respect to finite limits.

Let us first recall how to interpret dependent type theory with dependent sums ∑ and strong extensional equality Eq in a category with finite limits. We use the semantic bracket [[X]] to denote the interpretation of X, where X could be a type, a term, a context, or a judgment. When no confusion can arise, we omit the semantic brackets, especially in diagrams, in order to improve readability. We usually denote the interpretation of a context x_{1}:A_{1}, …, x_{n}:A_{n} as (A_{1}, …, A_{n}) instead of [[x_{1}:A_{1}, …, x_{n}:A_{n}]].

The empty context is interpreted as the terminal object 1. The interpretation of a type in a context

Γ ⊢ A type

is given in the slice category C/[[Γ]] by an arrow, called a display map,

\xymatrix{[[Γ, x:A]] \ar[d]_{[[Γ⊢A]]} \\ [[Γ]]}

where we here abbreviated the name of the arrow. Its domain is the interpretation of the context Γ, x:A.

A term in a context

Γ ⊢ t : A

is interpreted by a point of (Γ, A) in the slice C/[[Γ]]

\xymatrix{(Γ) \ar[rr]^{[[Γ⊢t:A]]} \ar[dr]_{=} &  & (Γ, A) \ar[dl]^{Γ⊢A} \\  & (Γ)}

In other words, a term Γ ⊢ t : A is interpreted as a section of the interpretation of Γ ⊢ A type. Normally, we write just [[t]] or t instead of [[Γ ⊢ t : A]].

We interpret substitutions of a term a for a variable x,

\frac{Γ ⊢ a : A  Γ, x:A ⊢ B type}{Γ ⊢ B\{a/x\} type}  \frac{Γ ⊢ a : A  Γ, x:A ⊢ t : B}{Γ ⊢ t\{a/x\} : B\{a/x\}}

as indicated in the following pullback diagram:

[figure: (Γ); [[t{a/x}]]; a; =; (Γ, x:A); t; [[Γ, B{a/x}]]; [[Γ⊢B{a/x}]]; (Γ, x:A, B); Γ,x:A⊢B; (Γ); a; (Γ, A)]

The interpretation of a dependent sum formed as

\frac{Γ, x:A ⊢ B type}{Γ ⊢ _{∑x:A}B type}

is the composition of the arrows

\xymatrix{(Γ, A, B) \ar[d]_{Γ,A⊢B} \ar[dd]^{Γ⊢∑_{A} B} \\ (Γ, A) \ar[d]_{Γ⊢A} \\ (Γ)}

This gives us a connection between the interpretation of contexts and dependent sums, because it must be the case that [[Γ, A, B]] = [[Γ,_{∑x:A}B]].

The interpretation of an equality type formed as

\frac{Γ ⊢ s : A Γ ⊢ t : A}{Γ ⊢ Eq_{A}(s, t) type}

is the equalizer of s and t, as in the following diagram:

\xymatrix{(Γ, Eq_{A}(s, t)) \ar[r]^{[[Γ⊢Eq_{A}(s,t)]]} & (Γ) \ar[r]^{s} \ar[r]_{t} & (Γ, A)}

When s and t are the same term, the equalizer is trivial and we have

[[Γ, Eq_{A}(t, t)]] = [[Γ]]

From this we obtain the interpretation of a ‘reflexivity’ term

\frac{Γ ⊢ t : A}{Γ ⊢ r(t) : Eq_{A}(t, t)}

simply as the identity arrow

\xymatrix{(Γ) \ar[r]^{[[r(t)]] = 1_{[[Γ]]}} & (Γ) = (Γ, Eq_{A}(t, t))}

Next, we give the interpretation of the first and the second projection from a dependent sum. Consider the terms

\frac{Γ ⊢ p : _{∑x:A}B}{Γ ⊢ π_{1}(p) : A}  \frac{Γ ⊢ p : _{∑x:A}B}{Γ ⊢ π_{2}(p) : B\{π_{1}(p)/x\}}

We interpret π_{1}(p) as the composition of arrows

\xymatrix{(Γ) \ar[r]^{p} & (Γ, A, B) \ar[r]^{Γ,A⊢B} & (Γ, A)}

and π_{2}(p) as in the following diagram:

[figure: (Γ); [[π_{2}(p)]]; p; =; (Γ, B{π_{1}(p)/x}); (Γ, x:A, B); Γ,A⊢B; (Γ); π_{1}(p); (Γ, A)]

The arrow [[π_{2}(p)]] is the unique arrow obtained from the universal property of the displayed pullback diagram. A dependent pair formed as

\frac{Γ ⊢ a : A  Γ, x:A ⊢ B type  Γ ⊢ b : B\{a/x\}}{Γ ⊢ ⟨a, b⟩ : _{∑x:A}B}

is interpreted as the composition of b with the top arrow in the diagram

[figure: (Γ, B{a/x}); Γ⊢B{a/x}; (Γ, A, B); Γ,A⊢B; (Γ); a; b; (Γ, A)]

This completes the outline of the interpretation of dependent type theory with ∑ and Eq types in a finitely complete category.

Remark 3.2 It is well known that certain coherence problems arise when we interpret dependent type theory as above. The problems are caused by the fact that in general the result of successive pullbacks along arrows g : B → C and f : A → B is only isomorphic to the pullback along the composition g ∘ f, whereas for a completely water-tight interpretation equality is required.

There are several standard ways of resolving this problem, most notably by interpreting the type theory in a suitable fibered category [Jac99], and then applying technical results pertaining to these [Hof95]. We do not wish to obscure matters by employing such technical devices. The interested reader may either translate our presentation into a suitable fibered setting, or assume some other remedy, such as making a coherent choice of pullbacks. (For the syntactic category in Section 3, such pullbacks can be chosen simply as substitutions.)

We now proceed with the interpretation of bracket types. A regular category C has stable regular epi–mono image factorizations. Every arrow f : A → B can be factored uniquely up to isomorphism as a regular epi followed by a mono

[figure: A; f; B; Im(f)]

The factorization is obtained by taking the coequalizer q of the kernel pair (π_{1}, π_{2}) of f, as in the following diagram:

[figure: A ×_{B} A; π_{1}; π_{2}; A; f; q; B; Im(f); i]

The arrow i : Im(f) → B exists and is unique with i ∘ q = f because f coequalizes its own kernel pair. It can moreover be shown that i is always monic.

A bracket type

\frac{Γ ⊢ A type}{Γ ⊢ [A] type}

is interpreted as the image of [[Γ ⊢ A]]:

[figure: (Γ, A); [−]; Γ⊢A; [[Γ, [A]]] = Im(Γ ⊢ A); [[Γ⊢[A]]]; (Γ)]

The regular epi part of the factorization is used in the interpretation of term bracketing

\frac{Γ ⊢ a : A}{Γ ⊢ [a] : [A]}

The interpretation of [a] is the composition

\xymatrix{(Γ) \ar[r]^{a} & (Γ, A) \ar@{->>}[r]^{[−]} & (Γ, [A])}

It remains to interpret the where terms. Consider

\frac{Γ ⊢ q : [A]  Γ, x:A ⊢ b : B  Γ, x:A, y:A ⊢ b = b\{y/x\} : B}{Γ ⊢ b where [x] = q : B}

The various terms and types occurring above are interpreted in the slice over [[Γ]], as shown in the following diagram:

\xymatrix{(Γ, x:A, y:A) \ar[r]^{x} \ar[r]_{y} & (Γ, A) \ar[dr]_{b} \ar@{->>}[r]^{[−]} & (Γ, [A]) \ar[d]_{\overline{b}} & (Γ) \ar[l]_{q} \ar[dl]^{(b where [x]=q)} \\  &  & (Γ, A, B)}

By assumption, the arrow labelled b coequalizes the two projections. The regular epi [−] is the coequalizer of those two projections, therefore Γ ⊢ b factors uniquely through [−] via \overline{b}. The interpretation of (b where [x] = q) is the composition \overline{b} ∘ q.

Theorem 3.3 The interpretation of bracket types in regular categories is sound.

Proof. We omit the routine proof of soundness of the interpretation of dependent sums and equality types, and concentrate on the interpretation of bracket types. We need to verify the equality rule, two conversion rules, the substitution rules and the compatibility rules.

When the equality rule is translated into the semantics, it states that the arrows p and q in the following diagram are equal:

[figure: (Γ); p; q; =; (Γ, [A]); Γ⊢[A]; (Γ)]

Since p and q are sections of the mono [[Γ ⊢ [A]]] they must be equal. Next, consider the β-rule

b where [x] = [a] =_{β} b{a/x} .

The relevant diagram is

\xymatrix{(Γ, A) \ar@{->>}[d]_{[−]} \ar[dr]_{b} & (Γ) \ar[l]_{a} \ar[d]^{(b where [x]=[a])} \\ (Γ, [A]) \ar[r]_{\overline{b}} & (Γ, A, B)}

The arrow \overline{b} is the unique factorization of b through [−]. By construction, the lower-left triangle commutes, and the right-hand arrow is defined to be the composition \overline{b} ∘ [−] ∘ a, which implies that the upper-right triangle commutes. This is precisely what the β-rule states.

To verify the η-rule

b{[x]/u} where [x] = q =_{η} b{q/u}

we consider the following diagram:

\xymatrix{(Γ, x:A) \ar[dr]_{b\{[x]/u\}} \ar@{->>}[r]^{[−]} & (Γ, u:[A]) \ar[d]_{b} & (Γ) \ar[l]_{q} \ar[dl]^{(b\{[x]/u\} where [x]=q)} \\  & (Γ, A, B)}

The arrow b{[x]/u} is the composition of [−] and b. There is a unique factorization \overline{b\{[x]/u\}} of b\{[x]/u\} through [−], and the interpretation of b\{[x]/u\} where [x] = q is the composition \overline{b\{[x]/u\}} ∘ q. But b\{[x]/u\} also factors through [−] via b, so it must be that \overline{b\{[x]/u\}} = b. Now the η-rule follows, because the arrow b ∘ q is the interpretation of b{q/u}.

The substitution rules are valid because the regular epi–mono factorizations are stable under pullbacks. The compatibility rules are valid simply because we interpreted the bracket types and terms by well defined categorical operations (which therefore preserve equality).

Theorem 3.4 The semantics of bracket types in regular categories is complete.

Proof. In order to prove the theorem we build a syntactic category S from the dependent type theory 𝔻 with 1, ∑, Eq, and [−] types. We then show that S is a regular category, and that the interpretation of 𝔻 in S validates precisely all the provable equations between terms.

The objects of S are the closed types of 𝔻. The arrows from a closed type A to a closed type B are represented by terms

x:A ⊢ t : B

where two such terms s and t represent the same arrow if, and only if, 𝔻 proves that they are equal x:A ⊢ s = t : B (since we are working with extensional equality it does not matter which sense of ‘equal’ we take). Furthermore, two terms in a context will be considered equal if we can obtain one from the other by renaming bound and free variables in a captureavoiding way.

The composition of arrows x : A ⊢ t : B and y : B ⊢ s : C is the arrow x : A ⊢ s{t/y}. That composition is well-defined and associative follows from the properties of substitution. The identity arrow on A is represented by x : A ⊢ x : A.

Since terms representing the same arrow must be provably equal, it suffices to show that S is regular. Let us prove first that it has finite limits. The terminal object is 1. Indeed, for any type A we have an arrow x:A ⊢ ⋆ : 1, and for any other arrow x:A ⊢ t : 1 we have x:A ⊢ t = ⋆ : 1 by the equality axiom for the unit type. It is fairly easy to verify that S has binary products: the product of A and B is the type A × B = _{∑x:A}B.

The equalizer of arrows x : A ⊢ s : B and x : A ⊢ t : B is constructed as follows:

\xymatrix{_{∑x:A}Eq_{B}(s, t) \ar[r]^{π_{1}} & A \ar[r]^{s} \ar[r]_{t} & B}

Proving that the arrow π_{1} equalizes s and t amounts to proving that

v : _{∑x:A}Eq_{B}(s, t) ⊢ s{π_{1}(v)/x} = t{π_{1}(v)/x} .

This follows from the extensionality of equality since π_{2}(v) is a term of type

Eq_{B}(s{π_{1}(v)/x}, t{π_{1}(v)/x}) .

Suppose z : C ⊢ h : A equalizes s and t:

z : C ⊢ s{h/x} = t{h/x} : B

Then we can form the term witnessing the equality

z : C ⊢ r(s{h/x}) : Eq_{B}(s{h/x}, t{h/x})

and from that the factorization of h through the equalizer:

z : C ⊢ ⟨h, r(s{h/x})⟩ : _{∑x:A}Eq_{B}(s, t)

This arrow is unique because any two terms of a (strong extensional) Eq type are equal. Therefore, S has all finite limits.

It remains to show that S has stable coequalizers of kernel pairs. Before proceeding with the proof, let us spell out the interpretation of dependent types with 1, ∑ and Eq in S.

Dependent contexts are interpreted by nested dependent sums

[[1]] = 1
[[x_{1}:A_{1}, …, x_{n}:A_{n}]] = _{∑x_{1}:A_{1}}_{∑x_{2}:A_{2}} ⋯_{∑x_{n−1}:A_{n−1}}A_{n}

In order to keep the notation simple we denote such a nested sum by (A_{1}, …, A_{n}). A type in a context, Γ ⊢ A type, is interpreted by a suitable display map

\xymatrix{(Γ, A) \ar[d]_{Γ⊢A} \\ (Γ)}

More precisely, if Γ is y_{1}:B_{1}, …, y_{n}:B_{n}, then the display map Γ ⊢ A is the term

p : (B_{1}, …, B_{n}, A) ⊢ ⟨π_{1}(p), π_{1}(π_{2}(p)), …, π_{1}(π_{2}^{n−1}(p))⟩ : (B_{1}, …, B_{n}) .

With this notation, we get a good match between the syntax of dependent types and their interpretation in S. For example, a dependent sum in a dependent context

\frac{Γ, x:A ⊢ B type}{Γ ⊢ _{∑x:A}B}

is interpreted essentially “by itself” as the arrow

\xymatrix{(Γ,_{∑x:A}B) \ar[r]^{Γ⊢∑_{x:A} B} & (Γ)}

Similarly, an equality type in a dependent context is interpreted essentially by itself, except that we must form the nested dependent sums in order to interpret the dependent context in which the type is placed.

Consider an arrow x : A ⊢ t : B in S. We can form the dependent type

y : B ⊢ _{∑x:A}Eq_{B}(t, y) type

and re-interpret it in S. Its interpretation is the display map

p : _{∑y:B}_{∑x:A}Eq_{B}(t, y) ⊢ π_{1}(p) : B

This display map is isomorphic in S/B to the arrow x : A ⊢ t : B that we started with. Indeed, A is isomorphic to _{∑y:B}_{∑x:A}Eq_{B}(t, y) via the isomorphisms

x : A ⊢ ⟨t, ⟨x, r(t)⟩⟩ : _{∑y:B}_{∑x:A}Eq_{B}(t, y)

and

p : _{∑y:B}_{∑x:A}Eq_{B}(t, y) ⊢ π_{1}(π_{2}(p)) : A

It is easy to check that these two isomorphisms commute with the arrows t and π_{1}. This shows that every arrow in S is isomorphic to the interpretation of a dependent type in a context of the form z : C ⊢ D type. Thus, in order to show that S has coequalizers of kernel pairs, we only need to find the coequalizers of the kernel pairs of arrows that are interpretations of such types, namely those of the form

p : _{∑z:C}D ⊢ π_{1}(p) : C  (4)

Because any p : _{∑z:C}D can be written uniquely as a pair ⟨z, w⟩ with z : C and w : D, we shall write (4) more readably as

z : C, w : D ⊢ z : C  (5)

This way we avoid the use of nested projections later on, when we have to deal with nested dependent sums. The kernel pair of (5) is easily seen to be

\xymatrix{(z:C, v:D, w:D) \ar[r]^{⟨z,v⟩} \ar[r]_{⟨z,w⟩} & (C, D)}  (6)

We can get its coequalizer by applying bracket types:

\xymatrix{(z:C, v:D, w:D) \ar[r]^{⟨z,v⟩} \ar[r]_{⟨z,w⟩} & (z:C, u:D) \ar[r]^{⟨z,[u]⟩} & (C, [D])}  (7)

Indeed, ⟨z, [u]⟩ coequalizes the kernel pair by the equality rule for bracket types:

\frac{z:C, v:D, w:D ⊢ [v] : [D] z:C, v:D, w:D ⊢ [w] : [D]}{z:C, v:D, w:D ⊢ [v] = [w] : [D]}

To see that it is the coequalizer, suppose we have an arrow

z:C, u:D ⊢ t : B

that coequalizes the kernel pair, which means that

z:C, v:D, w:D ⊢ t{v/u} = t{w/u} : B

Then we can form the factorization of t through [u] as the where term

z:C, y:[D] ⊢ t where [u] = y : B

The situation is depicted in the following diagram:

\xymatrix{(z:C, v:D, w:D) \ar[r]^{⟨z,v⟩} \ar[r]_{⟨z,w⟩} & (z:C, u:D) \ar[dr]_{⟨z,[u]⟩} \ar[rr]^{t} &  & (B) \\  &  & (C, y:[D]) \ar@{-->}[ur]_{(t where [u]=y)}}

The triangle commutes because

t where [u] = [u] = t

by the β-rule for bracket types. The factorization is unique, because [−] is epic, as we showed in Section 2.

Lastly, let us show that in S regular epis are stable under pullbacks. Since every arrow in S is isomorphic to one of the form (5), every kernel pair is isomorphic to one of the form (6) and so every regular epi is isomorphic to one of the form (7). Let us then compute, without loss of generality, a pullback of such a coequalizer along an arrow of the form (5):

[figure: (y:B, z:C, u:D); ⟨z,u⟩; ⟨y,z,[u]⟩; (z:C, u:D); ⟨z,[u]⟩; (y:B, z:C, v:[D]); ⟨z,v⟩; (C, [D])]

It is evident that the left-hand arrow is a regular epi, because it is of the form (7). It is also clear that the diagram commutes. To see that it is a pullback, observe that it appears as the upper half of the following commutative diagram:

[figure: (y:B, z:C, u:D); ⟨z,u⟩; ⟨y,z,[u]⟩; (z:C, u:D); ⟨z,[u]⟩; (y:B, z:C, v:[D]); ⟨z,v⟩; ⟨y,z⟩; (z:C, [D]); z; (B, z:C); z; (C)]

The outer rectangle and the lower square are obviously pullbacks, hence the upper square is as well.

We can express the regular epi–mono factorization of an arrow x : A ⊢ t : B as

[figure: A; t; q; B; Im(t); m]

with

Im(t) = _{∑y:B} [_{∑x:A}Eq_{A}(t, y)]
m = z : Im(t) ⊢ π_{1}(z) : B
e = x : A ⊢ ⟨t, [⟨x, r(t)⟩]⟩ : Im(t) .

4 Properties of Bracket Types

As a consequence of the complete semantics of the previous section we can prove facts about bracket types by arguing in a general regular category. Thus we identify types with objects and terms in contexts with arrows. We use this technique in the present section to establish some of the basic properties of bracket types.

First observe that, in any context Γ, the types satisfying proof irrelevance (1), are exactly the cartesian idempotents:

P prop ⟺ P = P ×_{Γ} P  (8)

where here and in what follows, = between types means that they are canonically isomorphic. For example, in (8) the canonical isomorphisms are the diagonal and the projection. If P and Q are propositions in the context Γ then the corresponding display maps (Γ, P) → (Γ) and (Γ, Q) → (Γ) are monos, so that we can think of P and Q as subobjects of Γ. In particular, we can write P ≤ Q when there exists a (necessarily unique) arrow P → Q in the slice over Γ.

Proposition 4.1 For any types A, B in a context Γ:

1. [−] is functorial

2. There is a canonical arrow A → [A], natural in A

3. [[A]] = [A]

4. A = [A] ⟺ A = A ×_{Γ} A 5. 1 = [1]

6. [A ×_{Γ} B] = [A] ×_{Γ} [B]

Moreover, (1)–(4) characterize [−] uniquely among stable functors on regular categories.

Proof. The action of [−] on an arrow x : A ⊢ t : B is the bottom arrow in the following diagram

\xymatrix{x:A \ar[r]^{t} \ar@{->>}[d]_{[−]} & B \ar@{->>}[d]^{[−]} \\ u:[A] \ar[r]_{[t] where [x]=u} & [B]}

The action of the functor [−] on the arrow t is not to be confused with the arrow t ∘ [−] = [t] : A → [B], which does not even have the correct domain.

The rest of the proposition is proved easily. By way of example, we prove that [[A]] = [A]. In the diagram

[figure: A; Γ; [A]; [[A]]]

the arrow [A] → [[A]] is the regular epi part of an image factorization of the mono [A] → Γ, therefore it is an isomorphism.

Let us see how the adjunction (2) is validated, for any type A and a proposition P, by which we mean that P satisfies (8): given any arrow (term) A → P, we apply the functor [−] to get a unique one [A] → [P], but [P] = P since P is a proposition. Conversely, given [A] → P, we precompose with A → [A] to get A → P.

To see how [−] and ∑ interact, consider the types [_{∑A}B] and [_{∑A}[B]] in a context Γ, obtained by applying the ∑ and [−] formation rules in two different orders, as indicated in the following diagram.

[figure: (Γ, A, B); ∑_{A} B; (Γ, [_{∑A}B]); [∑_{A} B]; (Γ, A, [B]); ∑_{A}[B]; (Γ, [_{∑A}[B]]); [∑_{A}[B]]; (Γ)]

Since the two ways around the diagram from (Γ, A, B) to (Γ) are both regular epi–mono factorizations of the same arrow, by uniqueness of images we have:

[_{∑A}[B]] = [_{∑A}B]

For equality types Eq_{A}, the elimination rule,

\frac{Γ ⊢ e : Eq_{A}(a, b)}{Γ ⊢ e = r(a) : Eq_{A}(a, b)}

implies that (Eq_{A}(a, b))^{2} = Eq_{A}(a, b), whence:

[Eq_{A}(a, b)] = Eq_{A}(a, b) .

Together with [1] = 1, that summarizes the properties of [−] on its own. Things become more interesting in the presence of other type-forming operations,

0, A + B, _{∏A}B, A → B, ¬A ,

where ¬A stands for A → 0.

For finite sums we get

[0] = 0 ,  [A + B] = [[A] + [B]] .

by an argument similar to that for ∑.

For ∏ we have (_{∏A}[B])^{2} = _{∏A}[B]^{2} = _{∏A}[B], so that

[_{∏A}[B]] = _{∏A}[B] ,

and one sees easily that

[_{∏A}B] ≤ _{∏A}[B] .  (9)

When we specialize this to a function type A → B we get

[A → [B]] = A → [B] ,  [A → B] ≤ A → [B] .  (10)

For brackets on the left, it is easy to see that

A → [B] = [A] → [B] = [[A] → [B]] .  (11)

Taking B = 0 therefore yields the noteworthy

¬A = ¬[A] = [¬A] .  (12)

Since ¬A is thus always a proposition it is natural to ask whether perhaps:

[A] = ¬¬A ?

The answer is in general negative, since there are many simple models in regular lccc’s in which double negation closure is not trivial on monos.

5 First Order Logic via Bracket Types

In dependent type theory with the type-forming operations,

0, 1, [A], A + B, Eq_{A}, _{∑x:A}B, _{∏x:A}B ,

the propositions in every context model first-order logic, under the following definitions:

\begin{aligned}⊤ & = 1 \\ ⊥ & = 0 \\ φ ∧ ψ & = φ × ψ \\ φ ∨ ψ & = [φ + ψ] \\ φ ⟹ ψ & = φ → ψ \\ ¬φ & = φ → 0 \\ x =_{A} y & = Eq_{A}(x, y) \\ ∀x:A. φ & = _{∏x:A}φ \\ ∃x:A. φ & = [_{∑x:A}φ] \end{aligned}  (13)

The bracket is thus used to rectify the operations + and ∑ because they lead out of propositions.

Operations defined in (13) satisfy the usual rules for intuitionistic firstorder logic, and the resulting system is a dependent type theory with firstorder logic over each type. It can be described categorically as the internal logic of a regular lccc with finite sums. The chief difference between this formulation and more customary ones using both type theory and predicate logic is that the first-order logical operations on the propositions are here defined in terms of the operations on types, rather than taken as primitive.

In addition to first-order logic, one can use brackets to define subset types. For any type Γ, x:A ⊢ B type, the associated subset type

Γ ⊢ {x : A | B} type

is defined by

{x : A | B} = _{∑x:A}[B(x)].

These can be compared to the toolbox for subset types by Sambin [SV98].

By way of example, we remark that the category Equ of equilogical spaces [Sco96, BBS] is a regular lccc, and so supports all of the logical operations considered above. For X ∈ Equ, the bracket of an X-indexed family of equilogical spaces

(E_{x})_{x∈X}

is of course the regular epi–mono image factorization of the corresponding display map

p : E → X .

The domain of the image [E] ↣ X is constructed from the same underlying space |E| as E = (|E|, ∼_{E}), but with the new equivalence relation, given by

e ∼_{[E]} e′ ⟺ pe = pe′ .

The fact that Equ has this much internal logic without being a topos, or even a pretopos, was the original observation from which the present work grew [BBS].

6 First Order Logic vs. Propositions-as-Types

As an application of bracket types, we can compare the conventional interpretation of first-order logic with the propositions-as-types interpretation, and relate first-order provability to provability in dependent type theory (without brackets).

Suppose we have a single-sorted first-order theory 𝕋, consisting of constants, function and relation letters, and axioms given as closed formulas. The standard propositions-as-types interpretation ∗ of 𝕋 into type theory,

[figure: 𝕋; ∗; DTT]  (14)

is determined by fixing the interpretations of the basic sort, the constants, function and relation symbols. The rest of the interpretation is determined inductively in the evident way, using the type-forming operations in place of the corresponding logical ones, cf. [ML98]. For example,

(∀x∃y.R(x, y) ∨ P (x))^{∗} = _{∏x:I_{∗}}_{∑y:I_{∗}}(R^{∗}(x, y) + P^{∗}(x)) ,

where I^{∗} is a new basic type interpreting the domain of individuals I, and the dependent types x : I^{∗} ⊢ P^{∗}(x) and x : I^{∗}, y : I^{∗} ⊢ R^{∗}(x, y) interpret the relation symbols P and R.

If we add a constant a : α^{∗} for each axiom α, the translation φ^{∗} of a provable closed formula φ becomes inhabited by a term that is obtained from a straightforward translation of the proof of φ into type theory. Thus,

IFOL(𝕋) ⊢ φ implies DTT(𝕋) ⊢ φ^{∗} ,  (15)

where by DTT(𝕋) ⊢ φ^{∗} we mean that the type φ^{∗} is inhabited in the dependent type theory enriched with the basic types and constants needed for the translation ∗, and with constants inhabiting the translations of axioms of 𝕋.

The question we want to consider is the converse implication: if φ^{∗} is inhabited in DTT(𝕋), must φ be provable in the intuitionistic first-order theory 𝕋? Note that functions of higher types may be used in a term inhabiting φ^{∗}, so this is not merely a matter of tracing out proofs in first-order logic.

Proofs of partial converses of (15) for different fragments of first-order logic have been given by Martin-Löf (∀, ⇒ in [ML98]) and, recently, Tait (∃, ∧, ∀, ⇒, ¬ in [Tai]). These results are for type theory with either no equality types, or intensional equality types, and proceed from normalization. We give a result below that applies to type theory with extensional equality for a large fragment of first-order logic.

Definition 6.1 A first-order formula ϑ is stable when it does not contain ∀ and ⇒, but negation ¬ is allowed as a special case of ⇒. A first-order formula φ is left-stable when in every subformula of the form ϑ ⇒ ψ, the formula ϑ is stable.

Theorem 6.2 If φ is left-stable then

DTT(𝕋) ⊢ φ^{∗} implies IFOL(𝕋) ⊢ φ .

Proof. There is a regular lccc E with finite coproducts and a conservative, first-order interpretation y of 𝕋 into E, schematically:

[figure: 𝕋; y; E]  (16)

A formula φ with free variables x_{1}, …, x_{n} is translated into a subobject y(φ) ∈ Sub(y(I)^{n}), where y(I) is the interpretation of the sort of individuals.

A sentence φ is translated into a subobject y(φ) ∈ Sub(1) of the terminal object, and the conservativity of y means that

y(φ) = 1 implies IFOL(𝕋) ⊢ φ .  (17)

For E we can take the first-order classifying topos for the theory 𝕋, in the sense of [BJ98] (sheaves on the syntactic logos generated by 𝕋).

Since E is locally cartesian closed and has finite coproducts, we can interpret dependent type theory with disjoint sums in it. If we compose this interpretation with the translation (14), where we set I^{∗} = y(I), and R^{∗} = y(R), f^{∗} = y(f) for the basic relation and function symbols, then we obtain another interpretation ⋆ of 𝕋 into E, schematically:

[figure: 𝕋; ⋆; E]

Clearly if DTT(𝕋) ⊢ φ^{∗}, then in E there exists a point

\xymatrix{1 \ar[r] & φ^{⋆}}  (18)

namely the interpretation of the term inhabiting φ^{∗}.

Because E is regular, it has bracket types. The composition [−] ∘ ⋆ gives an interpretation of 𝕋 into the “propositional” logic of E in each slice E/(I^{⋆})^{n}. More precisely, every formula φ with free variables x_{1}, …, x_{n} is first interpreted as a type φ^{⋆} in the slice E/(I^{⋆})^{n}, and then the bracket of that type gives us a subobject of (I^{⋆})^{n},

[figure: [φ^{⋆}]; (I^{⋆})^{n}]

We will prove the theorem by comparing the subobjects [φ^{⋆}] and y(φ), for which we need the following two lemmas.

Lemma 6.3 If ϑ is stable, then [ϑ^{⋆}] = y(ϑ).

Proof. This follows from the equations (13) in the previous section, together with the fact that the indicated definitions agree with the firstorder operations in any topos, as is easily seen. Specifically, since the two interpretations plainly agree on the atomic formulas and y preserves the first-order operations, we can proceed by straightforward induction. For instance, the case of disjunctions goes as follows:

[(φ ∨ ψ)^{⋆}] = [φ^{⋆} + ψ^{⋆}]
= [φ^{⋆}] ∨ [ψ^{⋆}]
= y(φ) ∨ y(ψ)
= y(φ ∨ ψ)

This completes the proof of the lemma.

If we tried to prove the previous lemma for formulas that contain universal quantifiers and implications, we would get stuck because (9) and (10) are only inequalities. Negation works, however, thanks to (12).

Lemma 6.4 If φ is left-stable, then [φ^{⋆}] ≤ y(φ).

Proof. As in the previous lemma, we proceed by induction and use equations (13). The stable cases follow from Lemma 6.3. For universal quantifiers we have:

[(∀x.φ)^{⋆}] = [_{∏x:I_{⋆}} φ^{⋆}]
≤ _{∏x:I_{⋆}}[φ^{⋆}]  (by (9))
= ∀x:I^{⋆}. [φ^{⋆}]
≤ ∀x:I^{⋆}. y(φ)  (φ left-stable)
= ∀x : y(I). y(φ)
= y(∀x. φ)

For implication we have:

[(ϑ ⇒ ψ)^{⋆}] = [ϑ^{⋆} → ψ^{⋆}]
≤ ϑ^{⋆} → [ψ^{⋆}]  (by (10))
= [ϑ^{⋆}] → [ψ^{⋆}]  (by (11))
= [ϑ^{⋆}] ⇒ [ψ^{⋆}]
= y(ϑ) ⇒ [ψ^{⋆}]  (ϑ stable)
≤ y(ϑ) ⇒ y(ψ)  (ψ left-stable)
= y(ϑ ⇒ ψ)

This concludes the proof of the lemma.

To finish the proof of Theorem 6.2, let φ be a left-stable sentence such that DTT(𝕋) ⊢ φ^{∗}. Then, continuing from (18) above, in E we have maps:

1 → φ^{⋆} → [φ^{⋆}] ≤ y(φ) ≤ 1 .

So y(φ) = 1, and therefore IFOL(𝕋) ⊢ φ by (17).

Observe that every first-order formula φ is classically equivalent to one φ^{s} that is stable. The formula φ^{s}, which we call the stabilized translation of φ, is obtained by replacing in φ every ∀x. ϑ and ϑ ⟹ ψ by ¬∃x. ¬ϑ and ¬(ϑ∧¬ψ), respectively. The equivalence φ ⟺ φ^{s} holds intuitionistically if φ = ψ^{¬¬} is the double-negation translation of a formula ψ. Therefore, the stabilized double-negation translation

(φ^{¬¬})^{s}

takes a formula φ of classical first-order logic (CFOL) to a stable one in IFOL, with the property

CFOL ⊢ φ if, and only if, IFOL ⊢ (φ^{¬¬})^{s}

If we compose the ¬¬s translation with the propositions-as-types translation ∗, we obtain a translation

φ^{+} = ((φ^{¬¬})^{s})^{∗}

which takes formulas of classical first-order logic into dependent type theory.

Corollary 6.5 The translation φ ↦ φ^{+} of classical first-order logic into dependent type theory has the following property:

CFOL ⊢ φ if, and only if, DTT ⊢ φ^{+}

Here DTT ⊢ φ^{+} means that the type φ^{+} is inhabited.

Remark 6.6 The following formula was suggested to us by Thierry Coquand:

(∀x ∃y. R(x, y)) ⟹ ∀x, x′ ∃y, y′. (R(x, y) ∧ R(x′, y′) ∧ (x = x′ ⟹ y = y′)) .

It is not provable in intuitionistic first-order logic [Min], but its ∗-translation is inhabited in dependent type theory. Theorem 6.2 therefore cannot be extended to full intuitionistic first-order logic.

Remark 6.7 For the special case of intuitionistic propositional logic (IPC, with connectives ⊤, ∧, ⟹, ⊥, ∨) completeness with respect to dependent type theory (DTT) it is easily seen to hold for all formulas. Briefly, first we use the Curry-Howard correspondence between proofs in IPC and terms in simply-typed λ-calculus with disjoint sums and the empty type (STT) to conclude that

IPC ⊢ φ if, and only if STT ⊢ φ^{∗} .

Then we use the well-known correspondence between STT and bicartesian closed categories (BiCCC), to conclude that the completeness of IPC with respect to DTT follows from the fact that every BiCCC has a full and faithful BiCCC embedding into a locally cartesian closed category with finite coproducts.

7 Further Topics

There are several additional topics that one might consider in relation to bracket types, some of which we intend to purse in future work:

1. Intensionality. We have used extensional equality to determine bracket types, but one could as well consider modified brackets in type theory with intensional identity. Brackets in their current form might also be used in such intensional systems to distinguish those types for which identity is extensional.

2. Modal operators. The bracket is a diamond operation, in the sense of modal logic, in a system with dependent types. As such, it is an example of quantified modal logic. One can consider extending the work of Moggi [Mog91] and others on modal type theory to the dependent case. See also [DP00] in this connection.

3. Interdefinability. In certain systems of logic, the bracket operation is definable. For instance, in the presence of first-order existential quantifiers, we have

[A] = ∃x:A. (x = x) .

In a topos, we also have the option:

[A] = _{∏p:Ω}(A → {u:1 | p}) → {u:1 | p}

where {u:1 | p} ↣ 1 is the extension of p. A similar trick works in systems of type theory with universes. See [Acz00] for a study of related operations.

4. Classical type theory. Consider the rules

(a) [A] = ¬¬A  and  (b) [_{∏A}B] = _{∏A}[B] .

In toposes (a) is Excluded Middle and (b) is the Axiom of Choice, which is strictly stronger. In type theory, therefore, (b) cannot be proved from (a) (consider a permutation model), while the converse inference is plausible, but unverified. See [Awo95, Pal01] for related results.

5. Alternate formulations. We can also consider a formulation of bracket types in which we have a new judgment “Γ ⊢ P prop”, expressing the fact that P is a proposition. The rules would then be as follows:

\frac{Γ ⊢ A type}{Γ ⊢ [A] prop}  \frac{Γ ⊢ P prop}{Γ ⊢ P type}

\frac{Γ ⊢ a : A}{Γ ⊢ [a] : [A]}  \frac{Γ ⊢ q : [A]  Γ, x:A ⊢ p : P  Γ ⊢ P prop}{Γ ⊢ p where [x] = q : P}

\frac{Γ ⊢ p : P  Γ ⊢ q : P  Γ ⊢ P prop}{Γ ⊢ p = q : P}

This formulation is better from the type-theoretic point of view because it does not involve an equality judgment as a premise for the elimination rule. As stated so far, however, the rules permit many different interpretations, including the trivial interpretation in which the only proposition is the unit type 1, and [A] = 1 for all A. One could additionally assert that certain types are propositions:

\overline{Γ ⊢ 0 prop}  \overline{Γ ⊢ 1 prop}  \frac{Γ ⊢ P prop Γ ⊢ Q prop}{Γ ⊢ P × Q prop}

\frac{Γ ⊢ P prop Γ ⊢ Q prop}{Γ ⊢ P → Q prop}  \frac{Γ, x:A ⊢ P prop}{Γ ⊢ _{∏x:A}P prop}  \frac{Γ ⊢ s : A Γ ⊢ t : A}{Γ ⊢ Eq_{A}(s, t) prop}

This still leaves room for alternative interpretations. For example, nothing prevents interpreting propositions as regular monos and the bracket types as the epi–regular mono factorizations.

6. Normalization. It seems likely that the techniques of Maietti [Mai98] will succeed to prove normalization for terms in type theory with brackets. Both cases of intensional and extensional equality need to be investigated.

7. Type models. Type-theoretic models of bracket types could be built from setoids in type theory. A simpler construction is suggested by the regular completion of a left-exact category; namely, take only the definable setoids, which are the setoids whose equivalence relations are of the form Eq_{A}(a, b) for some type A and terms a, b : A.

A Dependent Sums and Equality Types

For completeness, we list the rules for dependent type theory with the unit type, strong dependent sums and strong extensional equality, cf. [Jac99].

Formation rules:

\overline{Γ ⊢ 1 type}  \frac{Γ, x:A ⊢ B type}{Γ ⊢ _{∑x:A}B type}  \frac{Γ ⊢ A type}{Γ, x:A, y:A ⊢ Eq_{A}(x, y) type}

Introduction and elimination rules:

\overline{Γ ⊢ ⋆ : 1}

\frac{Γ ⊢ a : A  Γ, x:A ⊢ B type  Γ ⊢ b : B\{a/x\}}{Γ ⊢ ⟨a, b⟩ : _{∑x:A}B}

\frac{Γ ⊢ p : _{∑x:A}B}{Γ ⊢ π_{1}(p) : A}  \frac{Γ ⊢ p : _{∑x:A}B}{Γ ⊢ π_{2}(p) : B\{π_{1}(p)/x\}}

\frac{Γ ⊢ t : A}{Γ ⊢ r(t) : Eq_{A}(t, t)}

In _{∑x:A}B, variable x is bound in A. Equality rules:

\frac{Γ ⊢ t : 1}{Γ ⊢ t = ⋆ : 1}  \frac{Γ ⊢ e : Eq_{A}(s, t))}{Γ ⊢ s = t : A}  \frac{Γ ⊢ e : Eq_{A}(s, t)}{Γ ⊢ e = r(s) : Eq_{A}(s, t)}

Conversions:

π_{1}(⟨a, b⟩) = a
π_{2}(⟨a, b⟩) = b
⟨π_{1}(p), π_{2}(p)⟩ = p

References

[Acz00] P. Aczel. The Russell-Prawitz modality. Technical Report UMCS-00-12-1, Department of Computer Science, University of Manchester, 2000.

[AG01] P. Aczel and N. Gambino. Collection principles in dependent type theory. Draft manuscript, 2001.

[Awo95] S. Awodey. Axiom of choice and excluded middle in categorical logic. Bulletin of Symbolic Logic, 1:344, 1995. Abstract of unpublished manuscript.

[BBS] A. Bauer, L. Birkedal, and D.S. Scott. Equilogical spaces. Theoretical Computer Science. To appear.

[BJ98] C. Butz and P.T. Johnstone. Classifying toposes for first-order theories. Annals of Pure and Applied Logic, 91, 1998.

[Bor94] F. Borceux. Handbook of Categorical Algebra, volume 2. Cambridge University Press, 1994.

[DP00] R. Davies and F. Pfenning. A modal analysis of staged computation. Journal of the ACM, 2000. Significantly extended and revised version of a technical summary from POPL’96.

[Hof95] M. Hofmann. On the interpretation of type theory in locally cartesian closed categories. In L. Pacholski and J. Tiuryn, editors, Computer Science Logic 1994, volume 806 of Lecture Notes in Computer Science. Springer, 1995.

[How80] W. A. Howard. The formulae-as-types notion of construction. In J. R. Seldin and J. P. Hindley, editors, To H. B. Curry: Essays on Combinaory Logic, Lambda Calculus, and Formalism. Academic Press, 1980.

[Jac99] B. Jacobs. Categorical Logic and Type Theory. Elsevier Science, 1999.

[Law69] F. W. Lawvere. Adjointness in foundations. Dialectica, 1969.

[Mai98] M.E. Maietti. The Type Theory of Categorical Universes. PhD thesis, Università Delgi Studi di Padova, 1998.

[Min] G. Mints. Axiomatization of a skolem function in intuitionistic logic. Unpublished note.

[ML84] P. Martin-Löf. Intuitionistic Type Theory. Notes by Giovanni Sambin of a series of lectures given in Padua, June 1980. Bibliopolis, Napoli, 1984.

[ML98] P. Martin-Löf. An intuitionistic theory of types. In G. Sambin and J. Smith, editors, Twenty-Five Years of Constructive Type Theory. Oxford University Press, August 1998. Proceedings of a Congress held in Venice, Italy, October 1995.

[Mog91] E. Moggi. Notions of computation and monads. Information and Computation, 93(1), 1991.

[Pal01] E. Palmgren. A categorical version of the BHK-interpretation. Technical report, Institut Mittag-Leffler, The Royal Swedish Academy of Sciences, 2001.

[Pfe01] F. Pfenning. Intensionality, extensionality, and proof irrelevance in modal type theory. In Proceedings of the 16th Annual Symposium on Logic in Computer Science (LICS’01), June 2001. To appear.

[Sco96] D.S. Scott. A new category? Unpublished Manuscript. Available

at http://www.cs.cmu.edu/Groups/LTC/, December 1996.

[SV98] G. Sambin and S. Valentini. Building up a toolbox for Martin-Löf’s type theory: Subset theory. In G. Sambin and J. Smith, editors, Twenty-Five Years of Constructive Type Theory. Oxford University Press, August 1998. Proceedings of a Congress held in Venice, Italy, October 1995.

[Tai] W. W. Tait. The completeness of intuitionistic first-order logic. Unpublished manuscript.