26 has already installed the \Pure\ system and several object-logics |
26 has already installed the \Pure\ system and several object-logics |
27 properly --- otherwise see the {\tt INSTALL} file in the top-level |
27 properly --- otherwise see the {\tt INSTALL} file in the top-level |
28 directory of the distribution on how to build it. |
28 directory of the distribution on how to build it. |
29 |
29 |
30 \medskip Let $\langle isabellehome \rangle$ denote the location where |
30 \medskip Let $\langle isabellehome \rangle$ denote the location where |
31 the distribution has been installed. To run Isabelle from a the shell |
31 the distribution has been installed. To run Isabelle from a the shell |
32 prompt within an ordinary text terminal session, simply type: |
32 prompt within an ordinary text terminal session, simply type: |
33 \begin{ttbox} |
33 \begin{ttbox} |
34 \({\langle}isabellehome{\rangle}\)/bin/isabelle |
34 \({\langle}isabellehome{\rangle}\)/bin/isabelle |
35 \end{ttbox} |
35 \end{ttbox} |
36 This should start an interactive \ML{} session with the default |
36 This should start an interactive \ML{} session with the default |
37 object-logic already preloaded. All Isabelle commands are bound to |
37 object-logic already preloaded. All Isabelle commands are bound to |
38 \ML{} identifiers. |
38 \ML{} identifiers. |
39 |
39 |
40 Subsequently we assume that {\tt \(\langle isabellehome \rangle\)/bin} |
40 Subsequently we assume that {\tt \(\langle isabellehome \rangle\)/bin} |
41 has been added to your shell's search path, in order to avoid typing |
41 has been added to your shell's search path, in order to avoid typing |
42 full path specifications of the executable files. |
42 full path specifications of the executable files. |
50 (assuming that {\FOL} has been pre-built). |
50 (assuming that {\FOL} has been pre-built). |
51 |
51 |
52 \index{saving your work|bold} Isabelle provides no means of storing |
52 \index{saving your work|bold} Isabelle provides no means of storing |
53 theorems or proofs on files. Theorems are simply part of the \ML{} |
53 theorems or proofs on files. Theorems are simply part of the \ML{} |
54 state and are named by \ML{} identifiers. To save your work between |
54 state and are named by \ML{} identifiers. To save your work between |
55 sessions, you must dump the \ML{} system state to a file. This is done |
55 sessions, you must dump the \ML{} system state to a file. This is done |
56 automatically when ending the session normally (e.g.\ by typing |
56 automatically when ending the session normally (e.g.\ by typing |
57 control-D), provided that the image has been opened \emph{writable} in |
57 control-D), provided that the image has been opened \emph{writable} in |
58 the first place. The standard object-logics are usually read-only, so |
58 the first place. The standard object-logics are usually read-only, so |
59 you probably have to create a private working copy first. For example, |
59 you probably have to create a private working copy first. For example, |
60 the following shell command puts you into a writable Isabelle session |
60 the following shell command puts you into a writable Isabelle session |
61 of name \texttt{Foo} that initially contains just \FOL: |
61 of name \texttt{Foo} that initially contains just \FOL: |
62 \begin{ttbox} |
62 \begin{ttbox} |
63 isabelle FOL Foo |
63 isabelle FOL Foo |
64 \end{ttbox} |
64 \end{ttbox} |
65 Ending the \texttt{Foo} session with control-D will cause the complete |
65 Ending the \texttt{Foo} session with control-D will cause the complete |
66 \ML{} world to be saved somewhere in your home directory\footnote{The |
66 \ML{} world to be saved somewhere in your home directory\footnote{The |
67 default location is in \texttt{\~\relax/isabelle/heaps}, but this |
67 default location is in \texttt{\~\relax/isabelle/heaps}, but this |
68 depends on your local configuration.}. Make sure there is enough |
68 depends on your local configuration.}. Make sure there is enough |
69 space available! Then one may later continue at exactly the same point |
69 space available! Then one may later continue at exactly the same point |
70 by running |
70 by running |
71 \begin{ttbox} |
71 \begin{ttbox} |
72 isabelle Foo |
72 isabelle Foo |
73 \end{ttbox} |
73 \end{ttbox} |
81 after making minor changes to the axioms. Ideally, your record will |
81 after making minor changes to the axioms. Ideally, your record will |
82 be somewhat intelligible to others as a formal description of your |
82 be somewhat intelligible to others as a formal description of your |
83 work. |
83 work. |
84 |
84 |
85 \medskip There are more comfortable user interfaces than the |
85 \medskip There are more comfortable user interfaces than the |
86 bare-bones \ML{} top-level run from a text terminal. The |
86 bare-bones \ML{} top-level run from a text terminal. The |
87 \texttt{Isabelle} executable (note the capital I) runs one such |
87 \texttt{Isabelle} executable (note the capital I) runs one such |
88 interface, depending on your local configuration. Furthermore there |
88 interface, depending on your local configuration. Furthermore there |
89 are a number of external utilities available. These are started |
89 are a number of external utilities available. These are started |
90 uniformly via the \texttt{isatool} wrapper. |
90 uniformly via the \texttt{isatool} wrapper. |
91 |
91 |
92 Again, see the \emph{System Manual} for more information user |
92 Again, see the \emph{System Manual} for more information user |
93 interfaces and utilities. |
93 interfaces and utilities. |
94 |
94 |
143 \begin{ttbox} |
143 \begin{ttbox} |
144 set : bool ref -> bool |
144 set : bool ref -> bool |
145 reset : bool ref -> bool |
145 reset : bool ref -> bool |
146 toggle : bool ref -> bool |
146 toggle : bool ref -> bool |
147 \end{ttbox}\index{*set}\index{*reset}\index{*toggle} |
147 \end{ttbox}\index{*set}\index{*reset}\index{*toggle} |
148 These are some shorthands for manipulating boolean references. The new |
148 These are some shorthands for manipulating boolean references. The new |
149 value is returned. |
149 value is returned. |
150 |
150 |
151 |
151 |
152 \section{Printing of terms and theorems}\label{sec:printing-control} |
152 \section{Printing of terms and theorems}\label{sec:printing-control} |
153 \index{printing control|(} |
153 \index{printing control|(} |