equal
deleted
inserted
replaced
2 imports Base |
2 imports Base |
3 begin |
3 begin |
4 |
4 |
5 chapter \<open>Isabelle sessions and build management \label{ch:session}\<close> |
5 chapter \<open>Isabelle sessions and build management \label{ch:session}\<close> |
6 |
6 |
7 text \<open>An Isabelle \emph{session} consists of a collection of related |
7 text \<open>An Isabelle \<^emph>\<open>session\<close> consists of a collection of related |
8 theories that may be associated with formal documents |
8 theories that may be associated with formal documents |
9 (\chref{ch:present}). There is also a notion of \emph{persistent |
9 (\chref{ch:present}). There is also a notion of \<^emph>\<open>persistent |
10 heap} image to capture the state of a session, similar to |
10 heap\<close> image to capture the state of a session, similar to |
11 object-code in compiled programming languages. Thus the concept of |
11 object-code in compiled programming languages. Thus the concept of |
12 session resembles that of a ``project'' in common IDE environments, |
12 session resembles that of a ``project'' in common IDE environments, |
13 but the specific name emphasizes the connection to interactive |
13 but the specific name emphasizes the connection to interactive |
14 theorem proving: the session wraps-up the results of |
14 theorem proving: the session wraps-up the results of |
15 user-interaction with the prover in a persistent form. |
15 user-interaction with the prover in a persistent form. |
33 within certain directories, such as the home locations of registered |
33 within certain directories, such as the home locations of registered |
34 Isabelle components or additional project directories given by the |
34 Isabelle components or additional project directories given by the |
35 user. |
35 user. |
36 |
36 |
37 The ROOT file format follows the lexical conventions of the |
37 The ROOT file format follows the lexical conventions of the |
38 \emph{outer syntax} of Isabelle/Isar, see also |
38 \<^emph>\<open>outer syntax\<close> of Isabelle/Isar, see also |
39 @{cite "isabelle-isar-ref"}. This defines common forms like |
39 @{cite "isabelle-isar-ref"}. This defines common forms like |
40 identifiers, names, quoted strings, verbatim text, nested comments |
40 identifiers, names, quoted strings, verbatim text, nested comments |
41 etc. The grammar for @{syntax session_chapter} and @{syntax |
41 etc. The grammar for @{syntax session_chapter} and @{syntax |
42 session_entry} is given as syntax diagram below; each ROOT file may |
42 session_entry} is given as syntax diagram below; each ROOT file may |
43 contain multiple specifications like this. Chapters help to |
43 contain multiple specifications like this. Chapters help to |
107 \<^descr> \isakeyword{description}~@{text "text"} is a free-form |
107 \<^descr> \isakeyword{description}~@{text "text"} is a free-form |
108 annotation for this session. |
108 annotation for this session. |
109 |
109 |
110 \<^descr> \isakeyword{options}~@{text "[x = a, y = b, z]"} defines |
110 \<^descr> \isakeyword{options}~@{text "[x = a, y = b, z]"} defines |
111 separate options (\secref{sec:system-options}) that are used when |
111 separate options (\secref{sec:system-options}) that are used when |
112 processing this session, but \emph{without} propagation to child |
112 processing this session, but \<^emph>\<open>without\<close> propagation to child |
113 sessions. Note that @{text "z"} abbreviates @{text "z = true"} for |
113 sessions. Note that @{text "z"} abbreviates @{text "z = true"} for |
114 Boolean options. |
114 Boolean options. |
115 |
115 |
116 \<^descr> \isakeyword{theories}~@{text "options names"} specifies a |
116 \<^descr> \isakeyword{theories}~@{text "options names"} specifies a |
117 block of theories that are processed within an environment that is |
117 block of theories that are processed within an environment that is |
369 parallel build jobs (prover processes). Each prover process is |
369 parallel build jobs (prover processes). Each prover process is |
370 subject to a separate limit of parallel worker threads, cf.\ system |
370 subject to a separate limit of parallel worker threads, cf.\ system |
371 option @{system_option_ref threads}. |
371 option @{system_option_ref threads}. |
372 |
372 |
373 \<^medskip> |
373 \<^medskip> |
374 Option @{verbatim "-s"} enables \emph{system mode}, which |
374 Option @{verbatim "-s"} enables \<^emph>\<open>system mode\<close>, which |
375 means that resulting heap images and log files are stored in |
375 means that resulting heap images and log files are stored in |
376 @{file_unchecked "$ISABELLE_HOME/heaps"} instead of the default location |
376 @{file_unchecked "$ISABELLE_HOME/heaps"} instead of the default location |
377 @{setting ISABELLE_OUTPUT} (which is normally in @{setting |
377 @{setting ISABELLE_OUTPUT} (which is normally in @{setting |
378 ISABELLE_HOME_USER}, i.e.\ the user's home directory). |
378 ISABELLE_HOME_USER}, i.e.\ the user's home directory). |
379 |
379 |