doc-src/System/Thy/Symbols.thy
author wenzelm
Sat, 04 Oct 2008 17:40:56 +0200
changeset 28504 7ad7d7d6df47
parent 28226 97c530dc8aca
permissions -rw-r--r--
simplified main Isabelle executables: removed Isabelle and isabelle (replaced by isabelle-process), renamed isatool to isabelle;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28226
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
     1
(* $Id$ *)
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
     2
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
     3
theory Symbols
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
     4
imports Pure
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
     5
begin
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
     6
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
     7
chapter {* Standard Isabelle symbols \label{app:symbols} *}
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
     8
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
     9
text {*
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    10
  Isabelle supports an infinite number of non-ASCII symbols, which are
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    11
  represented in source text as @{verbatim "\\"}@{verbatim "<"}@{text
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    12
  name}@{verbatim ">"} (where @{text name} may be any identifier).  It
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    13
  is left to front-end tools how to present these symbols to the user.
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    14
  The collection of predefined standard symbols given below is
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    15
  available by default for Isabelle document output, due to
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    16
  appropriate definitions of @{verbatim "\\"}@{verbatim isasym}@{text
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    17
  name} for each @{verbatim "\\"}@{verbatim "<"}@{text name}@{verbatim
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    18
  ">"} in the @{verbatim isabellesym.sty} file.  Most of these symbols
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    19
  are displayed properly in Proof~General if used with the X-Symbol
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    20
  package.
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    21
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    22
  Moreover, any single symbol (or ASCII character) may be prefixed by
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    23
  @{verbatim "\\"}@{verbatim "<^sup>"}, for superscript and @{verbatim
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    24
  "\\"}@{verbatim "<^sub>"}, for subscript, such as @{verbatim
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    25
  "A\\"}@{verbatim "<^sup>\<star>"}, for @{text "A\<^sup>\<star>"} the alternative
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    26
  versions @{verbatim "\\"}@{verbatim "<^isub>"} and @{verbatim
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    27
  "\\"}@{verbatim "<^isup>"} are considered as quasi letters and may
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    28
  be used within identifiers.  Sub- and superscripts that span a
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    29
  region of text are marked up with @{verbatim "\\"}@{verbatim
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    30
  "<^bsub>"}@{text "\<dots>"}@{verbatim "\\"}@{verbatim "<^esub>"}, and
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    31
  @{verbatim "\\"}@{verbatim "<^bsup>"}@{text "\<dots>"}@{verbatim
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    32
  "\\"}@{verbatim "<^esup>"} respectively.  Furthermore, all ASCII
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    33
  characters and most other symbols may be printed in bold by
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    34
  prefixing @{verbatim "\\"}@{verbatim "<^bold>"} such as @{verbatim
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    35
  "\\"}@{verbatim "<^bold>\\"}@{verbatim "<alpha>"} for @{text
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    36
  "\<^bold>\<alpha>"}.  Note that @{verbatim "\\"}@{verbatim "<^bold>"}, may
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    37
  \emph{not} be combined with sub- or superscripts for single symbols.
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    38
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    39
  Further details of Isabelle document preparation are covered in
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    40
  \chref{ch:present}.
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    41
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    42
  \begin{center}
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    43
  \begin{isabellebody}
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    44
  \input{syms}  
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    45
  \end{isabellebody}
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    46
  \end{center}
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    47
*}
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    48
97c530dc8aca converted symbols.tex;
wenzelm
parents:
diff changeset
    49
end