doc-src/TutorialI/fp.tex
changeset 11159 07b13770c4d6
parent 10983 59961d32b1ae
child 11201 eddc69b55fac
equal deleted inserted replaced
11158:5652018b809a 11159:07b13770c4d6
   295 need to understand the ingredients of \isa{auto}.  This section covers the
   295 need to understand the ingredients of \isa{auto}.  This section covers the
   296 method that \isa{auto} always applies first, simplification.
   296 method that \isa{auto} always applies first, simplification.
   297 
   297 
   298 Simplification is one of the central theorem proving tools in Isabelle and
   298 Simplification is one of the central theorem proving tools in Isabelle and
   299 many other systems. The tool itself is called the \bfindex{simplifier}. The
   299 many other systems. The tool itself is called the \bfindex{simplifier}. The
   300 purpose of this section is introduce the many features of the simplifier.
   300 purpose of this section is to introduce the many features of the simplifier.
   301 Anybody intending to perform proofs in HOL should read this section. Later on
   301 Anybody intending to perform proofs in HOL should read this section. Later on
   302 ({\S}\ref{sec:simplification-II}) we explain some more advanced features and a
   302 ({\S}\ref{sec:simplification-II}) we explain some more advanced features and a
   303 little bit of how the simplifier works. The serious student should read that
   303 little bit of how the simplifier works. The serious student should read that
   304 section as well, in particular in order to understand what happened if things
   304 section as well, in particular in order to understand what happened if things
   305 do not simplify as expected.
   305 do not simplify as expected.
   464 Although many total functions have a natural primitive recursive definition,
   464 Although many total functions have a natural primitive recursive definition,
   465 this is not always the case. Arbitrary total recursive functions can be
   465 this is not always the case. Arbitrary total recursive functions can be
   466 defined by means of \isacommand{recdef}: you can use full pattern-matching,
   466 defined by means of \isacommand{recdef}: you can use full pattern-matching,
   467 recursion need not involve datatypes, and termination is proved by showing
   467 recursion need not involve datatypes, and termination is proved by showing
   468 that the arguments of all recursive calls are smaller in a suitable (user
   468 that the arguments of all recursive calls are smaller in a suitable (user
   469 supplied) sense. In this section we ristrict ourselves to measure functions;
   469 supplied) sense. In this section we restrict ourselves to measure functions;
   470 more advanced termination proofs are discussed in {\S}\ref{sec:beyond-measure}.
   470 more advanced termination proofs are discussed in {\S}\ref{sec:beyond-measure}.
   471 
   471 
   472 \subsection{Defining Recursive Functions}
   472 \subsection{Defining Recursive Functions}
   473 \label{sec:recdef-examples}
   473 \label{sec:recdef-examples}
   474 \input{Recdef/document/examples.tex}
   474 \input{Recdef/document/examples.tex}