Skip to content
Snippets Groups Projects
Commit 8425416f authored by m-iancu's avatar m-iancu
Browse files

more

parent 953c6490
No related branches found
No related tags found
No related merge requests found
\begin{oldpart}{from bluenote}
We will progress by going through the examples from the introduction. \ednote{MK@MK: say
something about what digital libraries should look like: a theory for every variant
highly modularized, narratively enhanced overview for salient theories that are often
used, see Carette/Farmer high-level theories, \cite{CarFarKoh:tr13}}
\begin{example}[A Course grounded in a Formal Library]\label{sec:course}
Take for instance a course which introduces (naive) set theory informally, but grounds
itself in a formal, modular definition. Then we have the situation in
Figure~\ref{fig:slides-library}. On the right hand side, we have a careful introduction in
the form of a modular theory graph starting at a theory \cn{ZFset} that introduces
membership relation and the axioms of existence, extensionality, and separation and
defines the set constructor $\{\cdot |\cdot\}$ from these axioms. On the left we have a
theory \cn{SET} that ``adopts'' the symbols $\in$ and $\{\cdot |\cdot\}$ via a partial
inclusion $\cn{a_1}$ from \cn{ZFset} to \cn{SET} but ``defines'' them by alluding the
intuitions of the students. Note that a partial inclusion always gives rise to a view in
the opposite direction, here the view \cn{v_1} from \cn{SET} to \cn{set}. Note that we
cannot discharge the proof obligations in \cn{v_1}, since the definition of the set
constructor $\{\cdot |\cdot\}$ is opaque -- i.e. given as natural language, which is not
subject to formal methods; see~\cite{Kohlhase:fsgo13} for a discussion. We should think
of \cn{v_1} as a ``definitional view'' that gives meaning to the opaque parts in \cn{SET}:
the proof obgligations have to be met in order for the diagram to commute (which is an
invariant we want to maintain).
We call this situation where the symbols of a theory are imported via a partial inclusion
and their meaning is specified via a view that is a partial inverse an \textbf{adoption}
and the morphism pair an \textbf{adoption} morphism.
\begin{figure}[ht]\centering
\begin{tikzpicture}[yscale=1.7]
\node at (1,2.6) {\large Library};
\node at (-4.5,2.6) {\large Course};
\node[thy] (zfset) at (1,-.2) {\mthy{ZFset}{$\in$, \cn{Ex}, \cn{Ext}, \cn{Sep}; $\{\cdot |\cdot\}$}};
\node[thy] (zfunion) at (-.2,1) {\mthy{ZFunion}{\cn{Un}, $\cup$}};
\node[thy] (zfpow) at (2.2,1) {\mthy{ZFpow}{\cn{Pow}, $\mathcal{P}$}};
\node at (1.1,1) {\ldots};
\node[thy] (zfop) at (1,2) {ZFops};
\draw[include] (zfset) -- (zfunion);
\draw[include] (zfset) -- (zfpow);
\draw[include] (zfunion) -- (zfop);
\draw[include] (zfpow) -- (zfop);
\node[thy] (set) at (-4.5,-.2) {\mthy{SET}{$\in$, $\{\cdot |\cdot\}$}};
\node[thy] (sop) at (-4.5,2) {\mthy{SETOPS}{$\cup$,\ldots,$\mathcal{P}$}};
\draw[view] (set) to[out=-5,in=185] node[below] {$\cn{v_1}$} (zfset);
\draw[pinclude] (zfset) to[out=175,in=5] node[above] {$\cn{a_1}\colon\in,\{\cdot |\cdot\}$}(set);
\draw[view] (sop) to[out=-5,in=185] node[below] {$\cn{v_2}: \text{incl}\; \cn{v_1}$} (zfop);
\draw[pinclude] (zfop) to[out=175,in=5] node[above] {$\cn{a_2}\colon\cup,\ldots,\mathcal{P},\text{incl}\; \cn{a_1}$} (sop);
\draw[include] (set) -- (sop);
\end{tikzpicture}
\caption{A course grounded in a modular Library}\label{fig:slides-library}
\end{figure}
Let us now continue looking at the example in Figure~\ref{fig:slides-library}: The
informal course materials go on in style, introducing the set operations ranging from set
union to the power set in one go in the theory \cn{SETOPS}. On the library side, we
introduce the set theory axioms one by one, derive the respective operators from them, and
at the end collect all the material in the theory \cn{ZFops}. A this point, we can justify
the theory \cn{SETOPS} via a partial inclusion of the symbols $\cup$, \ldots,
$\mathcal{P}$ from \cn{ZFops}, which gives rise to another definitional view \cn{v2} to
\cn{ZFops}. As \mmt allows assignments to structures, we can simply assign the inclusion
from \cn{SET} to \cn{SETOPS} to the (unique) inclusion from \cn{ZFset} to \cn{ZFops} (as
indicated by the ``assignment'' include $\cn{v_1}$ on $\cn{v_1}$).
We observe that the two theory graphs are self-contained: the course materials can be
understood without knowing about the library; in particular, the membership relation used
in the definition of the union operator in \cn{SETOPS} is from theory \cn{SET}.
This self-containedness is important intra-course didactics. But it also has the problem
that the courses become insular; how are students going to communicate with mathematicians
who have learned their maths from other courses? Here is where the views \cn{v_i} come
in. Say the other mathematicians have course theories \cn{\overline{SET}} and
\cn{\overline{SETOPS}} with views \cn{\overline{v_1}} and \cn{\overline{v_2}} into the
same library, then the views \cn{v_1} and \cn{\overline{v_1}} induce a partial
isomorphisms between \cn{SET} and \cn{\overline{SET}} in the sense
of~\cite{KohRabSac:fvip11} (and correspondingly between \cn{SETOPS} and
\cn{\overline{SETOPS}}) that justify communication.
\end{example}
\subsection{Accelerated Turing Machines}
The case of the mathematical paper case study mentioned above is more difficult, since we
do not have a direct generalization relation as in the case above. In this case, the
definition of the accelerated Turing machine involves a concrete step size ($2^{-n}$),
whereas the definition it recaps allows arbitrary sequences of step sizes as long as their
sum remains finite. Thus we have the situation in Figure~\ref{fig:atm}. Theory \cn{ATM}
contains the (opaque) sentence (\ref{lq:atm}), but there cannot be a view from \cn{ATM} to
\cn{atm} as that is more general. But we do have a view to \cn{atm(2^{-n})}, which
naturally arises in treatments of accelerated Turing machines as an example.
\begin{figure}[ht]\centering
\begin{tikzpicture}[scale=1.3]
\node at (-.5,2.7) {\large Paper};
\node at (2.5,2.7) {\large Literature};
\node[thy] (ATMp) at (-.5,2) {\cn{ATMhalt}};
\node[thy] (catmp) at (2,2) {\cn{atm(2^{-n})halt}};
\node[thy] (ATM) at (-.5,1) {\cn{ATM}};
\node[thy] (atm) at (3.5,0) {\cn{atm}};
\node[thy] (catm) at (2,1) {\cn{atm(2^{-n})}};
\node[thy,dotted] (atmp) at (3.5,1) {\cn{atmhalt}};
\draw[view] (ATM) -- node[above] {\cn{v_1}} (catm);
\draw[view] (ATMp) -- node[above] {\cn{v_2}} (catmp);
\draw[include] (atm) -- (catm);
\draw[include] (ATM) -- (ATMp);
\draw[include] (catm) -- (catmp);
\draw[include,dotted] (atm) -- (atmp);
\draw[include,dotted] (atmp) -- (catmp);
\end{tikzpicture}
\caption{Definitional View for ATM}\label{fig:atm}
\end{figure}
The more important aspect is that the contribution of~\cite{CalStai:natm09} (depicted here
as theory \cn{ATMhalt} as it concerns undecidability of the accelerated halting problem
by accelerated Turing machines) can be justified via a view into a theory
\cn{atm(2^{-n})halt}, which can be systematically constructed from \cn{ATMhalt} modulo
\cn{v_1} as pushouts along inclusions always exist in \mmt. In the particular example, we
can do even better: as the proof in theory \cn{ATMhalt} does not use any properties of the
step size sequence $2^{-n}$, there is a theory \cn{atmhalt} that generalizes
\cn{atm(2^{-n})halt} (shown dotted in Figure~\ref{fig:atm}). Note that this construction
is automatic and needs human intervention -- but one that the authors expect their readers
will readily do, otherwise they would not have restricted themselves to the concrete
sequence.
\end{oldpart}
\ No newline at end of file
No preview for this file type
......@@ -20,6 +20,7 @@
\addbibresource{extpubs.bib}
\addbibresource{kwarccrossrefs.bib}
\addbibresource{extcrossrefs.bib}
\addbibresource{kwarc.bib}
\usepackage{local}
......@@ -81,6 +82,8 @@
\section{Publication and Dissemination in MMT/OMDoc Theory Graphs}\label{sec:patterns}
\input{patterns}
%\input{oldparts}
\section{Conclusion and Future Work}\label{sec:conc}
\input{conc}
......
......@@ -8,7 +8,7 @@ First, each paper starts with establishing a common ground on which the results
\item Firstly, concepts from the literature are used to conveniently build up the local definitions. From the theory graphs perspective
this functions as a (possibly partial) import.
\item Secondly, properties of locally introduced concepts are \emph{adopted} from the literature. Mathematically, this is justified by
and (implicit or explicit) equivalence \ednote{``equivalence'' is too strong here} between the local definition and that used by the referenced theorem.
and (implicit or explicit) subsumption between the local definition and that used by the referenced theorem.
From the theory graph perspective this function as a theory morphism that induces the properties locally due to its truth-preserving semantics.
\end{itemize}
Therefore, a paper corresponds, not to a single theory, but to a theory pattern that leads to a theory of the main contxribution of the paper.
......@@ -391,130 +391,7 @@ given in the literature (which we represent as a realm).
\end{figure}
\begin{oldpart}{from bluenote}
We will progress by going through the examples from the introduction. \ednote{MK@MK: say
something about what digital libraries should look like: a theory for every variant
highly modularized, narratively enhanced overview for salient theories that are often
used, see Carette/Farmer high-level theories, \cite{CarFarKoh:tr13}}
\begin{example}[A Course grounded in a Formal Library]\label{sec:course}
Take for instance a course which introduces (naive) set theory informally, but grounds
itself in a formal, modular definition. Then we have the situation in
Figure~\ref{fig:slides-library}. On the right hand side, we have a careful introduction in
the form of a modular theory graph starting at a theory \cn{ZFset} that introduces
membership relation and the axioms of existence, extensionality, and separation and
defines the set constructor $\{\cdot |\cdot\}$ from these axioms. On the left we have a
theory \cn{SET} that ``adopts'' the symbols $\in$ and $\{\cdot |\cdot\}$ via a partial
inclusion $\cn{a_1}$ from \cn{ZFset} to \cn{SET} but ``defines'' them by alluding the
intuitions of the students. Note that a partial inclusion always gives rise to a view in
the opposite direction, here the view \cn{v_1} from \cn{SET} to \cn{set}. Note that we
cannot discharge the proof obligations in \cn{v_1}, since the definition of the set
constructor $\{\cdot |\cdot\}$ is opaque -- i.e. given as natural language, which is not
subject to formal methods; see~\cite{Kohlhase:fsgo13} for a discussion. We should think
of \cn{v_1} as a ``definitional view'' that gives meaning to the opaque parts in \cn{SET}:
the proof obgligations have to be met in order for the diagram to commute (which is an
invariant we want to maintain).
We call this situation where the symbols of a theory are imported via a partial inclusion
and their meaning is specified via a view that is a partial inverse an \textbf{adoption}
and the morphism pair an \textbf{adoption} morphism.
\begin{figure}[ht]\centering
\begin{tikzpicture}[yscale=1.7]
\node at (1,2.6) {\large Library};
\node at (-4.5,2.6) {\large Course};
\node[thy] (zfset) at (1,-.2) {\mthy{ZFset}{$\in$, \cn{Ex}, \cn{Ext}, \cn{Sep}; $\{\cdot |\cdot\}$}};
\node[thy] (zfunion) at (-.2,1) {\mthy{ZFunion}{\cn{Un}, $\cup$}};
\node[thy] (zfpow) at (2.2,1) {\mthy{ZFpow}{\cn{Pow}, $\mathcal{P}$}};
\node at (1.1,1) {\ldots};
\node[thy] (zfop) at (1,2) {ZFops};
\draw[include] (zfset) -- (zfunion);
\draw[include] (zfset) -- (zfpow);
\draw[include] (zfunion) -- (zfop);
\draw[include] (zfpow) -- (zfop);
\node[thy] (set) at (-4.5,-.2) {\mthy{SET}{$\in$, $\{\cdot |\cdot\}$}};
\node[thy] (sop) at (-4.5,2) {\mthy{SETOPS}{$\cup$,\ldots,$\mathcal{P}$}};
\draw[view] (set) to[out=-5,in=185] node[below] {$\cn{v_1}$} (zfset);
\draw[pinclude] (zfset) to[out=175,in=5] node[above] {$\cn{a_1}\colon\in,\{\cdot |\cdot\}$}(set);
\draw[view] (sop) to[out=-5,in=185] node[below] {$\cn{v_2}: \text{incl}\; \cn{v_1}$} (zfop);
\draw[pinclude] (zfop) to[out=175,in=5] node[above] {$\cn{a_2}\colon\cup,\ldots,\mathcal{P},\text{incl}\; \cn{a_1}$} (sop);
\draw[include] (set) -- (sop);
\end{tikzpicture}
\caption{A course grounded in a modular Library}\label{fig:slides-library}
\end{figure}
Let us now continue looking at the example in Figure~\ref{fig:slides-library}: The
informal course materials go on in style, introducing the set operations ranging from set
union to the power set in one go in the theory \cn{SETOPS}. On the library side, we
introduce the set theory axioms one by one, derive the respective operators from them, and
at the end collect all the material in the theory \cn{ZFops}. A this point, we can justify
the theory \cn{SETOPS} via a partial inclusion of the symbols $\cup$, \ldots,
$\mathcal{P}$ from \cn{ZFops}, which gives rise to another definitional view \cn{v2} to
\cn{ZFops}. As \mmt allows assignments to structures, we can simply assign the inclusion
from \cn{SET} to \cn{SETOPS} to the (unique) inclusion from \cn{ZFset} to \cn{ZFops} (as
indicated by the ``assignment'' include $\cn{v_1}$ on $\cn{v_1}$).
We observe that the two theory graphs are self-contained: the course materials can be
understood without knowing about the library; in particular, the membership relation used
in the definition of the union operator in \cn{SETOPS} is from theory \cn{SET}.
This self-containedness is important intra-course didactics. But it also has the problem
that the courses become insular; how are students going to communicate with mathematicians
who have learned their maths from other courses? Here is where the views \cn{v_i} come
in. Say the other mathematicians have course theories \cn{\overline{SET}} and
\cn{\overline{SETOPS}} with views \cn{\overline{v_1}} and \cn{\overline{v_2}} into the
same library, then the views \cn{v_1} and \cn{\overline{v_1}} induce a partial
isomorphisms between \cn{SET} and \cn{\overline{SET}} in the sense
of~\cite{KohRabSac:fvip11} (and correspondingly between \cn{SETOPS} and
\cn{\overline{SETOPS}}) that justify communication.
\end{example}
\subsection{Accelerated Turing Machines}
The case of the mathematical paper case study mentioned above is more difficult, since we
do not have a direct generalization relation as in the case above. In this case, the
definition of the accelerated Turing machine involves a concrete step size ($2^{-n}$),
whereas the definition it recaps allows arbitrary sequences of step sizes as long as their
sum remains finite. Thus we have the situation in Figure~\ref{fig:atm}. Theory \cn{ATM}
contains the (opaque) sentence (\ref{lq:atm}), but there cannot be a view from \cn{ATM} to
\cn{atm} as that is more general. But we do have a view to \cn{atm(2^{-n})}, which
naturally arises in treatments of accelerated Turing machines as an example.
\begin{figure}[ht]\centering
\begin{tikzpicture}[scale=1.3]
\node at (-.5,2.7) {\large Paper};
\node at (2.5,2.7) {\large Literature};
\node[thy] (ATMp) at (-.5,2) {\cn{ATMhalt}};
\node[thy] (catmp) at (2,2) {\cn{atm(2^{-n})halt}};
\node[thy] (ATM) at (-.5,1) {\cn{ATM}};
\node[thy] (atm) at (3.5,0) {\cn{atm}};
\node[thy] (catm) at (2,1) {\cn{atm(2^{-n})}};
\node[thy,dotted] (atmp) at (3.5,1) {\cn{atmhalt}};
\draw[view] (ATM) -- node[above] {\cn{v_1}} (catm);
\draw[view] (ATMp) -- node[above] {\cn{v_2}} (catmp);
\draw[include] (atm) -- (catm);
\draw[include] (ATM) -- (ATMp);
\draw[include] (catm) -- (catmp);
\draw[include,dotted] (atm) -- (atmp);
\draw[include,dotted] (atmp) -- (catmp);
\end{tikzpicture}
\caption{Definitional View for ATM}\label{fig:atm}
\end{figure}
The more important aspect is that the contribution of~\cite{CalStai:natm09} (depicted here
as theory \cn{ATMhalt} as it concerns undecidability of the accelerated halting problem
by accelerated Turing machines) can be justified via a view into a theory
\cn{atm(2^{-n})halt}, which can be systematically constructed from \cn{ATMhalt} modulo
\cn{v_1} as pushouts along inclusions always exist in \mmt. In the particular example, we
can do even better: as the proof in theory \cn{ATMhalt} does not use any properties of the
step size sequence $2^{-n}$, there is a theory \cn{atmhalt} that generalizes
\cn{atm(2^{-n})halt} (shown dotted in Figure~\ref{fig:atm}). Note that this construction
is automatic and needs human intervention -- but one that the authors expect their readers
will readily do, otherwise they would not have restricted themselves to the concrete
sequence.
\end{oldpart}
%%% Local Variables:
%%% mode: latex
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment