Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Logic and CS / Girard. Proofs and Types.pdf
Скачиваний:
38
Добавлен:
10.08.2013
Размер:
947.15 Кб
Скачать

Chapter 8

Coherence Spaces

The earliest work in denotational semantics was done by [Scott69] for the untyped-calculus, and much has been written since then. His approach is characterised by continuity, i.e. the preservation of directed joins. In this chapter, a novel kind of domain theory is introduced, in which we also have (and preserve) meets bounded above (pullbacks). This property, called stability, was originally introduced by [Berry] in an attempt to give a semantic characterisation of sequential algorithms. We shall nd that this semantics is well adapted to system F and leads us towards linear logic.

8.1General ideas

The fundamental idea of denotational semantics is to interpret reduction (a dynamic notion) by equality (a static notion). To put it in another way, we model the invariants of the calculi. This said, there are models and models: it has been known since G•odel (1930) how to construct models as maximally consistent extensions. This is certainly not what we mean, because it gives no information.

We have in mind rather to take literally the na•ve interpretation | that an object of type U ! V is a function from U to V | and see if we can give a reasonable meaning to the word \function". In this way of looking at things, we try to avoid being obsessed by completeness, but instead look for simple geometrical ideas.

The rst idea which comes to mind is the following:

type = set.

U ! V is the set of all functions (in the set-theoretic sense) from U to V .

53

54

CHAPTER 8. COHERENCE SPACES

This interpretation is all very well, but it does not explain anything. The computationally interesting objects just get drowned in a sea of set-theoretic functions. The function spaces also quickly become enormous.

Kreisel had the following idea (hereditarily e ective operations):

type = partial equivalence relation on N.

U ! V is the set of

(codes of)

partial recursive functions f such that, if

x U y, then f(x) V f(y), subject to the equivalence relation:

f (U ! V ) g

i

8x; y (x U y ) f(x) V g(y))

This sticks more closely to the computational paradigm which we seek to model | a bit too closely, it seems, for in fact it hardly does more than interpret the syntax by itself, modulo some unexciting coding.

Scott's idea is much better:

type = topological space.

U ! V = continuous functions from U to V .

Now it is well known that topology does not lend itself well to the construction of function spaces. When should we say that a sequence of functions converges | pointwise, or uniformly in some way1?

To resolve these problems, Scott was led to imposing drastic restrictions on his topological spaces which are far removed from the traditional geometrical spirit of topology2. In fact his spaces are really only partially ordered sets with directed joins: the topology is an incidental feature. So it is natural to ask oneself whether perhaps the topological intuition is itself false, and look for something else.

1The most common (but by no means the universal) answer to this question is to use the compact-open topology, in which a function lies in a basic open set if, when restricted to a speci ed compact set, its values lie in a speci ed open set. This topology is only well-behaved when the spaces are locally compact (every point has a base of compact neighbourhoods), and even then the function space need not itself be locally compact.

2There is, however, a logical view of topology, which has been set out in a computer science context by [Abr88, ERobinson, Smyth, Vickers].

Соседние файлы в папке Logic and CS