equal
deleted
inserted
replaced
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} |