hws/Der.tex
author Christian Urban <christian.urban@kcl.ac.uk>
Fri, 13 Oct 2023 23:49:34 +0100
changeset 942 c82a45f48bfc
child 943 5365ef60707e
permissions -rw-r--r--
added complement note

\documentclass{article}
\usepackage{../style}
\usepackage{../graphics}

\begin{document}

\section*{Complement Sets}

Consider the following picture:

\begin{center}
\begin{tikzpicture}[fill=gray]
% left hand
\scope
\fill (0,0) circle (1);
\endscope
% outline
\draw (0,0) circle (1) (0,1)  node [text=white,below] {$P(s)$}
      (2,0) node [text=black,above] {$\neg P(s)$}
      (-2,-2) rectangle (3,2) node [text=black,above] {$\Sigma^*$};
\end{tikzpicture}
\end{center}


\noindent
where $\Sigma^*$ is in our case the set of all strings (what follows
also holds for any kind of ``domain'', like the set of all integers or
set of all binary trees, etc). Let us assume $P(s)$ is a property that
is about strings, for example $P(s)$ could be ``the string $s$ has
an even length'', or ``the string $s$ starts with the letter
\texttt{a}''. Every such property carves out a subset of strings from
$\Sigma^*$, which in the picture above is depicted as a grey
circle. This subset of strings is often written as a comprehension like

\begin{equation}\label{set}
\{s \in \Sigma^*\;|\; P(s) \}
\end{equation}

\noindent
meaning all the $s$ (out of $\Sigma^*$) for which the property $P(s)$
is true. If $P(s)$ would not be true then the corresponding string $s$
would be outside the grey area where $\neg P(s)$ holds. Notice that
sometimes the property $P(s)$ holds for every string in
$\Sigma^*$. Then the grey area would fill out the whole rectangle and
the set where $\neg P(s)$ holds is empty. Similarly, the property $P(s)$
holds for no string in which case the grey circle is empty.

Now, we are looking for the complement of the set defined in \eqref{set}.
This complement set is often written as

\[
\overline{\{s \in \Sigma^*\;|\; P(s) \}}
\]

\noindent
It is the area of $\Sigma^*$ which isn't grey, that is $\Sigma^*$
minus $\{s \in \Sigma^*\;|\; P(s) \}$, \textbf{or} written differently
it is the set $\{s \in \Sigma^*\;|\; \neg P(s) \}$. That means it the
set of all the strings where $\neg P(s)$ holds. Consequently we have
for any complement set the equation:

\begin{equation}\label{eq}
\overline{\{s \in \Sigma^*\;|\; P(s) \}} = \{s \in \Sigma^*\;|\; \neg P(s) \}
\end{equation}

\section*{Semantic derivative}

Our semantic derivative $Der\;c\;A$ is nothing else than a property that defines
a subset of strings (inside $\Sigma^*$). The corresponding
property $P(s)$ is $c::s \in A$ because we defined $Der\;c\;A$ as

\[
Der\;c\;A \;\dn\; \{s \in \Sigma^*\;|\; c::s \in A\}
\]

\noindent
That means $Der\;c\;A$ is some grey area inside $\Sigma^*$. Obviously
which subset, or grey area, we are carving out from $\Sigma^*$ depends on what we
choose for $c$ and $A$.\bigskip


\noindent
Let us see how this pans out in a concrete example. For this let
$\Sigma^*$ not be the set of all strings, but only the set of strings
upto a length of 3 over the alphabet $\{a, b\}$. That means $\Sigma^*$
(or the rectangle in the picture above) consists of the strings

\[
  \Sigma^* = \left\{\begin{array}{l}
    $\ensuremath{[]}$\\
    $\ensuremath{[a], [b]}$\\
    $\ensuremath{[aa], [ab], [ba], [bb]}$\\
    $\ensuremath{[aaa], [aab], [aba], [abb], [baa], [bab], [bba], [bbb]}$
    \end{array}\right\}
\] 


\noindent
If we set $A$ to $\{[aaa], [abb], [aa], [bb], []\}$, then $Der\;a\;A$ is the subset

\[
Der\;a\;A = \{[aa], [bb], [a]\}
\]  

\noindent
which is given by the definition of
$Der\;a\;A \dn \{s \in \Sigma^*\;|\;a::s\in A\}$. Now lets look at what
the complement of this set looks like:

\begin{equation}\label{Der}
  \overline{Der\;a\;A} = \left\{\begin{array}{l}
    $\ensuremath{[]}$\\
    $\ensuremath{[b]}$\\
    $\ensuremath{[ab], [ba]}$\\
    $\ensuremath{[aaa], [aab], [aba], [abb], [baa], [bab], [bba], [bbb]}$
    \end{array}\right\}
\end{equation}

\noindent
This can be calculated by ``subtracting'' $\{[aa], [bb], [a]\}$ from
$\Sigma^*$. I let you check whether I did this correctly.  According
to the equation in \eqref{eq} this should be equal to

\[
\overline{Der\;a\;A} = \{s \in \Sigma^*\;|\;a::s\not\in A\}
\]  

\noindent Let us test in turn every string in $\Sigma^*$ and see
whether $a::s$ is in $A$ which we set above to

\[\{[aaa], [abb], [aa], [bb], []\}\]

\noindent
This gives rise to the following table where in the first column are
the strings of $\Sigma^*$ and in the second whether $a::s \in A$ holds. The third column
is the negated version of the second.

\begin{center}
\begin{tabular}{r|c|l}
  s & is $a::s \in A$? & $\neg(a::s \in A) \Leftrightarrow  a::s \not\in A$\\
  \hline
  $[]$    & no & yes\\
  $[a]$   & yes& no\\
  $[b]$   & no & yes\\
  $[aa]$  & yes& no\\
  $[ab]$  & no & yes\\
  $[ba]$  & no & yes\\
  $[bb]$  & yes& no\\
  $[aaa]$ & no & yes\\
  $[aab]$ & no & yes\\
  $[aba]$ & no & yes\\
  $[abb]$ & no & yes\\
  $[baa]$ & no & yes\\
  $[bab]$ & no & yes\\
  $[bba]$ & no & yes\\
  $[bbb]$ & no & yes\\
\end{tabular}    
\end{center}

\noindent
Collecting all the yes in the third row gives you the set in \eqref{Der}. So it works out in this example.

\end{document}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: