some intro for nom sets
This commit is contained in:
parent
85a736df0b
commit
a5a38adb4d
2 changed files with 72 additions and 0 deletions
|
@ -21,7 +21,77 @@ learning embedded controller software \cite[DBLP:conf/icfem/SmeenkMVJ15], learni
|
||||||
\startsection
|
\startsection
|
||||||
[title={Nominal Techniques}]
|
[title={Nominal Techniques}]
|
||||||
|
|
||||||
|
The theory of nominal sets has been introduced to cope with name binding.
|
||||||
|
Dealing with names is very common in computer science and several techniques exist to do this.
|
||||||
|
For example, one can use a meta language to talk about bound and free variables.
|
||||||
|
This is easy enough to use in theoretical research, but can be a burden to implement (there is quite a bit of bookkeeping).
|
||||||
|
Another way is to use some sort of normal form, for example, by naming things with numbers (sequentially).
|
||||||
|
One example of such a numbering scheme is using de Bruijn indices.
|
||||||
|
|
||||||
|
|
||||||
|
\citet[GabbayP02] introduced a third option, based on nominal techniques.
|
||||||
|
Instead of relying on the meta level, we declare names to really exist:
|
||||||
|
\startformula
|
||||||
|
\atoms = \{ a, b, c, \ldots \}.
|
||||||
|
\stopformula
|
||||||
|
Here we understand that $a$ and $b$ are different names and these names can be directly used in lambda terms or other objects.
|
||||||
|
(These names do not stand for variables!
|
||||||
|
The names exist in their own right.)
|
||||||
|
As a consequence, we can describe lambda terms such as
|
||||||
|
\startformula
|
||||||
|
\lambda x . a \quad \text{and} \quad \lambda x . b \, .
|
||||||
|
\stopformula
|
||||||
|
These two lambda terms are distinct, since they are constructed with different names.
|
||||||
|
In order to talk about equivalence, we introduce permutations.
|
||||||
|
If we write $\swap{a}{b}$ for the permutation which swaps $a$ and $b$, then we can relate the two lambda terms as follows.
|
||||||
|
\startformula
|
||||||
|
\swap{a}{b} \lambda x . a = \lambda x . b
|
||||||
|
\stopformula
|
||||||
|
How the permutations act on objects other than names will be explained later.
|
||||||
|
This way we can relate the two terms, without talking about free or bound variables.
|
||||||
|
We only talk about the names and permutations we declared.
|
||||||
|
|
||||||
|
The idea that names and permutations are sufficient was picked up by \citet[DBLP:journals/corr/BojanczykKL14].
|
||||||
|
They show that besides abstract syntax, nominal techniques are also interesting when modelling automata over infinite alphabets.
|
||||||
|
Here the infinite alphabet will be the set of names and the automaton should respect the permutations.
|
||||||
|
We will see why this is a natural way to model such automata in the next section.
|
||||||
|
|
||||||
|
|
||||||
|
\startsubsection
|
||||||
|
[title={What is a nominal set?}]
|
||||||
|
|
||||||
|
Before we dive into the relation with automata, we will define the notion of nominal sets.
|
||||||
|
|
||||||
|
\startdefinition
|
||||||
|
Fix a countable, infinite set $\atoms = \{ a, b, \ldots \}$ of \emph{names} (sometimes called \emph{atoms}).
|
||||||
|
The elements of $\atoms$ bare no relationship to natural numbers, or other standard mathematical entities.
|
||||||
|
|
||||||
|
Define $\Perm(\atoms) = \{ \pi \colon \atoms \to \atoms \mid \pi \text{ is bijective} \}$ to be the set of permutations of atoms.
|
||||||
|
Together with function composition, $\Perm(\atoms)$ forms a group.
|
||||||
|
\stopdefinition
|
||||||
|
|
||||||
|
As noted before, we want to let permutations act on objects constructed from names (such as lambda terms).
|
||||||
|
The notion of a group action captures exactly this.
|
||||||
|
In most cases we are interested in the group $\Perm(\atoms)$.
|
||||||
|
However, in order to be general enough for the next chapters, we introduce group actions for an arbitrary group $G$.
|
||||||
|
|
||||||
|
\startdefinition
|
||||||
|
Let $X$ be a set.
|
||||||
|
A (left)
|
||||||
|
\footnote{Most authors use left actions. However, we note that \citet[DBLP:journals/corr/BojanczykKL14] use a right action. For them to have a well-defined group action, their group composition has to be defined as $g \cdot f = f \circ g$ (i.e., reverse function composition).}
|
||||||
|
\emph{$G$-action} is a function ${\cdot} \colon G \times X \to X$ satisfying:
|
||||||
|
\startformula\startalign[n=3]
|
||||||
|
\NC 1 \cdot x \NC = x \NC \quad \forall x \in X \NR
|
||||||
|
\NC (g \cdot h) \cdot x \NC = g \cdot (h \cdot x) \NC \quad \forall x \in X, \forall g,h \in G \NR
|
||||||
|
\stopalign\stopformula
|
||||||
|
A set together with a $G$-action, $(X, {\cdot})$, is called a \emph{$G$-set}.
|
||||||
|
\stopdefinition
|
||||||
|
|
||||||
|
It is worth noting that we generally fix $G$ but we consider many sets with a $G$-action.
|
||||||
|
In a way all these sets will have the same symmetries (namely $G$).
|
||||||
|
|
||||||
|
|
||||||
|
\stopsubsection
|
||||||
\stopsection
|
\stopsection
|
||||||
\referencesifcomponent
|
\referencesifcomponent
|
||||||
\stopchapter
|
\stopchapter
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
\define\N{\naturalnumbers}
|
\define\N{\naturalnumbers}
|
||||||
\define\Q{\rationals}
|
\define\Q{\rationals}
|
||||||
\define\EAlph{\mathbb{A}}
|
\define\EAlph{\mathbb{A}}
|
||||||
|
\define\atoms{\EAlph}
|
||||||
\define\Perm{Perm}
|
\define\Perm{Perm}
|
||||||
\define\id{id}
|
\define\id{id}
|
||||||
\define\supp{{\tt supp}}
|
\define\supp{{\tt supp}}
|
||||||
|
@ -52,6 +53,7 @@
|
||||||
\define\ext{ext}
|
\define\ext{ext}
|
||||||
\define\Nsize{N}
|
\define\Nsize{N}
|
||||||
\define\Sym{Sym}
|
\define\Sym{Sym}
|
||||||
|
\define[2]\swap{(#1 \, #2)}
|
||||||
|
|
||||||
\define\Lint{\mathcal{L}_{\text{int}}}
|
\define\Lint{\mathcal{L}_{\text{int}}}
|
||||||
\define\Lmax{\mathcal{L}_{\text{max}}}
|
\define\Lmax{\mathcal{L}_{\text{max}}}
|
||||||
|
|
Reference in a new issue