Coherent space explained

In proof theory, a coherent space (also coherence space) is a concept introduced in the semantic study of linear logic.

Let a set C be given. Two subsets S,TC are said to be orthogonal, written ST, if ST is ∅ or a singleton. The dual of a family F ⊆ ℘(C) is the family F of all subsets SC orthogonal to every member of F, i.e., such that ST for all TF. A coherent space F over C is a family of C-subsets for which F = (F ) .

In Proofs and Types coherent spaces are called coherence spaces. A footnote explains that although in the French original they were espaces cohérents, the coherence space translation was used because spectral spaces are sometimes called coherent spaces.

Definitions

As defined by Jean-Yves Girard, a coherence space

l{A}

is a collection of sets satisfying down-closure and binary completeness in the following sense:

lA

remain in

lA

:

a'\subseta\inlA\impliesa'\inlA

M

of

lA

, if the pairwise union of any of its elements is in

lA

, then so is the union of all the elements of

M

:

\forallM\subsetlA,\left((\foralla1,a2\inM,a1\cupa2\inlA)\impliescupM\inlA\right)

The elements of the sets in

lA

are known as tokens, and they are the elements of the set

|lA|=cuplA=\{\alpha|\{\alpha\}\inlA\}

.

Coherence spaces correspond one-to-one with (undirected) graphs (in the sense of a bijection from the set of coherence spaces to that of undirected graphs). The graph corresponding to

lA

is called the web of

lA

and is the graph induced a reflexive, symmetric relation

\sim

over the token space

|lA|

of

lA

known as coherence modulo

lA

defined as:a \sim b \iff \ \in \mathcal AIn the web of

lA

, nodes are tokens from

|lA|

and an edge is shared between nodes

a

and

b

when

a\simb

(i.e.

\{a,b\}\inlA

.) This graph is unique for each coherence space, and in particular, elements of

lA

are exactly the cliques of the web of

lA

i.e. the sets of nodes whose elements are pairwise adjacent (share an edge.)

Coherence spaces as types

Coherence spaces can act as an interpretation for types in type theory where points of a type

lA

are points of the coherence space

lA

. This allows for some structure to be discussed on types. For instance, each term

a

of a type

lA

can be given a set of finite approximations

I

which is in fact, a directed set with the subset relation. With

a

being a coherent subset of the token space

|lA|

(i.e. an element of

lA

), any element of

I

is a finite subset of

a

and therefore also coherent, and we have

a=cupai,ai\inI.

Stable functions

Functions between types

lA\tolB

are seen as stable functions between coherence spaces. A stable function is defined to be one which respects approximants and satisfies a certain stability axiom. Formally,

F:lA\tolB

is a stable function when

lA

):

a'\subseta\inlA\impliesF(a')\subsetF(a).

  1. It is continuous (categorically, preserves filtered colimits): F(\bigcup_^a_i)= \bigcup_^\uparrow F(a_i) where \bigcup_^\uparrow is the directed union over

I

, the set of finite approximants of

a

.
  1. It is stable:

a1\cupa2\inlA\impliesF(a1\capa2)=F(a1)\capF(a2).

Categorically, this means that it preserves the pullback:

Product space

In order to be considered stable, functions of two arguments must satisfy the criterion 3 above in this form: a_1 \cup a_2 \in \mathcal A \land b_1 \cup b_2 \in \mathcal B \implies F(a_1 \cap a_2, b_1 \cap b_2) = F(a_1, b_1) \cap F(a_2, b_2)which would mean that in addition to stability in each argument alone, the pullbackis preserved with stable functions of two arguments. This leads to the definition of a product space

lA\&lB

which makes a bijection between stable binary functions (functions of two arguments) and stable unary functions (one argument) over the product space. The product coherence space is a product in the categorical sense i.e. it satisfies the universal property for products. It is defined by the equations:

|lA\&lB|=|lA|+|lB|=(\{1\} x |lA|)\cup(\{2\} x |lB|)

(i.e. the set of tokens of

lA\&lB

is the coproduct (or disjoint union) of the token sets of

lA

and

lB

.

(1,\alpha)\simlA\&lB(1,\alpha')\iff\alpha\simlA\alpha'

(2,\beta)\simlA\&lB(2,\beta')\iff\beta\simlB\beta'

(1,\alpha)\simlA\&lB(2,\beta),\forall\alpha\in|lA|,\beta\in|lB|

References