doc-isac/chuber/bakk_thesis_prelim.tex
author wneuper <Walther.Neuper@jku.at>
Sun, 31 Dec 2023 09:42:27 +0100
changeset 60787 26037efefd61
parent 52107 f8845fc8f38d
permissions -rw-r--r--
Doc/Specify_Phase 2: copy finished
neuper@42144
     1
\documentclass[12pt]{article}
neuper@42127
     2
\usepackage{a4}
neuper@42127
     3
\usepackage{times}
neuper@42127
     4
\usepackage{latexsym}
neuper@42144
     5
\bibliographystyle{alpha}
neuper@42144
     6
%\bibliographystyle{abbrv}
neuper@42127
     7
\usepackage{graphicx}
neuper@42127
     8
neuper@42127
     9
\def\isac{${\cal I}\mkern-2mu{\cal S}\mkern-5mu{\cal AC}$}
neuper@42127
    10
\def\sisac{{\footnotesize${\cal I}\mkern-2mu{\cal S}\mkern-5mu{\cal AC}$}}
neuper@42127
    11
neuper@42127
    12
\title{Tentative Title:\\
neuper@42127
    13
  Theory of Functional Programming\\
neuper@42127
    14
  Introduced by Isabelle and \isac}
neuper@42144
    15
\author{n.n\\
neuper@42127
    16
{\tt TODO@xxx.at}}
neuper@42127
    17
neuper@42127
    18
\begin{document}
neuper@42127
    19
\maketitle
neuper@42144
    20
%\abstract{
neuper@42144
    21
%TODO
neuper@42144
    22
%}
neuper@42127
    23
neuper@42127
    24
\section{Background}
neuper@42127
    25
neuper@42144
    26
``Functional programing'' (FP) is one of the leading paradigms in programming besides ``object oriented programming'' %\cite{?} 
neuper@42144
    27
and ``logic (or constraint) programming'' \cite{?}. One advantage of FP are general and elegant approaches to the mathematical theory of programming \cite{?}.
neuper@42130
    28
neuper@42144
    29
Presently FP gains importance in face of the ``multi-core crisis'' \cite{?}: functional programs are ready to exploit many cores in parallel. In spite of this fact, at Graz University of Technology (TUG) FP has vanished during recent years, and it is of actual importance to include FP again in education.
neuper@42130
    30
neuper@42144
    31
In order to support such education this thesis will compile a course based on advanced tools developed in the intersection between computer science and mathematics: The computer theorem prover Isabelle \cite{Nipkow-Paulson-Wenzel:2002} and the educational math assistant \sisac.
neuper@42130
    32
neuper@42127
    33
\section{Goal}
neuper@42127
    34
neuper@42144
    35
The goal of this thesis is generation of interactive course material on FP and respective theory of programming, implemented in Isabelle and \sisac.
neuper@42130
    36
neuper@42147
    37
The material shall use most recent developments, for instance the ``function package'' \cite{krauss:funs,krauss:termination07,krauss:partial06} recently implemented in Isabelle. This package supports all what is needed for programming and proving properties of programs.
neuper@42130
    38
neuper@42144
    39
Although addressing most recent developments and theory at the state of the art, the material also shall serve in early phases of programming. Experience shows, that in early phases (in analogy to doing mathematics \cite{?}) proceeding step by step in a program is important for learning. This will be done by implementing selected programs into \sisac.
neuper@42130
    40
neuper@42144
    41
The interactive course material shall serve in certain courses at TUG and in the recently established ``entry and orientation phase'' (Studien-Eingangs und -Orientierungs Phase, STEOP).
neuper@42130
    42
neuper@42127
    43
\section{State of the Art}
neuper@42144
    44
The thesis cover a wide range of topics some of which will be presented in more detail to be agreed on.
neuper@42127
    45
neuper@42144
    46
\paragraph{Theory of functional programming ?}
neuper@42130
    47
TODO
neuper@42130
    48
neuper@42144
    49
\paragraph{Proof tools for FP}
neuper@42144
    50
Isabelle's function package \cite{krauss:funs} is the most advanced in comparison to other provers. It supports two different way of function definitions, one providing full automation (applicable in simple cases) and another featuring interactive proofs of termination.
neuper@42130
    51
neuper@42144
    52
The function package covers the full range of FP:  mutual, nested and higher-order recursion, partiality
neuper@42144
    53
neuper@42144
    54
The other European computer theorem prover, Coq \cite{}, has less powerful support for FP (TODO)
neuper@42144
    55
neuper@42144
    56
\paragraph{Didactics of FP} is concern of very different opinions: At some universities FP is addressed in introductory courses, while at other universities FP is considered an abstract topic addressed in higher semesters. The choice between these extreme alternatives seems to be related to principcal considerations on software construction \cite{aichernig:ingenieur}.
neuper@42144
    57
neuper@42144
    58
The planned course might provide a bridge between the alternatives, addressing novices as well as advanced students by employing computer theorem provers.
neuper@42144
    59
neuper@42144
    60
\paragraph{Educational math assistants,} if based on computer theorem proving, are appropriate to serve introduction to FP in a specific way: If considering evaluation of functional programs as rewriting, there is an obstacle. Empirical data show that students do not learn to apply rules at high-school --- for instance, the cannot apply the law of distributivity in algebra consciously, they do algebra in the same way they they use their mother language.
neuper@42144
    61
neuper@42144
    62
The experimental system \sisac{}\footnote{http://www.ist.tugraz.at/projects/isac/} developed at TU Graz seems appropriate to provide experience in rigorous application of rewrite rules as a prerequisite to understand evaluation in FP.
neuper@42130
    63
neuper@42130
    64
neuper@42127
    65
\section{Thesis Structure}
neuper@42127
    66
neuper@42144
    67
The main result of this thesis is the interactive course material, accompanied by a thesis.
neuper@42130
    68
neuper@42144
    69
\paragraph{The interactive course material} will be implemented as Isabelle theories. Isabelle provides a document preparation system for theories which shall lead for a twofold presentation of the course: as (a) pdf-file(s) and as theories supporting interactive learning.
neuper@42130
    70
neuper@42144
    71
For stepwise exercises in \sisac{} an additional Isabelle theory is required, which contains the specifications and programs for the respective exercises in ML-sections.
neuper@42130
    72
neuper@42144
    73
\paragraph{The thesis} completes the work as required for a bakkalaureate.
neuper@42130
    74
neuper@42144
    75
%general survey on FP
neuper@42144
    76
%
neuper@42144
    77
%description of the state of the art in proof tools specialized on FP
neuper@42144
    78
%
neuper@42144
    79
%didactic consideration about the course (what has been omitted, ...)
neuper@42144
    80
%
neuper@42144
    81
%future work, probably extending the course to more advanced topics
neuper@42144
    82
%
neuper@42144
    83
%future work, extending the course to more elementary topics, probably usable at high school
neuper@42144
    84
%
neuper@42144
    85
%...
neuper@42144
    86
%
neuper@42144
    87
%... 
neuper@42130
    88
neuper@42130
    89
neuper@42127
    90
\section{Timeline}
neuper@42127
    91
neuper@42130
    92
The main work shall be done during this summer as much as possible.
neuper@42130
    93
neuper@42144
    94
%Milestones
neuper@42144
    95
%\subsection{TODO}
neuper@42144
    96
%study introductory material for Isabelle; contact Alexander Kraus and others for similar course material
neuper@42144
    97
%
neuper@42144
    98
%\subsection{TODO}
neuper@42144
    99
%\sisac =''=
neuper@42130
   100
neuper@42144
   101
\bibliography{references}
neuper@42127
   102
\end{document}