337 eventually. Each session is derived from a single parent, usually |
337 eventually. Each session is derived from a single parent, usually |
338 an object-logic image like \texttt{HOL}. This results in an overall |
338 an object-logic image like \texttt{HOL}. This results in an overall |
339 tree structure, which is reflected by the output location in the |
339 tree structure, which is reflected by the output location in the |
340 file system (usually rooted at \verb,~/isabelle/browser_info,). |
340 file system (usually rooted at \verb,~/isabelle/browser_info,). |
341 |
341 |
342 \medskip Here is the canonical arrangement of sources of a session |
342 \medskip The easiest way to manage Isabelle sessions is via |
343 called \texttt{MySession}: |
343 \texttt{isatool mkdir} (generates an initial source setup) and |
|
344 \texttt{isatool make} (runs a session controlled by |
|
345 \texttt{IsaMakefile}). For example, a new session |
|
346 \texttt{MySession} derived from \texttt{HOL} may be produced as |
|
347 follows: |
|
348 |
|
349 \begin{verbatim} |
|
350 isatool mkdir HOL MySession |
|
351 isatool make |
|
352 \end{verbatim} |
|
353 |
|
354 The \texttt{isatool make} job tells about the file-system location |
|
355 of the ultimate results. The above dry run should be able to |
|
356 produce some \texttt{document.pdf} of a single page (with dummy |
|
357 title, empty table of contents etc.). Any failure at that stage |
|
358 usually indicates technical problems of the {\LaTeX} |
|
359 installation.\footnote{Especially make sure that \texttt{pdflatex} |
|
360 is present; if all fails one may fall back on DVI output by changing |
|
361 \texttt{usedir} options in \texttt{IsaMakefile} |
|
362 \cite{isabelle-sys}.} |
|
363 |
|
364 \medskip The detailed arrangement of the session sources is as |
|
365 follows: |
344 |
366 |
345 \begin{itemize} |
367 \begin{itemize} |
346 |
368 |
347 \item Directory \texttt{MySession} holds the required theory files |
369 \item Directory \texttt{MySession} holds the required theory files |
348 $T@1$\texttt{.thy}, \dots, $T@n$\texttt{.thy}. |
370 $T@1$\texttt{.thy}, \dots, $T@n$\texttt{.thy}. |
373 \end{itemize} |
395 \end{itemize} |
374 |
396 |
375 With everything put in its proper place, \texttt{isatool make} |
397 With everything put in its proper place, \texttt{isatool make} |
376 should be sufficient to process the Isabelle session completely, |
398 should be sufficient to process the Isabelle session completely, |
377 with the generated document appearing in its proper place. |
399 with the generated document appearing in its proper place. |
378 |
|
379 \medskip In reality, users may want to have \texttt{isatool mkdir} |
|
380 generate an initial working setup without further ado. For example, |
|
381 a new session \texttt{MySession} derived from \texttt{HOL} may be |
|
382 produced as follows: |
|
383 |
|
384 \begin{verbatim} |
|
385 isatool mkdir HOL MySession |
|
386 isatool make |
|
387 \end{verbatim} |
|
388 |
|
389 This processes the session with sensible default options, including |
|
390 verbose mode to tell the user where the ultimate results will |
|
391 appear. The above dry run should already be able to produce a |
|
392 single page of output (with a dummy title, empty table of contents |
|
393 etc.). Any failure at that stage is likely to indicate technical |
|
394 problems with the user's {\LaTeX} installation.\footnote{Especially |
|
395 make sure that \texttt{pdflatex} is present; if all fails one may |
|
396 fall back on DVI output by changing \texttt{usedir} options in |
|
397 \texttt{IsaMakefile} \cite{isabelle-sys}.} |
|
398 |
400 |
399 \medskip One may now start to populate the directory |
401 \medskip One may now start to populate the directory |
400 \texttt{MySession}, and the file \texttt{MySession/ROOT.ML} |
402 \texttt{MySession}, and the file \texttt{MySession/ROOT.ML} |
401 accordingly. \texttt{MySession/document/root.tex} should also be |
403 accordingly. \texttt{MySession/document/root.tex} should also be |
402 adapted at some point; the default version is mostly |
404 adapted at some point; the default version is mostly |