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,T ⊆ C are said to be orthogonal, written S ⊥ T, if S ∩ T is ∅ or a singleton. The dual of a family F ⊆ ℘(C) is the family F ⊥ of all subsets S ⊆ C orthogonal to every member of F, i.e., such that S ⊥ T for all T ∈ F. 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
is a collection of
sets satisfying down-closure and binary completeness in the following sense:
- Down-closure: all subsets of a set in
remain in
:
a'\subseta\inlA\impliesa'\inlA
- Binary completeness: for any subset
of
, if the
pairwise union of any of its elements is in
, then so is the union of all the elements of
:
\forallM\subsetlA,\left((\foralla1,a2\inM, a1\cupa2\inlA)\impliescupM\inlA\right)
The elements of the sets in
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
is called the
web of
and is the graph induced a
reflexive,
symmetric relation
over the token space
of
known as
coherence modulo
defined as:
In the web of
, nodes are tokens from
and an edge is shared between nodes
and
when
(i.e.
.) This graph is unique for each coherence space, and in particular, elements of
are exactly the
cliques of the web of
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
are points of the coherence space
. This allows for some structure to be discussed on types. For instance, each term
of a type
can be given a set of finite approximations
which is in fact, a
directed set with the subset relation. With
being a coherent subset of the token space
(i.e. an element of
), any element of
is a finite subset of
and therefore also coherent, and we have
Stable functions
Functions between types
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,
is a stable function when
):
a'\subseta\inlA\impliesF(a')\subsetF(a).
- It is continuous (categorically, preserves filtered colimits): where is the directed union over
, the set of finite approximants of
.
- 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: 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
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
is the coproduct (or
disjoint union) of the token sets of
and
.
- Tokens from differents sets are always coherent and tokens from the same set are coherent exactly when they are coherent in that set.
(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