doc-src/Ref/classical.tex
changeset 30240 5b25fee0362c
parent 12366 f0fd3c4f2f49
child 42840 e87888b4152f
equal deleted inserted replaced
30239:179ff9cb160b 30240:5b25fee0362c
     1 %% $Id$
     1 
     2 \chapter{The Classical Reasoner}\label{chap:classical}
     2 \chapter{The Classical Reasoner}\label{chap:classical}
     3 \index{classical reasoner|(}
     3 \index{classical reasoner|(}
     4 \newcommand\ainfer[2]{\begin{array}{r@{\,}l}#2\\ \hline#1\end{array}}
     4 \newcommand\ainfer[2]{\begin{array}{r@{\,}l}#2\\ \hline#1\end{array}}
     5 
     5 
     6 Although Isabelle is generic, many users will be working in some extension of
     6 Although Isabelle is generic, many users will be working in some extension of
    25 The tactics are generic.  They are not restricted to first-order logic, and
    25 The tactics are generic.  They are not restricted to first-order logic, and
    26 have been heavily used in the development of Isabelle's set theory.  Few
    26 have been heavily used in the development of Isabelle's set theory.  Few
    27 interactive proof assistants provide this much automation.  The tactics can
    27 interactive proof assistants provide this much automation.  The tactics can
    28 be traced, and their components can be called directly; in this manner,
    28 be traced, and their components can be called directly; in this manner,
    29 any proof can be viewed interactively.
    29 any proof can be viewed interactively.
    30 
       
    31 The simplest way to apply the classical reasoner (to subgoal~$i$) is to type
       
    32 \begin{ttbox}
       
    33 by (Blast_tac \(i\));
       
    34 \end{ttbox}
       
    35 This command quickly proves most simple formulas of the predicate calculus or
       
    36 set theory.  To attempt to prove subgoals using a combination of
       
    37 rewriting and classical reasoning, try
       
    38 \begin{ttbox}
       
    39 auto();                         \emph{\textrm{applies to all subgoals}}
       
    40 force i;                        \emph{\textrm{applies to one subgoal}}
       
    41 \end{ttbox}
       
    42 To do all obvious logical steps, even if they do not prove the
       
    43 subgoal, type one of the following:
       
    44 \begin{ttbox}
       
    45 by Safe_tac;                   \emph{\textrm{applies to all subgoals}}
       
    46 by (Clarify_tac \(i\));            \emph{\textrm{applies to one subgoal}}
       
    47 \end{ttbox}
       
    48 
       
    49 
       
    50 You need to know how the classical reasoner works in order to use it
       
    51 effectively.  There are many tactics to choose from, including 
       
    52 {\tt Fast_tac} and \texttt{Best_tac}.
       
    53 
    30 
    54 We shall first discuss the underlying principles, then present the classical
    31 We shall first discuss the underlying principles, then present the classical
    55 reasoner.  Finally, we shall see how to instantiate it for new logics.  The
    32 reasoner.  Finally, we shall see how to instantiate it for new logics.  The
    56 logics FOL, ZF, HOL and HOLCF have it already installed.
    33 logics FOL, ZF, HOL and HOLCF have it already installed.
    57 
    34