doc-src/isac/jrocnik/bakkarbeit_jrocnik.tex
branchdecompose-isar
changeset 42327 4493e57565fd
parent 42326 46e442ee5194
child 42328 2b717e93bed2
equal deleted inserted replaced
42326:46e442ee5194 42327:4493e57565fd
    20 \usepackage[T1]{fontenc}
    20 \usepackage[T1]{fontenc}
    21 \usepackage[latin1]{inputenc}
    21 \usepackage[latin1]{inputenc}
    22 
    22 
    23 %generel packages
    23 %generel packages
    24 \usepackage{url}
    24 \usepackage{url}
    25 \usepackage{graphicx}
       
    26 \usepackage{endnotes}
    25 \usepackage{endnotes}
    27 \usepackage{trfsigns}
    26 \usepackage{trfsigns}
    28 \usepackage{setspace}
    27 \usepackage{setspace}
    29 \usepackage[pdfpagelabels]{hyperref}
    28 \usepackage[pdfpagelabels]{hyperref}
    30 \usepackage{longtable}
    29 \usepackage{longtable}
    33 \newfloat{example}{h}{} %self made floats
    32 \newfloat{example}{h}{} %self made floats
    34 \floatname{example}{Example} %name for float
    33 \floatname{example}{Example} %name for float
    35 \restylefloat{table} %float tables
    34 \restylefloat{table} %float tables
    36 \floatstyle{ruled} %boxes around floats
    35 \floatstyle{ruled} %boxes around floats
    37 \restylefloat{example} %float examples --> boxes
    36 \restylefloat{example} %float examples --> boxes
       
    37 
       
    38 %colors and graphics
       
    39 \usepackage{graphicx}
       
    40 \usepackage{color}
       
    41 \definecolor{lgray}{RGB}{238,238,238}
    38 
    42 
    39 %isabelle relevant packages
    43 %isabelle relevant packages
    40 \usepackage{isabelle,isabellesym}
    44 \usepackage{isabelle,isabellesym}
    41 
    45 
    42 %define isac logos
    46 %define isac logos
   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. 
   109 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 
   110 
   107 \section{Introduction}
   111 \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.
   112 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.
   113 \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 
   114 
   136 \subsection{Mechanization of Mathematics}
   115 \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:
   116 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. 
       
   117 \begin{example}
       
   118 	\[
       
   119 		X\cdot(a+b)+Y\cdot(c+d)=aX+bX+cY+dY
       
   120   \]
       
   121 	{\small\textit{
       
   122 		\noindent A very simple example on this what we call gap is the simplification above. It is needles to say that it is correct and also isabell forfills it correct - \emph{always}. But sometimes we don't want do simplificate these things, sometimes it is easyer for handling and understanding if we keep terms together. Think of a problem were we now would need only the coefficients of $X$ and $Y$. This is what we call the gap between applications and theorem proofment.
       
   123 	}}
       
   124 	\caption{Correct but not usefull}\label{eg:gap}
       
   125 \end{example}
       
   126 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.
   127 \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. 
   128 \begin{example}
       
   129 	\[
       
   130 		m,\ kg,\ s,\ldots
       
   131   \]
       
   132 	{\small\textit{
       
   133 		\noindent Think about some units like that one's above. Behind each unit there is a discerning and very accurate definition: One Meter is the distance the light travels, in a vacuum, through the time of 1 / 299.792.458 second; one kilogramm is the weight of a platinum-iridium cylindar in paris; and so on. But are these definitions useable in a computer mechanized world?!
       
   134 	}}
       
   135 	\caption{Units in measurement}\label{eg:units}
       
   136 \end{example}
       
   137 \par A computer or a CTP-System builds on programms witth predefined logical ruels and does not know any mathematical trick (follow up example \ref{eg:trick}) or recipe to walk around difficult expressions. 
       
   138 \begin{example}
       
   139 \[ \frac{1}{j\omega}\cdot\left(e^{-j\omega}-e^{j3\omega}\right)= \]
       
   140 \[ \frac{1}{j\omega}\cdot e^{-j2\omega}\cdot\left(e^{j\omega}-e^{-j\omega}\right)=
       
   141 	 \frac{1}{\omega}\, e^{-j2\omega}\cdot\colorbox{lgray}{$\frac{1}{j}\,\left(e^{j\omega}-e^{-j\omega}\right)$}= \]
       
   142 \[ \frac{1}{\omega}\, e^{-j2\omega}\cdot\colorbox{lgray}{$2\, sin(\omega)$} \]
       
   143 	{\small\textit{
       
   144 		\noindent Sometimes it is also usefull to be able to apply some \emph{tricks} to get a beautiful and particulary meaningful result, which we are able to interpret. But as seen in this example it can be hard to find out what operations have to be done to transform a result into a meaningful one.
       
   145 	}}
       
   146 	\caption{Mathematic tricks}\label{eg:trick}
       
   147 \end{example}
       
   148 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. 
   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.
   149 \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.
       
   150 
       
   151 \subsubsection*{Notes on Mechanization of Mathematics}
       
   152 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}.
       
   153 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.
   141 
   154 
   142 \subsection{Goals of the Thesis}\label{sec:goals}
   155 \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?
   156 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.
   157 \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}.
   158 \par Another goal is to demonstrate the power and attractivity of {\sisac}.
   232 todo
   245 todo
   233 
   246 
   234 axiomatization ... where ... and
   247 axiomatization ... where ... and
   235 
   248 
   236 \subsection{Notes on Problems with Traditional Notation}
   249 \subsection{Notes on Problems with Traditional Notation}
       
   250 {\footnotesize
       
   251 \textbf{TODO}
   237 Due the thesis work we discorvers severell problems of traditional notations.
   252 Due the thesis work we discorvers severell problems of traditional notations.
   238 
   253 
   239 u[n] !!
   254 u[n] !!
   240 
   255 
   241 f x =  why not f(x) ?!?!
   256 f x =  why not f(x) ?!?!
   242 
   257 
   243 ...
   258 ...
   244 
   259 
   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,...)
   260 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,...)
       
   261 }\\
       
   262 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}})
       
   263 
       
   264 \begin{example}
       
   265 	\[
       
   266 		u\left[n\right] \ \ldots \ unitstep
       
   267 	\]
       
   268 	{\small\textit{
       
   269 		\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.
       
   270 	}}
       
   271 	\caption{Expression Interpretation}\label{eg:symbint1}
       
   272 \end{example}
       
   273 
       
   274 \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}}) 
       
   275 \begin{example}
       
   276 	\[
       
   277 		\widehat{\ }\ \widehat{\ }\ \widehat{\ } \  \ldots \  exponent
       
   278 	\]
       
   279 	{\small\textit{
       
   280 	\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.
       
   281 	}}
       
   282 	\caption{Symbol Interpretation}\label{eg:symbint2}
       
   283 \end{example}
       
   284 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.
   246 
   285 
   247 \section{Milestones for the Thesis}
   286 \section{Milestones for the Thesis}
   248 The thesis was splitted into six iterations
   287 The thesis was splitted into six iterations
   249 \begin{description}
   288 \begin{description}
   250 \item[(29.06. -- 27.07.)] Collection of detailed informations about different STEOP topics \ref{ssec:infcol}
   289 \item[(29.06. -- 27.07.)] Collection of detailed informations about different STEOP topics \ref{ssec:infcol}
   264 \subsection{Implementing the Problem Class in {\sisac}}\label{ssec:impl}
   303 \subsection{Implementing the Problem Class in {\sisac}}\label{ssec:impl}
   265 \subsection{Documentation of the Implementation}\label{ssec:doc}
   304 \subsection{Documentation of the Implementation}\label{ssec:doc}
   266 \subsection{Writting on the thesis}\label{ssec:thes}
   305 \subsection{Writting on the thesis}\label{ssec:thes}
   267 \subsection{Second Prsentation - Work review}\label{ssec:pres2}
   306 \subsection{Second Prsentation - Work review}\label{ssec:pres2}
   268 
   307 
       
   308 \section{Related Work}\label{sec:related}
       
   309 Unusual for a Baccalaureate Thesis, there is {\em no} related work; this requires explanation.
       
   310 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.
       
   311 \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.
       
   312 \par These two reasons are given for the unusual statement, that there is no related work to be discussed in this thesis. 
       
   313 
   269 \section{Review}
   314 \section{Review}
   270 todo
   315 todo
       
   316 \section{Open Questions}
       
   317 todo
   271 \section{Conclusions}
   318 \section{Conclusions}
   272 todo
   319 todo
   273 
   320 
   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
   321 \clearpage
   282 
   322 
   283 %----------// PART 2 \\----------%
   323 %----------// PART 2 \\----------%
   284 
   324 
   285 \part{Implementation}
   325 \part{Implementation}