doc-src/isac/jrocnik/bakkarbeit_jrocnik.tex
author Jan Rocnik <jan.rocnik@student.tugraz.at>
Tue, 25 Oct 2011 23:50:45 +0200
branchdecompose-isar
changeset 42326 46e442ee5194
parent 42324 829d75932dc0
child 42327 4493e57565fd
permissions -rwxr-xr-x
tuned after meeting
     1 %   Title:  bakkarbeit_jrocnik.tex
     2 %   Author: Jan Rocnik
     3 %   (c) copyright due to lincense terms.
     4 %2345678901234567890123456789012345678901234567890123456789012345678901234567890
     5 %       10        20        30        40        50        60        70        80
     6 
     7 %TODO:
     8 %%\cite{proakis2004contemporary}
     9 %%
    10 %%patch:
    11 %%structur:    theory part                     ersetzt   project undamentals
    12 %%						 "mechanization of math in isac" ersetzt   introduction
    13 %%             authoring math in isac          ersetzt   mechanization
    14 
    15 %define document class
    16 \documentclass[a4paper, 12pt]{article}
    17 
    18 %packages for language and input
    19 \usepackage[english]{babel} 
    20 \usepackage[T1]{fontenc}
    21 \usepackage[latin1]{inputenc}
    22 
    23 %generel packages
    24 \usepackage{url}
    25 \usepackage{graphicx}
    26 \usepackage{endnotes}
    27 \usepackage{trfsigns}
    28 \usepackage{setspace}
    29 \usepackage[pdfpagelabels]{hyperref}
    30 \usepackage{longtable}
    31 
    32 \usepackage{float} %For restylefloat
    33 \newfloat{example}{h}{} %self made floats
    34 \floatname{example}{Example} %name for float
    35 \restylefloat{table} %float tables
    36 \floatstyle{ruled} %boxes around floats
    37 \restylefloat{example} %float examples --> boxes
    38 
    39 %isabelle relevant packages
    40 \usepackage{isabelle,isabellesym}
    41 
    42 %define isac logos
    43 \def\isac{${\cal I}\mkern-2mu{\cal S}\mkern-5mu{\cal AC}$}
    44 \def\sisac{\footnotesize${\cal I}\mkern-2mu{\cal S}\mkern-5mu{\cal AC}$}
    45 
    46 \newcommand{\HRule}{\rule{\linewidth}{0.2mm}}
    47 
    48 %----------// BEGIN DOCUMENT \\----------%
    49 
    50 \begin{document}
    51 
    52 %----------// TITLE PAGE \\----------%
    53 
    54 \input{./bakkarbeit_titlepage.tex}
    55 \cleardoublepage
    56 
    57 %----------// EMPTY PAGE \\----------%
    58 
    59 %todo
    60 
    61 %----------// THANKS \\----------%
    62 
    63 \setcounter{page}{2}
    64 \begin{center}
    65 	Special Thanks to\\
    66 	\hfill \\
    67 	\emph{Dr.techn. Walther Neuper}\\
    68 	\emph{Dipl.-Ing. Bernhard Geiger}
    69 \end{center}
    70 \thispagestyle{empty}
    71 \cleardoublepage
    72 
    73 %----------// EMPTY PAGE \\----------%
    74 
    75 %todo
    76 
    77 %----------// ABSTRACT \\----------%
    78 
    79 \begin{abstract}
    80 The Baccalaureate Thesis creates interactive course material for Signal Processing (SP) based on the experimental math assistant Isabelle and provides it within {\sisac} (Isabelle for Calculations).
    81 \par The content of the course material is defined together with the Signal Processing and Speech Communication Laboratory (SPSC Lab) of Graz University of Technology (TUG). The content is planned to be used in specific lectures and labs of the SPSC and thus is thoroughly concerned with underlying mathematical and physical theory.
    82 One challenge of this thesis is, that theory is not yet mechanized in Computer Theorem Provers (CTP); so this thesis will provide preliminary definitions in so-called \emph{theories} of the CTP Isabelle and theorems without proofs.
    83 \par Another callenge is the implementation of interactive courses: this is done within the educational math assistant Isabelle/{\sisac}, which is under development at TU Graz. The present state of {\sisac{}} happens to provide the {\em first} occasion for authoring by a non-member of the {\sisac}-developer team. So this challenge involves  alpha-testing of the underlying \emph{CTP-based programming language}, because error messages are still not user-friendly and need frequent contact with {\sisac}-developers.
    84 So the practical outcome of this thesis is twofold:
    85 \begin{enumerate}
    86 \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
    87 \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. 
    88 \end{enumerate}
    89 \end{abstract}
    90 \clearpage
    91 
    92 %----------// T O C \\----------%
    93 
    94 \pagenumbering{Roman}
    95 This thesis is structured into a fundamental part introducing the thesis aswell as the {\sisac{}} project and describing the mathematic base. Further a automatically generated practical part representing the work on {\sisac{}} which can be extended.
    96 \tableofcontents
    97 \clearpage
    98 \pagenumbering{arabic}
    99 \setcounter{page}{6}
   100 
   101 %----------// PART-1 \\----------%
   102 
   103 \part{Project Fundamentals}
   104 
   105 The goals of the thesis are finally defined in section \ref{sec:goals} which seems to be very late. The reason for this fact is that there has a lot of research to be done prior and a lot of this research has to be described in this thesis before we are able to define the proper goals. All this is neccessary for understanding the effort on this work. 
   106 
   107 \section{Introduction}
   108 The motivation to this thesis mainly takes it source from the feeling of understanding difficult signal processing tasks and the will to help others to get this feeling to.
   109 \par Signal Processing (SP) requieres a huge range of mathematic knowledge as well as a feeling for simplification and number tricks but even though this fact, the operations themself are no higher ones. The main task is to understand. Aside this description we think of the classic math ideas and techniques, consisting of predefined formulas, notations and forumularsations we learn.
   110 \par The math which should be mechanized in Computer Theorem Provers (\emph{CTP}) has (almost) a problem with traditional notations (predicate calculus) for axioms, definitions, lemmas, theorems as a computer programm or script is not able to interpret every greek or latin letter and every greek, latin or whatever calculations symbol. Also if we would be able to handle thehse symbols we still have a problem to interpret them at all. (Follow up \hbox{Example \ref{eg:symbint1}})
   111 
   112 \begin{example}
   113 	\begin{center}
   114 		\begin{math}u\left[n\right] \ldots unitstep \end{math}
   115 	\end{center}
   116 	{\small\emph{
   117 	The unitstep is something we need to solve Signal Processing problem classes. But in {\sisac{}} the rectangular brekats have already a meaning. So we abuse them for our requirements. We get something which is not defined but useable. The Result is only syntax without semantic.}
   118 	}
   119 	\caption{Symbol Interpretation}\label{eg:symbint1}
   120 \end{example}
   121 
   122 \noindent In different problems, symbols and letters have different meanings and ask for different ways to get through. (Follow up \hbox{Example \ref{eg:symbint2}}) 
   123 \begin{example}
   124 	\begin{center}
   125 todo
   126 	\end{center}
   127 	{\small\emph{
   128 	The unitstep is something we need to solve Signal Processing problem classes. But in {\sisac{}} the rectangular brekats have already a meaning. So we abuse them for our requirements. We get something which is not defined but useable. The Result is only syntax without semantic.}
   129 	}
   130 	\caption{Symbol Interpretation}\label{eg:symbint2}
   131 \end{example}
   132 Exclusive from the input, also the output can be a problem. We are familar with a specified notations and style taught in university but a computer programm has no knowledge of the form probved by a professor and the maschines themselve also have not yet the possibilities to print every symbol (correct) Recent developments provide proofs in a humand readable format but according to the fact that there is no mony for good working formel editors yet, the style is one thing we have to live with.
   133 \par This thesis tries to \emph{connect} these two worlds and is one of the first guidelines to implement problem classes in {\sisac}. For others see related works in section \ref{sec:related}.
   134 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.
   135 
   136 \subsection{Mechanization of Mathematics}
   137 A problem behind is the mechanization of mathematic theories in CTP-bases languages. There is still a hugh gap between these theories and this what we call an applications - in Example Signal Processing. Until we are not able to fill this gap we have to live with it but first have a look on the meaning of this statement:
   138 \par Mechanized math starts from mathematical models and \emph{hopefully} proceeds to match physics. Academic engineering starts from physics (experimentation, measurement) and then proceeds to mathematical modelling and formalization. The process from a physical observance to a mathematical theory is unavoidable bound of setting up a big collection of standards, rules, definition but also exceptions. These are the things making mechanization that difficult.
   139 \par A computer or a CTP-System builds on programms witth predefined logical ruels and does not know any mathematical trick or recipe to walk around difficult expressions. For such a system the only possibility is to work through its known definitions vulgo theories 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. 
   140 \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.
   141 
   142 \subsection{Goals of the Thesis}\label{sec:goals}
   143 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?
   144 \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.
   145 \par Another goal is to demonstrate the power and attractivity of {\sisac}.
   146 
   147 \section{Mechanization of Signal Processing Problems}
   148 \subsection{Relevant Knowledge available in Isabelle}
   149 Isabelle is developed now for a long time and so we are able to access a huge range of theories and usefull snipsets. The main problem according this snipsets is that isabelle still is a theorem proofer and not an algebra system. But due the work of the {\sisac}-development team there are already also many calculation examples provided.
   150 \par The SPSC provided a list of problems which are often done wrong or are missunderstood by studentsin term of the problem classes. Out of these tasks we tried to extract the core operations and looked up which parts are already implemented or usefull. The provided problems are:
   151 \begin{itemize}
   152 \item Fourier-Transformation
   153 \item Convolution
   154 \item Inverse z-Transformation and partial fraction decomposition
   155 \item Indextransformation
   156 \end{itemize}
   157 Following the collection and evaluation of core operations collated with isabelle:
   158 
   159 \paragraph{example FFT}, describe in detail !!!! 
   160 
   161 ? different meaning: FFT in Maple
   162 
   163 gap between what is available and what is required (@)!
   164 
   165 traditional notation ?
   166 
   167 \subsection{Relevant Knowledge available in isac}
   168 todo
   169 
   170 specifications (``application axis'') and methods (``algorithmic axis'')
   171 
   172 partial fractions, cancellation of multivariate rational terms, ...
   173 
   174 \subsection{Survey: Requiered Knowledge and Selected Problem(s)}
   175 Following tables are showing the expected development effort for speciefic problems. The values are only very inaccurately approximations of the real work, but needed as a basis for descieding with which problem to start:
   176 
   177 \begin{table}[!H]
   178 \begin{centering}
   179 \begin{tabular}{p{4cm}|p{5cm}|rp{2.5cm}}
   180 requirements            & comments             &effort\\ \hline\hline
   181 solving Intrgrals		    & simple via propertie table     &     20\\
   182                         & \emph{real}          &    MT\\ \hline
   183 transformation table    & simple transform     &    20\\ \hline
   184 visualisation						& backend							 &    10\\ \hline
   185 example collection      & with explanations    &    20\\ \hline\hline
   186 \multicolumn{2}{c|}{}                      & 70-80\\
   187 \end{tabular}
   188 \par\end{centering}
   189 \caption{Fourier-Transformation development effort}
   190 \end{table}
   191 
   192 \begin{table}[H]
   193 \begin{centering}
   194 \begin{tabular}{p{4cm}|p{5cm}|rp{2.5cm}}
   195 requirements            & comments             &effort\\ \hline\hline
   196 simplify rationals      & \sisac               &     0\\ \hline
   197 define $\sum\limits_{i=0}^{n}i$ & partly \sisac  &    10\\ \hline
   198 simplify sum			      & termorder            &    10\\
   199                         & simplify rules       &    20\\
   200                         & use simplify rationals&     0\\ \hline
   201 index adjustments       & with unit step       &      10\\ \hline
   202 example collection      & with explanations    &    20\\ \hline\hline
   203 \multicolumn{2}{c|}{}                      & 70-90\\
   204 \end{tabular}
   205 \par\end{centering}
   206 \caption{Convolution Operations development effort}
   207 \end{table}
   208 
   209 \begin{table}[H]
   210 \begin{centering}
   211 \begin{tabular}{p{4cm}|p{5cm}|rp{2.5cm}}
   212 requirements            & comments             &effort\\ \hline\hline
   213 solve for part.fract.   & \sisac: degree 2     &     0\\
   214                         & complex nomminators  &    30\\
   215                         & degree > 2           &    MT\\ \hline
   216 simplify polynomial     & \sisac               &     0\\
   217 simplify rational       & \sisac               &     0\\ \hline
   218 partial fraction        & degree 2,            &    20\\
   219 decomposition           & specification, method&    30\\ \hline
   220 ${\cal Z}^{-1}$ table   & explanations, figures&    20\\ \hline
   221 example collection      & with explanations    &    20\\ \hline\hline
   222 \multicolumn{2}{c|}{}                      & 90-120\\
   223 %                        &                      & 1 MT
   224 \end{tabular}
   225 \par\end{centering}
   226 \caption{Z-Transformation development effort}
   227 \end{table}
   228 
   229 As conclusion of the summerized efforts it is evident that only one topic can be tried to realized as a baccalaureate thesis. In accord with Dr. Neuper we decided after some practical tests to start with the implementation of the (Inverse) Z-Transformation. The Reason is that this topic can mostly be done with knowledge which was already tried to be mechanized in {\sisac}.
   230 
   231 \subsection{Formalization of missing knowledge in Isabelle}
   232 todo
   233 
   234 axiomatization ... where ... and
   235 
   236 \subsection{Notes on Problems with Traditional Notation}
   237 Due the thesis work we discorvers severell problems of traditional notations.
   238 
   239 u[n] !!
   240 
   241 f x =  why not f(x) ?!?!
   242 
   243 ...
   244 
   245 terms are not full simplified in traditional notations, in isac we have to simplify them complete to check weather results are compatible or not. in e.g. the solutions of an second order linear equation is an rational in isac but in tradition we keep fractions as long as possible and as long as they are 'beautiful' (1/8, 5/16,...)
   246 
   247 \section{Milestones for the Thesis}
   248 The thesis was splitted into six iterations
   249 \begin{description}
   250 \item[(29.06. -- 27.07.)] Collection of detailed informations about different STEOP topics \ref{ssec:infcol}
   251 \item[(27.07.)] First Prsentation - Decition on which Problems will be implemented \ref{ssec:pres1}
   252 \item[(01.09. -- 11.11.)] Implementing the Problem Class in {\sisac{}} \ref{ssec:impl}
   253 \item[(14.11. -- 02.12.)] Documentation of the Implementation \ref{ssec:doc}
   254 \item[(05.12. -- todo)] Writting on the thesis \ref{ssec:thes}
   255 \item[todo] Second Prsentation - Work review \ref{ssec:pres2}
   256 \end{description}
   257 
   258 \section{Detailed Milestone Description}
   259 \subsection{Collection of detailed informations about different STEOP topics}\label{ssec:infcol}
   260 identify problems relevant for certain SP lectures
   261 estimate chances to realized them within the scope of this thesis
   262 order for implementing the problems negotiated with lecturers
   263 \subsection{First Prsentation - Decition on which Problems will be implemented}\label{ssec:pres1}
   264 \subsection{Implementing the Problem Class in {\sisac}}\label{ssec:impl}
   265 \subsection{Documentation of the Implementation}\label{ssec:doc}
   266 \subsection{Writting on the thesis}\label{ssec:thes}
   267 \subsection{Second Prsentation - Work review}\label{ssec:pres2}
   268 
   269 \section{Review}
   270 todo
   271 \section{Conclusions}
   272 todo
   273 
   274 \clearpage
   275 
   276 %----------// RELATED \\-----------%
   277 
   278 \section{Related Work and Open Questions \label{sec:related}}
   279 List of related work
   280 See ``introduction'': This thesis tries to connect these two worlds ... this trial is one of the first; others see related work
   281 \clearpage
   282 
   283 %----------// PART 2 \\----------%
   284 
   285 \part{Implementation}
   286 
   287 \input{./preambleForGeneratedDocuments.tex}
   288 \HRule
   289 %\input{../../../test/Tools/isac/ADDTESTS/course/SignalProcess/document/Build_Inverse_Z_Transform}
   290 
   291 \clearpage
   292 
   293 
   294 %----------// APPENDIX \\-----------%
   295 
   296 \appendix
   297 
   298 %----------// BIB \\-----------%
   299 
   300 \renewcommand{\refname}{\section{Sources}} % Using "Sources" as the title of the section
   301 \bibliographystyle{alpha}
   302 \bibliography{references}
   303 \clearpage
   304 
   305 %----------// WORK TIME \\-----------%
   306 
   307 \section{Stundenliste}
   308 \begin{footnotesize}
   309 \begin{longtable}[h]{l p{6.5cm} c c r}
   310 {\bf Date} & {\bf Description} & {\bf Begin} & {\bf End} & {\bf Dur.}\\
   311 \hline \hline
   312 \endhead
   313 29.06.2011 & Treffen mit Geiger und Neuper & 15:00 & 17:30 & 2,50\\ 
   314 02.07.2011 & Beispielaufbereitung (Bsp. Geiger Mail) & 20:00 & 21:30 & 1,50\\ 
   315 03.07.2011 & Beispielaufbereitung, Vorraussetzungsausw. & 21:00 & 22:45 & 1,75\\ 
   316 05.07.2011 & Treffen mit Neuper, Informationsaustausch & 10:00 & 13:00 & 3,00\\ 
   317 06.07.2011 & Isabelle Installation & 20:00 & 22:30 & 2,50\\ 
   318 07.07.2011 & Treffen mit Neuper, Präsentationsvorbereitung & 14:45 & 16:15 & 1,50\\ 
   319 18.07.2011 & Präsentationsvorbereitung - Struktur & 14:15 & 16:00 & 1,75\\ 
   320 19.07.2011 & Präsentationsvorbereitung - Inhalt & 07:20 & 09:20 & 2,00\\ 
   321 19.07.2011 & Treffen mit Neuper & 10:00 & 12:00 & 2,00\\ 
   322 21.07.2011 & HG Fehlersuche, Latex Ausarbeitung & 11:10 & 14:00 & 2,83\\ 
   323 22.07.2011 & Treffen mit Neuper & 10:00 & 12:00 & 2,00\\ 
   324 23.07.2011 & Berechnungen in Latex fertigstellen & 13:45 & 16:30 & 2,75\\ 
   325 24.07.2011 & Präsentation fertigstellen & 20:10 & 20:40 & 0,50\\ 
   326 25.07.2011 & Treffen mit Neuper, Präsentation \& erste Tests & 15:15 & 17:55 & 2,67\\ 
   327 26.07.2011 & Test\_Complex.thy erarbeiten & 10:45 & 12:10 & 1,42\\ 
   328 27.07.2011 & present-1 mit Neuper, Geiger & 10:00 & 12:00 & 2,00\\
   329 \hline 
   330 02.09.2011 & Treffen mit Neuper, Vorlage Bakk-Arbeit & 08:30 & 10:20 & 1,83\\ 
   331 05.09.2011 & Treffen mit Neuper, Beginn Partialbruchzerlegung & 09:30 & 12:45 & 3,25\\ 
   332 05.09.2011 & Partialbruchzerlegung & 17:10 & 18:30 & 1,33\\ 
   333 06.09.2011 & Dokumentation Partialbruchzerlegung & 10:00 & 13:15 & 3,25\\ 
   334 07.09.2011 & Treffen mit Neuper, Einführung Programmierung & 10:00 & 12:50 & 2,83\\ 
   335 08.09.2011 & Latex Umgebung einrichten - Theory export & 19:00 & 22:45 & 3,75\\ 
   336 09.09.2011 & Latex Umgebung einrichten - Makefile & 11:40 & 15:00 & 3,33\\ 
   337 10.09.2011 & Treffen mit Neuper, HG Fehler, Skript Inv.-Z-Transf. & 10:00 & 12:00 & 2,00\\ 
   338 14.09.2011 & Skript Inv.-Z-Transf Prgrammierung & 09:10 & 12:25 & 3,25\\ 
   339 16.09.2011 & Informationssammlung Summen & 13:15 & 16:00 & 2,75\\ 
   340 19.09.2011 & Programmierübung & 10:00 & 13:10 & 3,17\\ 
   341 20.09.2011 & Trefffen mit Neuper, Unterstützung bei Program. & 15:30 & 18:10 & 2,67\\ 
   342 23.09.2011 & Neukonfiguration IsaMakefile & 13:00 & 14:30 & 1,50\\ 
   343 23.09.2011 & Treffen Neuper, Programmierung Build\_Inverse\_Z & 14:30 & 17:30 & 3,00\\ 
   344 26.09.2011 & Skript Partialbruchzerlegung - getArgument & 13:30 & 16:15 & 2,75\\ 
   345 27.09.2011 & Treffen mit Neuper, HG Fehler & 09:00 & 12:20 & 3,33\\ 
   346 28.09.2011 & Treffen mit Neuper, Dateiumstrukturierung & 10:00 & 12:30 & 2,50\\ 
   347 01.10.2011 & Testen & 10:00 & 11:00 & 1,00\\ 
   348 02.10.2011 & Fehlersuche & 15:00 & 16:10 & 1,17\\ 
   349 06.10.2011 & Treffen mit Neuper & 15:00 & 17:50 & 2,83\\ 
   350 07.10.2011 & Treffen mit Neuper, Programmbesprechung & 15:00 & 16:50 & 1,83\\ 
   351 09.10.2011 & Bakk. Arbeit & 16:30 & 18:45 & 2,25\\ 
   352 11.10.2011 & Treffen mit Neuper, Programmbespr., Abstract & 14:10 & 17:10 & 3,00
   353 \end{longtable}
   354 \end{footnotesize}
   355 
   356 \section{Calculations}
   357 \input{calulations}
   358 \end{document}