doc-src/System/present.tex
author wenzelm
Thu, 08 Jan 1998 18:19:48 +0100
changeset 4538 0f40d6e7897d
parent 3753 5fd734bed0d4
child 4540 24fcf5ecae88
permissions -rw-r--r--
fixed thm_less;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
     1
%% $Id$
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
     2
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
     3
\chapter{Presenting theories}
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
     4
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
     5
\section{Generating theory browsing information} \label{sec:info}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
     6
\index{theory browsing information|bold} 
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
     7
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
     8
Isabelle is able to generate theory browsing information, such as HTML documents
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
     9
that show a theory's definition, the theorems proved in its ML file and the relationship
3217
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    10
with its ancestors and descendants. HTML is the hypertext markup
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    11
language used on the World Wide Web to represent text containing
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    12
images and links to other documents.  These documents may be viewed
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    13
using Web browsers like Netscape or Lynx.
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    14
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    15
Besides the three HTML files that are made for every theory
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    16
(definition and theorems, ancestors, descendants), Isabelle stores
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    17
links to all theories in an index file. These indexes are themself
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    18
linked with other indexes to represent the hierarchic structure of
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    19
Isabelle's logics.
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    20
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    21
In addition to the HTML files also {\tt *.graph} files representing the theory
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    22
hierarchy graph of a logic are generated. These graphs can be comfortably
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    23
displayed by a graph browser applet embedded in the generated HTML pages. There
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    24
is also a stand-alone version of the graph browser which allows browsing theory
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    25
graphs without having to start a Web browser first. This version also includes
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    26
features such as generating {\sc PostScript} files, which are not available in the
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    27
applet version. The graph browser will be described later in this chapter.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    28
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    29
\medskip To generate theory browsing information for logics that are part of the Isabelle
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    30
distribution, simply append ``\texttt{-i true}'' to the
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    31
\settdx{ISABELLE_USEDIR_OPTIONS} setting before making a logic.  For
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    32
example, to generate browsing information for {\FOL}, first add something like
3217
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    33
this to your \texttt{\~\relax/isabelle/etc/settings} file:
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    34
\begin{ttbox}
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    35
ISABELLE_USEDIR_OPTIONS="-i true"
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    36
\end{ttbox}
3217
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    37
Then \texttt{cd} into the \texttt{src/FOL} directory of the Isabelle
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    38
distribution and do an \texttt{isatool make} (or even \texttt{isatool
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    39
  make test}).\\
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    40
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    41
The directory in which to store theory browsing information is determined 
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    42
by the \settdx{ISABELLE_BROWSER_INFO} variable in your \texttt{\~\relax/isabelle/etc/settings}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    43
file.
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    44
3217
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    45
\medskip As some of Isabelle's logics are based on others (e.g. {\tt
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    46
  ZF} on {\tt FOL}) and because the HTML files list a theory's
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    47
ancestors, you should not make HTML files for a logic if the HTML
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    48
files for the base logic do not exist. Otherwise some of the hypertext
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    49
links might point to non-existing documents.
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    50
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    51
The entry point to all logics is the {\tt index.html} file located in
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    52
the directory denoted by \texttt{ISABELLE_BROWSER_INFO}.
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    53
3217
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    54
A complete HTML version of all distributed Isabelle object-logics and
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    55
examples may be accessed on the WWW at:
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    56
\begin{ttbox}
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    57
http://www4.informatik.tu-muenchen.de/~isabelle/library/
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    58
\end{ttbox}
3217
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    59
Note that this is not necessarily consistent with your local sources!
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    60
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    61
To present your own theories on the WWW, simply copy the whole
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    62
\texttt{ISABELLE_BROWSER_INFO} directory to your WWW server.
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    63
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    64
\section{Extending or adding a logic}
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    65
3217
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    66
If you add a new subdirectory to Isabelle's logics (or add a
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    67
completely new logic), provide a {\tt ROOT.ML} file which reads in the
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    68
theory files. The {\tt ROOT.ML} file will then be processed via the function
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    69
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    70
\begin{ttbox}\index{*use_dir}
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    71
use_dir : string -> unit
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    72
\end{ttbox}
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    73
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    74
which takes a path as its parameter, changes the working
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    75
directory, executes {\tt ROOT.ML}, and makes sure that theory browsing information
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    76
is generated properly. The {\tt index.html} file written in this directory will
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    77
be automatically linked to the first index found in the (recursively searched)
3217
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    78
super directories.
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    79
3217
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    80
The \texttt{usedir} utility (see also \S\ref{sec:tool-usedir}) will
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    81
automatically take care of this.
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    82
3217
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    83
\medskip The generated HTML files contain all theorems that were
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    84
proved in the theory's \ML{} file with {\tt qed}, {\tt qed_goal} and
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    85
{\tt qed_goalw}, or stored with {\tt bind_thm} and {\tt store_thm}.
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    86
Additionally, there is a hypertext link to the whole \ML{} file.
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    87
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    88
You can add section headings to the list of theorems by using
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    89
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    90
\begin{ttbox}\index{*use_dir}
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    91
section: string -> unit
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    92
\end{ttbox}
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    93
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    94
in a theory's ML file, which converts a plain string to a HTML
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    95
heading and inserts it before the next theorem proved or stored with
3217
d30d62128fe5 still under construction!
wenzelm
parents: 3188
diff changeset
    96
one of the above functions.
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    97
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
    98
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
    99
%\section*{*Using someone else's database}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   100
%
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   101
%To make them independent from their storage place, the HTML files only
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   102
%contain relative paths which are derived from absolute ones like the
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   103
%current working directory, {\tt gif_path} or {\tt base_path}. The
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   104
%latter two are reference variables which are initialized at the time
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   105
%when the {\tt Pure} database is made. Because you need write access
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   106
%for the current directory to make HTML files and therefore (probably)
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   107
%generate them in your home directory, the absolute {\tt base_path} is
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   108
%not correct if you use someone else's database or a database derived
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   109
%from it.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   110
%
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   111
%In that case you first should set {\tt base_path} to the value of {\em
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   112
%your} Isabelle main directory, i.e. the directory that contains the
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   113
%subdirectories where standard logics like {\tt FOL} and {\tt HOL} or
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   114
%your own logics are stored. If you do not do this, the generated HTML
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   115
%files will still be usable but may contain incomplete titles and lack
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   116
%some hypertext links.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   117
%
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   118
%It's also a good idea to set {\tt gif_path} which points to the
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   119
%directory containing two GIF images used in the HTML documents.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   120
%Normally this is the \texttt{src/Tools} subdirectory of Isabelle's
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   121
%main directory. While its value in general is still valid, your HTML
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   122
%files would depend on files not owned by you. This prevents you from
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   123
%changing the location of the HTML files (as they contain relative
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   124
%paths) and also causes trouble if the database's maker (re)moves the
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   125
%GIFs.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   126
%
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   127
%Here's what you should do before invoking {\tt init_html} using
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   128
%someone else's \ML{} database:
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   129
%
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   130
%\begin{ttbox}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   131
%base_path := "/home/someone/Isabelle-dist/src";
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   132
%gif_path := "/home/someone/Isabelle-dist/src/Tools";
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   133
%init_html();
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   134
%\dots
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   135
%\end{ttbox}
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
   136
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   137
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   138
\section{Browsing theory graphs} \label{sec:browse}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   139
\index{theory graph browser|bold} 
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   140
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   141
The graph browser is a tool for visualizing
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   142
dependency graphs of Isabelle theories. Certain nodes of
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   143
the graph (i.e.~theories) can be grouped together in "directories",
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   144
whose contents may be hidden, thus enabling the user to filter out
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   145
irrelevant information. Because it is written in Java, the browser
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   146
can be used both as a stand-alone application and as an applet.
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
   147
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   148
\subsection{Invoking the graph browser}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   149
The stand-alone version of the browser can be invoked by the command
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   150
\begin{ttbox}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   151
isatool browser [filename]
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   152
\end{ttbox}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   153
When no filename is specified, the browser automatically changes to the directory
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   154
\texttt{ISABELLE_BROWSER_INFO/graph/data}.\\
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   155
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   156
The applet version of the browser can be invoked by opening the {\tt index.html} file
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   157
in the directory \texttt{ISABELLE_BROWSER_INFO} from your Web browser and selecting
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   158
"version for Java capable browsers". Besides, there's a link to the corresponding theory graph
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   159
in every logic's {\tt index.html} file.
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
   160
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   161
\subsection{Using the graph browser}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   162
The browser's main window, which is shown in figure \ref{browserwindow},
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   163
consists of two subwindows: In the left subwindow, the directory tree
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   164
is displayed. The graph itself is displayed in the right subwindow.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   165
\begin{figure}[h]
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   166
\setlength{\epsfxsize}{\textwidth}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   167
\epsffile{browser_screenshot.eps}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   168
\caption{\label{browserwindow} Browser main window}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   169
\end{figure}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   170
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   171
\subsubsection*{The directory tree window}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   172
This section describes the usage of the directory browser and the
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   173
meaning of the different items in the browser window.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   174
\begin{itemize}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   175
\item A red arrow before a directory name indicates that the directory is
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   176
currently "folded", i.e.~the nodes in this directory
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   177
are collapsed to one single node. In the right subwindow, the names of
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   178
nodes corresponding to folded directories are enclosed in square brackets
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   179
and displayed in red colour.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   180
\item A green downward arrow before a directory name indicates that the
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   181
directory is currently "unfolded". It can be folded by clicking on the
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   182
directory name.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   183
Clicking on the name for a second time unfolds the directory again.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   184
Alternatively, a directory can also be unfolded by clicking on the
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   185
corresponding node in the right subwindow.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   186
\item Blue arrows stand before ordinary node (i.e.~theory) names. When
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   187
clicking on such a name, the graph display window focuses to the
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   188
corresponding node. Double clicking invokes a text viewer window in
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   189
which the contents of the theory file are displayed.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   190
\end{itemize}
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
   191
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   192
\subsubsection*{The graph display window}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   193
When pointing on an ordinary node, an upward and a downward arrow is shown.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   194
Initially, both of these arrows are coloured green. Clicking on the
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   195
upward or downward arrow collapses all predecessor or successor nodes,
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   196
respectively. The arrow's colour then changes to red, indicating that
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   197
the predecessor or successor nodes are currently collapsed. The node
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   198
corresponding to the collapsed nodes has the name "{\tt [....]}". To
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   199
uncollapse the nodes again, simply click on the red arrow or on the node
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   200
with the name "{\tt [....]}". Similar to the directory browser, the contents
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   201
of theory files can be displayed by double clicking on the corresponding
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   202
node. 
3188
445555a7b714 preliminary!
wenzelm
parents:
diff changeset
   203
3753
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   204
\subsubsection*{The "File" menu}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   205
Please note that, due to security restrictions, this menu is not available
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   206
in the applet version. The meaning of the menu items is as follows:
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   207
\begin{description}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   208
\item[Open$\ldots$] Open a new graph file.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   209
\item[Export to PostScript] Outputs the current graph in {\sc PostScript}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   210
format, appropriately scaled to fit on one single sheet of paper.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   211
The resulting file can be sent directly to a {\sc PostScript} capable printer.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   212
\item[Export to EPS] Outputs the current graph in Encapsulated {\sc PostScript}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   213
format. The resulting file can be included in other documents (e.g.~by using
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   214
the \LaTeX \ package "epsf").
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   215
\item[Quit] Quit the graph browser.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   216
\end{description}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   217
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   218
\subsection*{*Syntax of graph definition files}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   219
A graph definition file has the following syntax:
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   220
\begin{eqnarray*}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   221
\mbox{\it graph} & = & \{ \: \mbox{\it vertex \tt ;} \: \} ^ + \\
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   222
vertex & = & \mbox{\it vertexname} \: \mbox{\it vertexID} \: \mbox{\it dirname} \: [ \mbox{\tt +} ]
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   223
\: \mbox{\it path} \: [ \mbox{\tt <} | \mbox{\tt >} ] \: \{ \: \mbox{\it vertexID} \: \} ^ *
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   224
\end{eqnarray*}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   225
The meaning of the items in a vertex description is as follows:
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   226
\begin{description}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   227
\item[vertexname] The name of the vertex.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   228
\item[vertexID] The vertex identifier. Note that there may be two vertices with equal names,
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   229
whereas identifiers must be unique.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   230
\item[dirname] The name of the "directory" the vertex should be placed in.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   231
A "{\tt +}" sign after {\it dirname} indicates that the nodes in the directory
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   232
are initially visible. Directories are initially invisible by default.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   233
\item[path] The path of the corresponding theory file. This is specified
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   234
relatively to the path of the graph definition file.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   235
\item[List of successor/predecessor nodes] A "{\tt <}" sign before the list
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   236
means that successor nodes are listed, a "{\tt >}" sign means that predecessor
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   237
nodes are listed. If neither "{\tt <}" nor "{\tt >}" is found, the browser
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   238
assumes that successor nodes are listed.
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   239
\end{description}
5fd734bed0d4 Added section describing the theory browser.
berghofe
parents: 3217
diff changeset
   240
All names should be put in quotation marks.