doc-src/IsarImplementation/Thy/prelim.thy
changeset 20470 c839b38a1f32
parent 20452 6d8b29c7a960
child 20475 a04bf731ceb6
equal deleted inserted replaced
20469:bb75c1cdf913 20470:c839b38a1f32
   391   \item @{ML_functor TheoryDataFun}@{text "(spec)"} declares data for
   391   \item @{ML_functor TheoryDataFun}@{text "(spec)"} declares data for
   392   type @{ML_type theory} according to the specification provided as
   392   type @{ML_type theory} according to the specification provided as
   393   argument structure.  The resulting structure provides data init and
   393   argument structure.  The resulting structure provides data init and
   394   access operations as described above.
   394   access operations as described above.
   395 
   395 
   396   \item @{ML_functor ProofDataFun}@{text "(spec)"} is analogous for
   396   \item @{ML_functor ProofDataFun}@{text "(spec)"} is analogous to
   397   type @{ML_type Proof.context}.
   397   @{ML_functor TheoryDataFun} for type @{ML_type Proof.context}.
   398 
   398 
   399   \item @{ML_functor GenericDataFun}@{text "(spec)"} is analogous for
   399   \item @{ML_functor GenericDataFun}@{text "(spec)"} is analogous to
   400   type @{ML_type Context.generic}.
   400   @{ML_functor TheoryDataFun} for type @{ML_type Context.generic}.
   401 
   401 
   402   \end{description}
   402   \end{description}
   403 *}
   403 *}
   404 
   404 
   405 
   405 
   406 section {* Name spaces *}
   406 section {* Name spaces *}
   407 
   407 
   408 text {*
   408 text {*
       
   409   FIXME tune
       
   410 
   409   By general convention, each kind of formal entities (logical
   411   By general convention, each kind of formal entities (logical
   410   constant, type, type class, theorem, method etc.) lives in a
   412   constant, type, type class, theorem, method etc.) lives in a
   411   separate name space.  It is usually clear from the syntactic context
   413   separate name space.  It is usually clear from the syntactic context
   412   of a name, which kind of entity it refers to.  For example, proof
   414   of a name, which kind of entity it refers to.  For example, proof
   413   method @{text "foo"} vs.\ theorem @{text "foo"} vs.\ logical
   415   method @{text "foo"} vs.\ theorem @{text "foo"} vs.\ logical
   441 
   443 
   442 
   444 
   443 subsection {* Strings of symbols *}
   445 subsection {* Strings of symbols *}
   444 
   446 
   445 text {*
   447 text {*
       
   448   FIXME tune
       
   449 
   446   Isabelle strings consist of a sequence of
   450   Isabelle strings consist of a sequence of
   447   symbols\glossary{Symbol}{The smallest unit of text in Isabelle,
   451   symbols\glossary{Symbol}{The smallest unit of text in Isabelle,
   448   subsumes plain ASCII characters as well as an infinite collection of
   452   subsumes plain ASCII characters as well as an infinite collection of
   449   named symbols (for greek, math etc.).}, which are either packed as
   453   named symbols (for greek, math etc.).}, which are either packed as
   450   an actual @{text "string"}, or represented as a list.  Each symbol
   454   an actual @{text "string"}, or represented as a list.  Each symbol
   537 
   541 
   538 
   542 
   539 subsection {* Qualified names *}
   543 subsection {* Qualified names *}
   540 
   544 
   541 text {*
   545 text {*
       
   546   FIXME tune
       
   547 
   542   A \emph{qualified name} essentially consists of a non-empty list of
   548   A \emph{qualified name} essentially consists of a non-empty list of
   543   basic name components.  The packad notation uses a dot as separator,
   549   basic name components.  The packad notation uses a dot as separator,
   544   as in @{text "A.b"}, for example.  The very last component is called
   550   as in @{text "A.b"}, for example.  The very last component is called
   545   \emph{base} name, the remaining prefix \emph{qualifier} (which may
   551   \emph{base} name, the remaining prefix \emph{qualifier} (which may
   546   be empty).
   552   be empty).