Download Propositions as [Types] - Research Showcase @ CMU

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Jesús Mosterín wikipedia , lookup

Laws of Form wikipedia , lookup

History of logic wikipedia , lookup

Propositional calculus wikipedia , lookup

Quantum logic wikipedia , lookup

Structure (mathematical logic) wikipedia , lookup

Foundations of mathematics wikipedia , lookup

Set theory wikipedia , lookup

Intuitionistic logic wikipedia , lookup

Model theory wikipedia , lookup

Law of thought wikipedia , lookup

Axiom of reducibility wikipedia , lookup

List of first-order theories wikipedia , lookup

First-order logic wikipedia , lookup

Mathematical logic wikipedia , lookup

Truth-bearer wikipedia , lookup

Interpretation (logic) wikipedia , lookup

Natural deduction wikipedia , lookup

Type safety wikipedia , lookup

Curry–Howard correspondence wikipedia , lookup

Principia Mathematica wikipedia , lookup

Homotopy type theory wikipedia , lookup

Intuitionistic type theory wikipedia , lookup

Transcript
Carnegie Mellon University
Research Showcase @ CMU
Department of Philosophy
Dietrich College of Humanities and Social Sciences
6-2001
Propositions as [Types]
Steve Awodey
Carnegie Mellon University, [email protected]
Andrej Bauer
University of Ljubljana, [email protected]
Follow this and additional works at: http://repository.cmu.edu/philosophy
Part of the Philosophy Commons
This Article is brought to you for free and open access by the Dietrich College of Humanities and Social Sciences at Research Showcase @ CMU. It has
been accepted for inclusion in Department of Philosophy by an authorized administrator of Research Showcase @ CMU. For more information, please
contact [email protected].
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
∗
Department of Philosophy, Carnegie Mellon University, Pittsburgh, USA, e-mail:
[email protected]
†
IMFM & Department of Mathematics, University in Ljubljana, Slovenia, e-mail:
[email protected]
1
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.
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
Propositions o

/
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
P
P
Q
n:N
m:N Eq(2m, n) +
m:N Eq(2m + 1, n) .
2
Given a natural number n, then pn = hi, mi, where i ∈ {0, 1} and m ∈ N,
such that n = 2m + i. By bracketing the two dependent sums, we obtain
the type
Q
P
P
.
n:N
m:N Eq(2m, n) +
m:N 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
Q
P
P
n:N
m:N Eq(2m, n) +
m:N 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
3
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”:
Γ ` P type
Γ`q:P
Γ`p=q:P
Γ`p: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
Q
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 :
x:A`p:P
x0 : [A] ` p0 : P
4
(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 p0 = (p where [x] = x0 ), 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:
Γ, 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 Γ:
A
[−]
/ [A]
s
t
//
B
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 6= x and y 6∈ 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])
5
Bracket types
Γ ` A type
formation
Γ ` [A] type
Γ ` q : [A]
Γ ` B type
Γ`a:A
intro
Γ ` [a] : [A]
Γ, x:A ` b : B Γ, x:A, y:A ` b = b{y/x} : B
elim
Γ ` b where [x] = q : B
Γ ` p : [A]
Γ ` q : [A]
equality
Γ ` p = q : [A]
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 6= y and capture of x in t is avoided)
Compatibility rules
A = A0
=⇒
[A] = [A0 ]
a = a0
=⇒
[a] = [a0 ]
b = b0 ∧ q = q 0
=⇒
(b where [x] = q) = (b0 where [x] = q 0 )
Figure 1: Bracket types
6
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
Pus 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
x1 :A1 , . . . , xn :An as (A1 , . . . , An ) instead of [[x1 :A1 , . . . , xn :An ]].
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,
[[Γ, x:A]]
[[Γ`A]]
[[Γ]]
where we here abbreviated the name of the arrow. Its domain is the interpretation of the context Γ, x:A.
7
A term in a context
Γ`t:A
is interpreted by a point of (Γ, A) in the slice C/[[Γ]]
(Γ)
[[Γ`t:A]]
/ (Γ, A)
xx
xx
x
x
x| x Γ`A
BB
BB
B
= BBB
!
(Γ)
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,
Γ`a:A
Γ, x:A ` B type
Γ ` B{a/x} type
Γ`a:A
Γ, x:A ` t : B
Γ ` t{a/x} : B{a/x}
as indicated in the following pullback diagram:
/ (Γ, x:A)
MMM
II
II
MMM
II[[t{a/x}]]
MMMt
II
MMM
II
II
MMM
II
MMM
$
/& (Γ, x:A, B)
[[Γ, B{a/x}]]
_
=
(Γ) I
a
[[Γ`B{a/x}]]
$
Γ,x:A`B
(Γ)
/ (Γ, A)
a
The interpretation of a dependent sum formed as
Γ, x:A ` B type
P
Γ ` x:A B type
is the composition of the arrows
(Γ, A, B)
Γ,A`B
(Γ, A)
Γ`A
(Γ)
8
Γ`
P
A
B
This gives us a connection between the interpretation of contexts
P and dependent sums, because it must be the case that [[Γ, A, B]] = [[Γ, x:A B]].
The interpretation of an equality type formed as
Γ`s:A
Γ`t:A
Γ ` EqA (s, t) type
is the equalizer of s and t, as in the following diagram:
[[Γ`EqA (s,t)]]
(Γ, EqA (s, t))
/
/ (Γ, A)
s
/ (Γ)
t
When s and t are the same term, the equalizer is trivial and we have
[[Γ, EqA (t, t)]] = [[Γ]]
From this we obtain the interpretation of a ‘reflexivity’ term
Γ`t:A
Γ ` r(t) : EqA (t, t)
simply as the identity arrow
[[r(t)]] = 1[[Γ]]
(Γ)
/ (Γ) = (Γ, Eq (t, t))
A
Next, we give the interpretation of the first and the second projection from
a dependent sum. Consider the terms
P
P
Γ ` p : x:A B
Γ ` p : x:A B
Γ ` π1 (p) : A
Γ ` π2 (p) : B{π1 (p)/x}
We interpret π1 (p) as the composition of arrows
p
(Γ)
Γ,A`B
/ (Γ, A, B)
/ (Γ, A)
and π2 (p) as in the following diagram:
(Γ) NN
p
NNN
N[[π
NN2N(p)]]
NNN
&
(Γ, B{π1 (p)/x})
&
/ (Γ, x:A, B)
_
=
(
(Γ)
π1 (p)
9
Γ,A`B
/ (Γ, A)
The arrow [[π2 (p)]] is the unique arrow obtained from the universal property
of the displayed pullback diagram. A dependent pair formed as
Γ`a:A
Γ, x:A ` B type
Γ ` b : B{a/x}
P
Γ ` ha, bi : x:A B
is interpreted as the composition of b with the top arrow in the diagram
/ (Γ, A, B)
(Γ, B{a/x})
D
_
Γ`B{a/x}
b
Γ,A`B
(Γ)
a
/ (Γ, A)
This P
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
A EE
f
EE
EE
EE"
"
Im(f )
10
/B
y<
y
y
yy
y< y
The factorization is obtained by taking the coequalizer q of the kernel
pair (π1 , π2 ) of f , as in the following diagram:
π1
A ×B A
π2
/
/AD
DD
DD
D
q DD"
"
f
/B
z<
z
z
zz
<zz i
Im(f )
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
Γ ` A type
Γ ` [A] type
is interpreted as the image of [[Γ ` A]]:
(Γ, A)
[−]
/ / [[Γ, [A]]] = Im(Γ ` A)
OOO
OOO
OOO
OOO
[[Γ`[A]]]
OOO
Γ`A
OOO '
(Γ)
The regular epi part of the factorization is used in the interpretation of term
bracketing
Γ`a:A
Γ ` [a] : [A]
The interpretation of [a] is the composition
(Γ)
a
/ (Γ, A)
[−]
/ / (Γ, [A])
It remains to interpret the where terms. Consider
Γ ` q : [A]
Γ, x:A ` b : B
Γ, x:A, y:A ` b = b{y/x} : B
Γ ` b where [x] = q : B
11
The various terms and types occurring above are interpreted in the slice
over [[Γ]], as shown in the following diagram:
/
x
(Γ, x:A, y:A)
y
[−]
/ / (Γ, [A]) o q
(Γ)
/ (Γ, A)
II
II
ww
w
II
ww
II
ww
b
I
w
I
b
w (b where [x]=q)
II
I$ {www
(Γ, 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 b. The interpretation of (b where [x] = q)
is the composition 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:
p
(Γ)
/
/ (Γ, [A])
EE
q
EE
EE
EE
E
Γ`[A]
= EE
EE
EE
" (Γ)
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
(Γ, A) o
a
(Γ)
JJ
JJ
JJ
JJ
[−]
(b where
J
b JJJ
J% / (Γ, A, B)
(Γ, [A])
b
12
[x]=[a])
The arrow 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 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:
[−]
/ / (Γ, u:[A]) o q
(Γ)
KK
ww
KK
w
w
KK
ww
KK
b
ww
K
w
K
b{[x]/u} KK
(b{[x]/u}
w
K% {www
(Γ, x:A)
where [x]=q)
(Γ, A, B)
The arrow b{[x]/u} is the composition of [−] and b. There is a unique
factorization b{[x]/u} of b{[x]/u} through [−], and the interpretation of
b{[x]/u} where [x] = q is the composition b{[x]/u} ◦ q. But b{[x]/u} also
factors through [−] via b, so it must be that 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
P build a syntactic category S
from the dependent type theory D with 1, , Eq, and [−] types. We then
show that S is a regular category, and that the interpretation of D in S
validates precisely all the provable equations between terms.
The objects of S are the closed types of D. 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, D
proves that they are equal x:A ` s = t : B (since we are working with
13
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
P 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:
P
x:A EqB (s, t)
π1
/A
s
t
/
/B
Proving that the arrow π1 equalizes s and t amounts to proving that
P
v : x:A EqB (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
EqB (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}) : EqB (s{h/x}, t{h/x})
and from that the factorization of h through the equalizer:
P
z : C ` hh, r(s{h/x})i : x:A EqB (s, t)
This arrow is unique because any two terms of a (strong extensional) Eq
type are equal. Therefore, S has all finite limits.
14
It remains to show that S has stable coequalizers of kernel pairs. Before
proceeding with
P 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
P
P
P
[[x1 :A1 , . . . , xn :An ]] = x1 :A1 x2 :A2 · · · xn−1 :An−1 An
In order to keep the notation simple we denote such a nested sum by
(A1 , . . . , An ). A type in a context, Γ ` A type, is interpreted by a suitable display map
(Γ, A)
Γ`A
(Γ)
More precisely, if Γ is y1 :B1 , . . . , yn :Bn , then the display map Γ ` A is the
term
p : (B1 , . . . , Bn , A) ` hπ1 (p), π1 (π2 (p)), . . . , π1 (π2n−1 (p))i : (B1 , . . . , Bn ) .
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
Γ, x:A ` B type
P
Γ ` x:A B
is interpreted essentially “by itself” as the arrow
(Γ,
P
x:A B)
Γ`
P
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
P
y : B ` x:A EqB (t, y) type
and re-interpret it in S. Its interpretation is the display map
P P
p : y:B x:A EqB (t, y) ` π1 (p) : B
15
This display map is isomorphic in S/B to theParrow
P x : A ` t : B that
we started with. Indeed, A is isomorphic to
y:B
x:A EqB (t, y) via the
isomorphisms
P P
x : A ` ht, hx, r(t)ii : y:B x:A EqB (t, y)
and
p:
P
y:B
P
x:A EqB (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
p : z:C D ` π1 (p) : C
(4)
P
Because any p : z:C D can be written uniquely as a pair hz, wi 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
hz,vi
(z:C, v:D, w:D)
hz,wi
/
/ (C, D)
(6)
We can get its coequalizer by applying bracket types:
hz,vi
(z:C, v:D, w:D)
hz,wi
/
/ (z:C, u:D)
hz,[u]i
/ (C, [D])
(7)
Indeed, hz, [u]i coequalizes the kernel pair by the equality rule for bracket
types:
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
16
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:
hz,vi
(z:C, v:D, w:D)
hz,wi
/
/ (z:C, u:D)
NNN
NNN
NN
hz,[u]i NNN'
t
/ (B)
t:
t
t
tt
t(tt where [u]=y)
t
t
(C, y:[D])
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):
hz,ui
(y:B, z:C, u:D) _
hy,z,[u]i
/ (z:C, u:D)
hz,[u]i
(y:B, z:C, v:[D])
hz,vi
/ (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
17
diagram:
hz,ui
(y:B, z:C, u:D) _
/ (z:C, u:D)
hy,z,[u]i
hz,[u]i
(y:B, z:C, v:[D])
hz,vi
/ (z:C, [D])
hy,zi
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
t
A DD
DD
DD
q DD!
!
/B
z<
z
z
zz
<zz m
Im(t)
with
4
Im(t)
=
m
=
e
=
P
y:B
P
[ x:A EqA (t, y)]
z : Im(t) ` π1 (z) : B
x : A ` ht, [hx, r(t)i]i : Im(t) .
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
18
(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
x:A
t
/B
[−]
[−]
u:[A]
/ [B]
[t] where [x]=u
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
/Γ
{= O
{
{{
{{
{
{{
O
={{
/ / [[A]]
[A]
A
19
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 →
PP .
P
P
To see how [−] and
interact, consider
P 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.
P
/ / (Γ, [
(Γ, A, B)
A B])
<<
<<
<<
<<
<<
<< P
<< A B
P
[ A B]
<<
(Γ, A, [B])
MMM
<<
MMM
<
MMM <<<
MMM <<
P
MMM <<
A [B]
MMM< &
P
/ (Γ)
(Γ, [
[B]]) / P
A
[
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:
P
P
[ A [B]] = [ A B]
For equality types EqA , the elimination rule,
Γ ` e : EqA (a, b)
Γ ` e = r(a) : EqA (a, b)
implies that (EqA (a, b))2 = EqA (a, b), whence:
[EqA (a, b)] = EqA (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,
Q
0, A + B, A B, A → B, ¬A ,
20
where ¬A stands for A → 0.
For finite sums we get
[0] = 0 ,
[A + B] = [[A] + [B]] .
P
by an argument
similar
to
that
for
.
Q
Q
Q
Q
2
For
we have ( A [B]) = A [B]2 = A [B], so that
Q
Q
[ A [B]] = A [B] ,
and one sees easily that
Q
Q
[ 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,
P
Q
0, 1, [A], A + B, EqA ,
x:A B,
x:A B ,
21
the propositions in every context model first-order logic, under the following
definitions:
> = 1
⊥
=
0
ϕ∧ψ
=
ϕ×ψ
ϕ∨ψ
=
[ϕ + ψ]
ϕ =⇒ ψ
=
ϕ→ψ
¬ϕ
=
ϕ→0
x =A y
=
∀x:A. ϕ
=
∃x:A. ϕ
=
EqA (x, y)
Q
ϕ
Px:A
[ x:A ϕ]
(13)
P
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} =
P
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
(Ex )x∈X
is of course the regular epi–mono image factorization of the corresponding
display map
p:E→X.
22
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] e0 ⇐⇒ pe = pe0 .
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 T, consisting of constants, function and relation letters, and axioms given as closed formulas.
The standard propositions-as-types interpretation ∗ of T into type theory,
T
∗
/ 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,
Q P
∗
∗
(∀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(T) ` ϕ
implies
DTT(T) ` ϕ∗ ,
(15)
where by DTT(T) ` ϕ∗ 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 T.
23
The question we want to consider is the converse implication: if ϕ∗ is
inhabited in DTT(T), must ϕ be provable in the intuitionistic first-order
theory T? 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(T) ` ϕ∗
IFOL(T) ` ϕ .
implies
Proof. There is a regular lccc E with finite coproducts and a conservative,
first-order interpretation y of T into E, schematically:
T
 y
/E
(16)
A formula ϕ with free variables x1 , . . . , xn 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(T) ` ϕ .
(17)
For E we can take the first-order classifying topos for the theory T, in the
sense of [BJ98] (sheaves on the syntactic logos generated by T).
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 T into E, schematically:
T
? /
E
24
Clearly if DTT(T) ` ϕ∗ , then in E there exists a point
/ ϕ?
1
(18)
namely the interpretation of the term inhabiting ϕ∗ .
Because E is regular, it has bracket types. The composition [−] ◦ ?
gives an interpretation of T into the “propositional” logic of E in each slice
E/(I ? )n . More precisely, every formula ϕ with free variables x1 , . . . , xn 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 ,
[ϕ? ] /
/ (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
25
quantifiers we have:
[(∀x.ϕ)? ]
=
≤
=
Q
[ x:I ? ϕ? ]
Q
?
x:I ? [ϕ ]
?
(by (9))
?
∀x:I . [ϕ ]
≤
∀x:I ? . y(ϕ)
=
∀x : y(I). y(ϕ)
=
y(∀x. ϕ)
=
[ϑ? → ψ ? ]
≤
ϑ? → [ψ ? ]
(ϕ left-stable)
For implication we have:
[(ϑ ⇒ ψ)? ]
=
?
?
?
?
(by (10))
[ϑ ] → [ψ ]
(by (11))
=
[ϑ ] ⇒ [ψ ]
=
y(ϑ) ⇒ [ψ ? ]
≤
y(ϑ) ⇒ y(ψ)
=
y(ϑ ⇒ ψ)
(ϑ stable)
(ψ left-stable)
This concludes the proof of the lemma.
To finish the proof of Theorem 6.2, let ϕ be a left-stable sentence such
that DTT(T) ` ϕ∗ . Then, continuing from (18) above, in E we have maps:
1 → ϕ? → [ϕ? ] ≤ y(ϕ) ≤ 1 .
So y(ϕ) = 1, and therefore IFOL(T) ` ϕ 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,
26
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 ϕ 7→ ϕ+ 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, x0 ∃y, y 0 . (R(x, y) ∧ R(x0 , y 0 ) ∧ (x = x0 =⇒ y = y 0 )) .
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.
27
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:
Q
[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)
Q
Q
[ 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
28
fact that P is a proposition. The rules would then be as follows:
Γ ` A type
Γ ` [A] prop
Γ`a:A
Γ ` [a] : [A]
Γ ` q : [A]
Γ`p:P
Γ ` P prop
Γ ` P type
Γ, x:A ` p : P
Γ ` P prop
Γ ` p where [x] = q : 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:
Γ ` 0 prop
Γ ` 1 prop
Γ ` P prop Γ ` Q prop
Γ ` P → Q prop
Γ ` P prop Γ ` Q prop
Γ ` P × Q prop
Γ, x:A ` P prop
Q
Γ ` x:A P prop
Γ`s:A Γ`t:A
Γ ` EqA (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 EqA (a, b) for some type A and terms a, b : A.
29
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:
Γ, x:A ` B type
P
Γ ` x:A B type
Γ ` 1 type
Γ ` A type
Γ, x:A, y:A ` EqA (x, y) type
Introduction and elimination rules:
Γ`?:1
Γ`a:A
Γ, x:A ` B type
Γ ` b : B{a/x}
P
Γ ` ha, bi : x:A B
P
Γ ` p : x:A B
Γ ` π1 (p) : A
P
Γ ` p : x:A B
Γ ` π2 (p) : B{π1 (p)/x}
Γ`t:A
Γ ` r(t) : EqA (t, t)
In
P
x:A B,
variable x is bound in A. Equality rules:
Γ`t:1
Γ`t=?:1
Γ ` e : EqA (s, t))
Γ`s=t:A
Γ ` e : EqA (s, t)
Γ ` e = r(s) : EqA (s, t)
Conversions:
π1 (ha, bi)
=
a
π2 (ha, bi)
=
b
hπ1 (p), π2 (p)i
=
p
References
[Acz00] P. Aczel. The Russell-Prawitz modality. Technical Report UMCS00-12-1, Department of Computer Science, University of Manchester, 2000.
30
[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.
31
[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 MartinLö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.
32