doc-src/IsarImplementation/Thy/document/prelim.tex
changeset 20471 ffafbd4103c0
parent 20452 6d8b29c7a960
child 20475 a04bf731ceb6
equal deleted inserted replaced
20470:c839b38a1f32 20471:ffafbd4103c0
   454   \item \verb|TheoryDataFun|\isa{{\isacharparenleft}spec{\isacharparenright}} declares data for
   454   \item \verb|TheoryDataFun|\isa{{\isacharparenleft}spec{\isacharparenright}} declares data for
   455   type \verb|theory| according to the specification provided as
   455   type \verb|theory| according to the specification provided as
   456   argument structure.  The resulting structure provides data init and
   456   argument structure.  The resulting structure provides data init and
   457   access operations as described above.
   457   access operations as described above.
   458 
   458 
   459   \item \verb|ProofDataFun|\isa{{\isacharparenleft}spec{\isacharparenright}} is analogous for
   459   \item \verb|ProofDataFun|\isa{{\isacharparenleft}spec{\isacharparenright}} is analogous to
   460   type \verb|Proof.context|.
   460   \verb|TheoryDataFun| for type \verb|Proof.context|.
   461 
   461 
   462   \item \verb|GenericDataFun|\isa{{\isacharparenleft}spec{\isacharparenright}} is analogous for
   462   \item \verb|GenericDataFun|\isa{{\isacharparenleft}spec{\isacharparenright}} is analogous to
   463   type \verb|Context.generic|.
   463   \verb|TheoryDataFun| for type \verb|Context.generic|.
   464 
   464 
   465   \end{description}%
   465   \end{description}%
   466 \end{isamarkuptext}%
   466 \end{isamarkuptext}%
   467 \isamarkuptrue%
   467 \isamarkuptrue%
   468 %
   468 %
   476 \isamarkupsection{Name spaces%
   476 \isamarkupsection{Name spaces%
   477 }
   477 }
   478 \isamarkuptrue%
   478 \isamarkuptrue%
   479 %
   479 %
   480 \begin{isamarkuptext}%
   480 \begin{isamarkuptext}%
   481 By general convention, each kind of formal entities (logical
   481 FIXME tune
       
   482 
       
   483   By general convention, each kind of formal entities (logical
   482   constant, type, type class, theorem, method etc.) lives in a
   484   constant, type, type class, theorem, method etc.) lives in a
   483   separate name space.  It is usually clear from the syntactic context
   485   separate name space.  It is usually clear from the syntactic context
   484   of a name, which kind of entity it refers to.  For example, proof
   486   of a name, which kind of entity it refers to.  For example, proof
   485   method \isa{foo} vs.\ theorem \isa{foo} vs.\ logical
   487   method \isa{foo} vs.\ theorem \isa{foo} vs.\ logical
   486   constant \isa{foo} are easily distinguished thanks to the design
   488   constant \isa{foo} are easily distinguished thanks to the design
   512 \isamarkupsubsection{Strings of symbols%
   514 \isamarkupsubsection{Strings of symbols%
   513 }
   515 }
   514 \isamarkuptrue%
   516 \isamarkuptrue%
   515 %
   517 %
   516 \begin{isamarkuptext}%
   518 \begin{isamarkuptext}%
   517 Isabelle strings consist of a sequence of
   519 FIXME tune
       
   520 
       
   521   Isabelle strings consist of a sequence of
   518   symbols\glossary{Symbol}{The smallest unit of text in Isabelle,
   522   symbols\glossary{Symbol}{The smallest unit of text in Isabelle,
   519   subsumes plain ASCII characters as well as an infinite collection of
   523   subsumes plain ASCII characters as well as an infinite collection of
   520   named symbols (for greek, math etc.).}, which are either packed as
   524   named symbols (for greek, math etc.).}, which are either packed as
   521   an actual \isa{string}, or represented as a list.  Each symbol
   525   an actual \isa{string}, or represented as a list.  Each symbol
   522   is in itself a small string of the following form:
   526   is in itself a small string of the following form:
   615 \isamarkupsubsection{Qualified names%
   619 \isamarkupsubsection{Qualified names%
   616 }
   620 }
   617 \isamarkuptrue%
   621 \isamarkuptrue%
   618 %
   622 %
   619 \begin{isamarkuptext}%
   623 \begin{isamarkuptext}%
   620 A \emph{qualified name} essentially consists of a non-empty list of
   624 FIXME tune
       
   625 
       
   626   A \emph{qualified name} essentially consists of a non-empty list of
   621   basic name components.  The packad notation uses a dot as separator,
   627   basic name components.  The packad notation uses a dot as separator,
   622   as in \isa{A{\isachardot}b}, for example.  The very last component is called
   628   as in \isa{A{\isachardot}b}, for example.  The very last component is called
   623   \emph{base} name, the remaining prefix \emph{qualifier} (which may
   629   \emph{base} name, the remaining prefix \emph{qualifier} (which may
   624   be empty).
   630   be empty).
   625 
   631