doc-src/isac/jrocnik/bakkarbeit_jrocnik.tex
branchdecompose-isar
changeset 42330 30477ac661c7
parent 42329 c11c61d1a8c4
child 42333 8da48e2c6cb1
     1.1 --- a/doc-src/isac/jrocnik/bakkarbeit_jrocnik.tex	Fri Oct 28 19:31:41 2011 +0200
     1.2 +++ b/doc-src/isac/jrocnik/bakkarbeit_jrocnik.tex	Thu Nov 03 11:50:02 2011 +0100
     1.3 @@ -124,7 +124,7 @@
     1.4  \medskip
     1.5  The thesis is structured as follows: Part I concerns theory, part II the implementation work, where the latter is the main part.
     1.6  
     1.7 -In part I, \S\ref{isabisac} gives a brief description of the state-of-the-art for educational math assistants (\S\ref{emas}) and introduces the notions required for the implementation work (\S\ref{math-auth}). In particular, \S\ref{user-guid} explains, why math authoring in \sisac{} is {\em not} concerned with interaction (and thus not with user guidance etc at all~!). So a concise description of the thesis' goals needs to be postponed to \S\ref{sec:goals}.
     1.8 +In part I, \S\ref{isabisac} gives a brief description of the state-of-the-art for educational math assistants (\S\ref{emas}) and introduces the notions required for the implementation work (\S\ref{math-auth}). In particular, \S\ref{user-guid} explains, why math authoring in {\sisac{}} is {\em not} concerned with interaction (and thus not with user guidance etc at all~!). So a concise description of the thesis' goals needs to be postponed to \S\ref{sec:goals}.
     1.9  
    1.10  \S\ref{sp} analyzes ten (TODO: exact no?) problems defined by the SPSC Lab for the knowledge already provided (\S\ref{know-isab}, \S\ref{know-isac}), discusses the selection of problems for implementation (\S\ref{know-missing}) TODO: further structure ?
    1.11  %(\S\ref{})
    1.12 @@ -162,14 +162,14 @@
    1.13  %	}}
    1.14  %	\caption{Mathematic tricks}\label{eg:trick}
    1.15  %\end{example}
    1.16 -%For such a system the only possibility is to work through its known definitions and stops if none of these fits. Specified on Signal Processing or any other application it is often possible to walk through by doing simple creases. This creases are in generell based on simple math operatiopms but the challange is to teach the machine \emph{all}\footnote{Its pride to call it \emph{all}.} of them. Unfortunataly the goal of CTP Isabelle is to reach a high level of \emph{all} but it in real it will still be a survey of knowledge which links to other knowledge and {\sisac{}} a trainer and helper but no human compensating calulator. 
    1.17 -%\par {\sisac{}} itselfs aims to adds an \emph{application} axis (formal specifications of problems outof topics from Signal Processing, etc.) and an \emph{algorithmic} axis to the \emph{deductive} axis of physical knowledge. The result is a three-dimensional universe of mathematics.
    1.18 +%For such a system the only possibility is to work through its known definitions and stops if none of these fits. Specified on Signal Processing or any other application it is often possible to walk through by doing simple creases. This creases are in generell based on simple math operatiopms but the challange is to teach the machine \emph{all}\footnote{Its pride to call it \emph{all}.} of them. Unfortunataly the goal of CTP Isabelle is to reach a high level of \emph{all} but it in real it will still be a survey of knowledge which links to other knowledge and {{\sisac{}}} a trainer and helper but no human compensating calulator. 
    1.19 +%\par {{\sisac{}}} itselfs aims to adds an \emph{application} axis (formal specifications of problems outof topics from Signal Processing, etc.) and an \emph{algorithmic} axis to the \emph{deductive} axis of physical knowledge. The result is a three-dimensional universe of mathematics.
    1.20  %
    1.21  %\subsubsection*{Notes on Mechanization of Mathematics}
    1.22  %This thesis tries to \emph{connect} these two worlds and is one of the first guidelines to implement problem classes in {\sisac}. As we are still in a eary part of development, this is the first thesis dealing within this topic and there is \emph{no} related work to guid through. A more detailed description about this fact can be found in Section \ref{sec:related}.
    1.23  %The major challenge of the practical part, of this thesis, is, that "connecting the two worlds" involves programming in a CTP-based programming language which is in a very early state of prototyping. There is no concrete experience data ready to grep.
    1.24  %
    1.25 -As mentioned in the introduction, a prototype of an educational math assistant called \sisac\footnote{\sisac=\textbf{Isa}belle \cite{Nipkow-Paulson-Wenzel:2002} for \textbf{C}alculations, see http://www.ist.tugraz.at/isac/.} bridges the gap between (1) introducation and (2) application of mathematics: {\sisac} is based on Computer Theorem Proving (CTP), a technology which requires each fact and each action justified by formal logic, so \sisac{} makes justifications transparent to students in interactive step-wise problem solving. By that way {\sisac} already can serve both:
    1.26 +As mentioned in the introduction, a prototype of an educational math assistant called {\sisac}\footnote{{\sisac}=\textbf{Isa}belle \cite{Nipkow-Paulson-Wenzel:2002} for \textbf{C}alculations, see http://www.ist.tugraz.at/isac/.} bridges the gap between (1) introducation and (2) application of mathematics: {\sisac} is based on Computer Theorem Proving (CTP), a technology which requires each fact and each action justified by formal logic, so {{\sisac{}}} makes justifications transparent to students in interactive step-wise problem solving. By that way {\sisac} already can serve both:
    1.27  \begin{enumerate}
    1.28  \item Introduction of math stuff (e.g. partial fraction decomposition) by stepwise explaining and exercising respective symbolic calculations with ``next step guidance (NSG)'' and rigorously checking steps freely input by students  --- this also in context with advanced applications (where the stuff to be taught in higher semesters can be skimmed through by NSG), and
    1.29  \item Application of math stuff in advanced engineering courses (e.g. problems to be solved by inverse Z-transform in a Signal Processing Lab) --- and now without much ado about basic math techniques (like partical fraction decomposition): ``next step guidance'' supports students in independenly (re-)adopting such techniques.
    1.30 @@ -237,12 +237,12 @@
    1.31  
    1.32  \subsection{Goals of the Thesis}\label{sec:goals}
    1.33  %Imagine a piece of software would be able to support you by understanding every problem class, upcoming in the first years attending university - wouldn't it be great?
    1.34 -%\par {\sisac{}} tries to do that, but the current state of the art is miles away from this goal and a single implementation of a problem is not enough to cahnge this circumstamce. Through this fact it is all the more essential to try, test, research and document the implementation of problem classes from "`real world"' applications. Responding to the abstract at the begin of this document the thesis has two folds; on the one hand certainly to provide interactiv course material for Signal Processing (which means to implement a single problem provided by the Institute of Signal Processing and Speech Communication (SPSC); follow up Calulcations), and to extract experience data respectively help the {\sisac{}}-team by setting up a detailed description of technicalities hacking {\sisac{}} on the other hand.
    1.35 +%\par {{\sisac{}}} tries to do that, but the current state of the art is miles away from this goal and a single implementation of a problem is not enough to cahnge this circumstamce. Through this fact it is all the more essential to try, test, research and document the implementation of problem classes from "`real world"' applications. Responding to the abstract at the begin of this document the thesis has two folds; on the one hand certainly to provide interactiv course material for Signal Processing (which means to implement a single problem provided by the Institute of Signal Processing and Speech Communication (SPSC); follow up Calulcations), and to extract experience data respectively help the {{\sisac{}}}-team by setting up a detailed description of technicalities hacking {{\sisac{}}} on the other hand.
    1.36  %\par Another goal is to demonstrate the power and attractivity of {\sisac}.
    1.37 -Now all the notions are in place to describe the task ``Interactive Course Material for Signal Processing based on Isabelle/\sisac'' appropriately by the following points:
    1.38 +Now all the notions are in place to describe the task ``Interactive Course Material for Signal Processing based on Isabelle/{\sisac}'' appropriately by the following points:
    1.39  \begin{enumerate}
    1.40 -\item Analyze the problems given by the SPSC Lab for mathematics \textbf{knowledge required}, search the knowledge already available in Isabelle/\sisac, estimate efforts required to fill the gap between knowledge required and knowledge available, and finally select problems for implementation accordingly.
    1.41 -\item Implement the selected problems in Isabelle/\sisac, which means, in appropriate Isabelle theories \textbf{for each problem} implement:
    1.42 +\item Analyze the problems given by the SPSC Lab for mathematics \textbf{knowledge required}, search the knowledge already available in Isabelle/{\sisac}, estimate efforts required to fill the gap between knowledge required and knowledge available, and finally select problems for implementation accordingly.
    1.43 +\item Implement the selected problems in Isabelle/{\sisac}, which means, in appropriate Isabelle theories \textbf{for each problem} implement:
    1.44    \begin{enumerate}
    1.45    \item \textbf{Definitions and theorems} required within the specification (including ``descriptions'' for input variables and output variables) and the program (proofs omitted via ``axiomaization'')
    1.46    \item \textbf{A specification} which describes the input variables, the preconditions on the input (a challenge for rigorously exact mathematics~!), the output variables and the postcondition, which relates input to output such that the problem is characterized formally (another challenge for rigorously exact mathematics~!)
    1.47 @@ -254,7 +254,7 @@
    1.48  %  \item Interactive course material hopefully useful in education within the SPSC Lab and within STEOP, the introductory orientation phase at TUG, as a preview for students in Telematics on later application of math knowledge introduced in the first semester and
    1.49  %  \item A detailed description of technicalities in programming implemented as an interactive Isabelle/Isar theory, providing future programmers with guidelines and {\sisac}-developers with feedback in usability of the CTP-based program language. 
    1.50    \item subsequent application programmers have guidelines for further implementation of interactive course material in SPSC and other engineering sciences
    1.51 -  \item \sisac{} developers get feedback for ongoing improvement of the CTP-based programming language, the respective development environment and the respective program interpreter (called Lucas-Interpreter)
    1.52 +  \item {\sisac{}} developers get feedback for ongoing improvement of the CTP-based programming language, the respective development environment and the respective program interpreter (called Lucas-Interpreter)
    1.53    \item development of knowledge for engineering sciences is being motivated in the Isabelle community.
    1.54    \end{enumerate}
    1.55  \end{enumerate}
    1.56 @@ -309,8 +309,8 @@
    1.57  \begin{centering}
    1.58  \begin{tabular}{p{4cm}|p{5cm}|rp{2.5cm}}
    1.59  requirements            & comments             &effort\\ \hline\hline
    1.60 -simplify rationals      & \sisac               &     0\\ \hline
    1.61 -define $\sum\limits_{i=0}^{n}i$ & partly \sisac  &    10\\ \hline
    1.62 +simplify rationals      & {\sisac}               &     0\\ \hline
    1.63 +define $\sum\limits_{i=0}^{n}i$ & partly {\sisac}  &    10\\ \hline
    1.64  simplify sum			      & termorder            &    10\\
    1.65                          & simplify rules       &    20\\
    1.66                          & use simplify rationals&     0\\ \hline
    1.67 @@ -326,11 +326,11 @@
    1.68  \begin{centering}
    1.69  \begin{tabular}{p{4cm}|p{5cm}|rp{2.5cm}}
    1.70  requirements            & comments             &effort\\ \hline\hline
    1.71 -solve for part.fract.   & \sisac: degree 2     &     0\\
    1.72 +solve for part.fract.   & {\sisac}: degree 2     &     0\\
    1.73                          & complex nomminators  &    30\\
    1.74                          & degree > 2           &    MT\\ \hline
    1.75 -simplify polynomial     & \sisac               &     0\\
    1.76 -simplify rational       & \sisac               &     0\\ \hline
    1.77 +simplify polynomial     & {\sisac}               &     0\\
    1.78 +simplify rational       & {\sisac}               &     0\\ \hline
    1.79  partial fraction        & degree 2,            &    20\\
    1.80  decomposition           & specification, method&    30\\ \hline
    1.81  ${\cal Z}^{-1}$ table   & explanations, figures&    20\\ \hline
    1.82 @@ -369,7 +369,7 @@
    1.83  		u\left[n\right] \ \ldots \ unitstep
    1.84  	\]
    1.85  	{\small\textit{
    1.86 -		\noindent The unitstep is something we need to solve Signal Processing problem classes. But in {\sisac{}} the 	rectangular breakets have a different meaning. So we abuse them for our requirements. We get something which is not defined, but useable. The Result is syntax only without semantic.
    1.87 +		\noindent The unitstep is something we need to solve Signal Processing problem classes. But in {{\sisac{}}} the 	rectangular breakets have a different meaning. So we abuse them for our requirements. We get something which is not defined, but useable. The Result is syntax only without semantic.
    1.88  	}}
    1.89  	\caption{Expression Interpretation}\label{eg:symbint1}
    1.90  \end{example}
    1.91 @@ -380,7 +380,7 @@
    1.92  		\widehat{\ }\ \widehat{\ }\ \widehat{\ } \  \ldots \  exponent
    1.93  	\]
    1.94  	{\small\textit{
    1.95 -	\noindent For using exponents the three widehat symbols are required. The reason for that is due the development of {\sisac{}} the single widehat and also the double were already in use for different operations.
    1.96 +	\noindent For using exponents the three widehat symbols are required. The reason for that is due the development of {{\sisac{}}} the single widehat and also the double were already in use for different operations.
    1.97  	}}
    1.98  	\caption{Symbol Interpretation}\label{eg:symbint2}
    1.99  \end{example}
   1.100 @@ -391,7 +391,7 @@
   1.101  \begin{description}
   1.102  \item[(29.06. -- 27.07.)] Collection of detailed informations about different STEOP topics \ref{ssec:infcol}
   1.103  \item[(27.07.)] First Prsentation - Decition on which Problems will be implemented \ref{ssec:pres1}
   1.104 -\item[(01.09. -- 11.11.)] Implementing the Problem Class in {\sisac{}} \ref{ssec:impl}
   1.105 +\item[(01.09. -- 11.11.)] Implementing the Problem Class in {{\sisac{}}} \ref{ssec:impl}
   1.106  \item[(14.11. -- 02.12.)] Documentation of the Implementation \ref{ssec:doc}
   1.107  \item[(05.12. -- todo)] Writting on the thesis \ref{ssec:thes}
   1.108  \item[todo] Second Prsentation - Work review \ref{ssec:pres2}
   1.109 @@ -410,8 +410,8 @@
   1.110  
   1.111  \section{Related Work}\label{sec:related}
   1.112  Unusual for a Baccalaureate Thesis, there is {\em no} related work; this requires explanation.
   1.113 -Of course, this thesis relies on front-of-the wave computer mathematics, on CTP. But {\sisac{}} uses CTP in a very specific way, which is too weakly related to other work: programming in the CTP-based language and rigorous formal specification of problems in Signal Processing where the main tasks in the practical part of this thesis. The major challenge for the practical work was given by the fact, that the work concerned alpha-testing of the CTP-based programming environment.
   1.114 -\par Another  area of work could be considered as related work: authoring of e-learning content. However, {\sisac{}} provides division of concern such that the practical part of this thesis could focus on computer mathematics; this work was not concerned with interaction (the CTP-based programming language has neither input statements nor output statements), nor with dialog guidance nor with any kind of learning theory.
   1.115 +Of course, this thesis relies on front-of-the wave computer mathematics, on CTP. But {{\sisac{}}} uses CTP in a very specific way, which is too weakly related to other work: programming in the CTP-based language and rigorous formal specification of problems in Signal Processing where the main tasks in the practical part of this thesis. The major challenge for the practical work was given by the fact, that the work concerned alpha-testing of the CTP-based programming environment.
   1.116 +\par Another  area of work could be considered as related work: authoring of e-learning content. However, {{\sisac{}}} provides division of concern such that the practical part of this thesis could focus on computer mathematics; this work was not concerned with interaction (the CTP-based programming language has neither input statements nor output statements), nor with dialog guidance nor with any kind of learning theory.
   1.117  \par These two reasons are given for the unusual statement, that there is no related work to be discussed in this thesis. 
   1.118  
   1.119  \section{Review}
   1.120 @@ -421,8 +421,8 @@
   1.121  \section{Conclusions}
   1.122  todo
   1.123  
   1.124 -\bibliographystyle{alpha}
   1.125 -\bibliography{references}
   1.126 +%\bibliographystyle{alpha}
   1.127 +%\bibliography{references}
   1.128  %\bibliography{bib/math-eng,bib/didact,bib/bk,bib/RISC_2,bib/isac,bib/pl,bib/math}
   1.129  
   1.130  
   1.131 @@ -445,7 +445,7 @@
   1.132  
   1.133  %----------// BIB \\-----------%
   1.134  
   1.135 -\renewcommand{\refname}{\section{Sources}} % Using "Sources" as the title of the section
   1.136 +%\renewcommand{\refname}{\section{Sources}} % Using "Sources" as the title of the section
   1.137  \bibliographystyle{alpha}
   1.138  \bibliography{references}
   1.139  \clearpage