src/Doc/IsarRef/Symbols.thy
author wenzelm
Sat, 17 Nov 2012 20:10:28 +0100
changeset 50109 c13dc0b1841c
parent 48985 5386df44a037
child 53060 444ee6529574
permissions -rw-r--r--
tuned structure of Isabelle/HOL;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28838
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
     1
theory Symbols
42651
e3fdb7c96be5 formal Base theory;
wenzelm
parents: 30242
diff changeset
     2
imports Base Main
28838
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
     3
begin
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
     4
29719
d2597c4f7e5c tuned chapter heading;
wenzelm
parents: 28838
diff changeset
     5
chapter {* Predefined Isabelle symbols \label{app:symbols} *}
28838
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
     6
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
     7
text {*
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
     8
  Isabelle supports an infinite number of non-ASCII symbols, which are
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
     9
  represented in source text as @{verbatim "\\"}@{verbatim "<"}@{text
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    10
  name}@{verbatim ">"} (where @{text name} may be any identifier).  It
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    11
  is left to front-end tools how to present these symbols to the user.
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    12
  The collection of predefined standard symbols given below is
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    13
  available by default for Isabelle document output, due to
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    14
  appropriate definitions of @{verbatim "\\"}@{verbatim isasym}@{text
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    15
  name} for each @{verbatim "\\"}@{verbatim "<"}@{text name}@{verbatim
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    16
  ">"} in the @{verbatim isabellesym.sty} file.  Most of these symbols
47822
34b44d28fc4b some updates concerning current Proof General 4.x, which lacks X-Symbol mode of 3.x;
wenzelm
parents: 42651
diff changeset
    17
  are displayed properly in Proof~General and Isabelle/jEdit.
28838
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    18
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    19
  Moreover, any single symbol (or ASCII character) may be prefixed by
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    20
  @{verbatim "\\"}@{verbatim "<^sup>"}, for superscript and @{verbatim
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    21
  "\\"}@{verbatim "<^sub>"}, for subscript, such as @{verbatim
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    22
  "A\\"}@{verbatim "<^sup>\<star>"}, for @{text "A\<^sup>\<star>"} the alternative
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    23
  versions @{verbatim "\\"}@{verbatim "<^isub>"} and @{verbatim
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    24
  "\\"}@{verbatim "<^isup>"} are considered as quasi letters and may
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    25
  be used within identifiers.  Sub- and superscripts that span a
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    26
  region of text are marked up with @{verbatim "\\"}@{verbatim
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    27
  "<^bsub>"}@{text "\<dots>"}@{verbatim "\\"}@{verbatim "<^esub>"}, and
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    28
  @{verbatim "\\"}@{verbatim "<^bsup>"}@{text "\<dots>"}@{verbatim
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    29
  "\\"}@{verbatim "<^esup>"} respectively.  Furthermore, all ASCII
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    30
  characters and most other symbols may be printed in bold by
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    31
  prefixing @{verbatim "\\"}@{verbatim "<^bold>"} such as @{verbatim
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    32
  "\\"}@{verbatim "<^bold>\\"}@{verbatim "<alpha>"} for @{text
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    33
  "\<^bold>\<alpha>"}.  Note that @{verbatim "\\"}@{verbatim "<^bold>"}, may
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    34
  \emph{not} be combined with sub- or superscripts for single symbols.
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    35
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    36
  Further details of Isabelle document preparation are covered in
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    37
  \chref{ch:document-prep}.
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    38
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    39
  \begin{center}
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    40
  \begin{isabellebody}
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    41
  \input{syms}  
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    42
  \end{isabellebody}
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    43
  \end{center}
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    44
*}
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    45
d5db6dfcb34a moved table of standard Isabelle symbols to isar-ref manual;
wenzelm
parents:
diff changeset
    46
end