doc-src/IsarImplementation/Thy/Prelim.thy
changeset 29758 7a3b5bbed313
parent 29755 d66b34e46bdf
child 29761 2b658e50683a
equal deleted inserted replaced
29757:ce2b8e6502f9 29758:7a3b5bbed313
    72 
    72 
    73 
    73 
    74 subsection {* Theory context \label{sec:context-theory} *}
    74 subsection {* Theory context \label{sec:context-theory} *}
    75 
    75 
    76 text {*
    76 text {*
    77   \glossary{Theory}{FIXME}
       
    78 
       
    79   A \emph{theory} is a data container with explicit named and unique
    77   A \emph{theory} is a data container with explicit named and unique
    80   identifier.  Theories are related by a (nominal) sub-theory
    78   identifier.  Theories are related by a (nominal) sub-theory
    81   relation, which corresponds to the dependency graph of the original
    79   relation, which corresponds to the dependency graph of the original
    82   construction; each theory is derived from a certain sub-graph of
    80   construction; each theory is derived from a certain sub-graph of
    83   ancestor theories.
    81   ancestor theories.
   199 
   197 
   200 
   198 
   201 subsection {* Proof context \label{sec:context-proof} *}
   199 subsection {* Proof context \label{sec:context-proof} *}
   202 
   200 
   203 text {*
   201 text {*
   204   \glossary{Proof context}{The static context of a structured proof,
       
   205   acts like a local ``theory'' of the current portion of Isar proof
       
   206   text, generalizes the idea of local hypotheses @{text "\<Gamma>"} in
       
   207   judgments @{text "\<Gamma> \<turnstile> \<phi>"} of natural deduction calculi.  There is a
       
   208   generic notion of introducing and discharging hypotheses.
       
   209   Arbritrary auxiliary context data may be adjoined.}
       
   210 
       
   211   A proof context is a container for pure data with a back-reference
   202   A proof context is a container for pure data with a back-reference
   212   to the theory it belongs to.  The @{text "init"} operation creates a
   203   to the theory it belongs to.  The @{text "init"} operation creates a
   213   proof context from a given theory.  Modifications to draft theories
   204   proof context from a given theory.  Modifications to draft theories
   214   are propagated to the proof context as usual, but there is also an
   205   are propagated to the proof context as usual, but there is also an
   215   explicit @{text "transfer"} operation to force resynchronization
   206   explicit @{text "transfer"} operation to force resynchronization
   229   Proof contexts may be manipulated arbitrarily, although the common
   220   Proof contexts may be manipulated arbitrarily, although the common
   230   discipline is to follow block structure as a mental model: a given
   221   discipline is to follow block structure as a mental model: a given
   231   context is extended consecutively, and results are exported back
   222   context is extended consecutively, and results are exported back
   232   into the original context.  Note that the Isar proof states model
   223   into the original context.  Note that the Isar proof states model
   233   block-structured reasoning explicitly, using a stack of proof
   224   block-structured reasoning explicitly, using a stack of proof
   234   contexts internally, cf.\ \secref{sec:isar-proof-state}.
   225   contexts internally.
   235 *}
   226 *}
   236 
   227 
   237 text %mlref {*
   228 text %mlref {*
   238   \begin{mldecls}
   229   \begin{mldecls}
   239   @{index_ML_type Proof.context} \\
   230   @{index_ML_type Proof.context} \\
   416 
   407 
   417 
   408 
   418 subsection {* Strings of symbols *}
   409 subsection {* Strings of symbols *}
   419 
   410 
   420 text {*
   411 text {*
   421   \glossary{Symbol}{The smallest unit of text in Isabelle, subsumes
       
   422   plain ASCII characters as well as an infinite collection of named
       
   423   symbols (for greek, math etc.).}
       
   424 
       
   425   A \emph{symbol} constitutes the smallest textual unit in Isabelle
   412   A \emph{symbol} constitutes the smallest textual unit in Isabelle
   426   --- raw characters are normally not encountered at all.  Isabelle
   413   --- raw characters are normally not encountered at all.  Isabelle
   427   strings consist of a sequence of symbols, represented as a packed
   414   strings consist of a sequence of symbols, represented as a packed
   428   string or a list of strings.  Each symbol is in itself a small
   415   string or a list of strings.  Each symbol is in itself a small
   429   string, which has either one of the following forms:
   416   string, which has either one of the following forms:
   463   also process Unicode/UCS data in UTF-8 encoding.  Unicode provides
   450   also process Unicode/UCS data in UTF-8 encoding.  Unicode provides
   464   its own collection of mathematical symbols, but there is no built-in
   451   its own collection of mathematical symbols, but there is no built-in
   465   link to the standard collection of Isabelle.
   452   link to the standard collection of Isabelle.
   466 
   453 
   467   \medskip Output of Isabelle symbols depends on the print mode
   454   \medskip Output of Isabelle symbols depends on the print mode
   468   (\secref{FIXME}).  For example, the standard {\LaTeX} setup of the
   455   (\secref{print-mode}).  For example, the standard {\LaTeX} setup of
   469   Isabelle document preparation system would present
   456   the Isabelle document preparation system would present
   470   ``\verb,\,\verb,<alpha>,'' as @{text "\<alpha>"}, and
   457   ``\verb,\,\verb,<alpha>,'' as @{text "\<alpha>"}, and
   471   ``\verb,\,\verb,<^bold>,\verb,\,\verb,<alpha>,'' as @{text
   458   ``\verb,\,\verb,<^bold>,\verb,\,\verb,<alpha>,'' as @{text
   472   "\<^bold>\<alpha>"}.
   459   "\<^bold>\<alpha>"}.
   473 *}
   460 *}
   474 
   461