src/Doc/System/Sessions.thy
changeset 61477 e467ae7aa808
parent 61458 987533262fc2
child 61493 0debd22f0c0e
equal deleted inserted replaced
61476:1884c40f1539 61477:e467ae7aa808
     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