doc-src/IsarRef/Thy/document/Misc.tex
author blanchet
Mon, 19 Apr 2010 18:14:45 +0200
changeset 36230 43d10a494c91
parent 33515 d066e8369a33
child 39836 a194f39cfcb4
permissions -rw-r--r--
added warning about inconsistent context to Metis; it makes more sense here than in Sledgehammer, because Sledgehammer is unsound and there's no point in having people panicking about the consistency of their context when their context is in fact consistent
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
     1
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
     2
\begin{isabellebody}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
     3
\def\isabellecontext{Misc}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
     4
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
     5
\isadelimtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
     6
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
     7
\endisadelimtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
     8
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
     9
\isatagtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    10
\isacommand{theory}\isamarkupfalse%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    11
\ Misc\isanewline
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    12
\isakeyword{imports}\ Main\isanewline
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    13
\isakeyword{begin}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    14
\endisatagtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    15
{\isafoldtheory}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    16
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    17
\isadelimtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    18
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    19
\endisadelimtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    20
%
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    21
\isamarkupchapter{Other commands%
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    22
}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    23
\isamarkuptrue%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    24
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    25
\isamarkupsection{Inspecting the context%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    26
}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    27
\isamarkuptrue%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    28
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    29
\begin{isamarkuptext}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    30
\begin{matharray}{rcl}
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    31
    \indexdef{}{command}{print\_commands}\hypertarget{command.print-commands}{\hyperlink{command.print-commands}{\mbox{\isa{\isacommand{print{\isacharunderscore}commands}}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{{\isachardoublequote}any\ {\isasymrightarrow}{\isachardoublequote}} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    32
    \indexdef{}{command}{print\_theory}\hypertarget{command.print-theory}{\hyperlink{command.print-theory}{\mbox{\isa{\isacommand{print{\isacharunderscore}theory}}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{{\isachardoublequote}context\ {\isasymrightarrow}{\isachardoublequote}} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    33
    \indexdef{}{command}{print\_methods}\hypertarget{command.print-methods}{\hyperlink{command.print-methods}{\mbox{\isa{\isacommand{print{\isacharunderscore}methods}}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{{\isachardoublequote}context\ {\isasymrightarrow}{\isachardoublequote}} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    34
    \indexdef{}{command}{print\_attributes}\hypertarget{command.print-attributes}{\hyperlink{command.print-attributes}{\mbox{\isa{\isacommand{print{\isacharunderscore}attributes}}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{{\isachardoublequote}context\ {\isasymrightarrow}{\isachardoublequote}} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    35
    \indexdef{}{command}{print\_theorems}\hypertarget{command.print-theorems}{\hyperlink{command.print-theorems}{\mbox{\isa{\isacommand{print{\isacharunderscore}theorems}}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{{\isachardoublequote}context\ {\isasymrightarrow}{\isachardoublequote}} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    36
    \indexdef{}{command}{find\_theorems}\hypertarget{command.find-theorems}{\hyperlink{command.find-theorems}{\mbox{\isa{\isacommand{find{\isacharunderscore}theorems}}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{{\isachardoublequote}context\ {\isasymrightarrow}{\isachardoublequote}} \\
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    37
    \indexdef{}{command}{find\_consts}\hypertarget{command.find-consts}{\hyperlink{command.find-consts}{\mbox{\isa{\isacommand{find{\isacharunderscore}consts}}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{{\isachardoublequote}context\ {\isasymrightarrow}{\isachardoublequote}} \\
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    38
    \indexdef{}{command}{thm\_deps}\hypertarget{command.thm-deps}{\hyperlink{command.thm-deps}{\mbox{\isa{\isacommand{thm{\isacharunderscore}deps}}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{{\isachardoublequote}context\ {\isasymrightarrow}{\isachardoublequote}} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    39
    \indexdef{}{command}{print\_facts}\hypertarget{command.print-facts}{\hyperlink{command.print-facts}{\mbox{\isa{\isacommand{print{\isacharunderscore}facts}}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{{\isachardoublequote}context\ {\isasymrightarrow}{\isachardoublequote}} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    40
    \indexdef{}{command}{print\_binds}\hypertarget{command.print-binds}{\hyperlink{command.print-binds}{\mbox{\isa{\isacommand{print{\isacharunderscore}binds}}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{{\isachardoublequote}context\ {\isasymrightarrow}{\isachardoublequote}} \\
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    41
  \end{matharray}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    42
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    43
  \begin{rail}
33515
d066e8369a33 print_theorems: suppress concealed (global) facts, unless "!" option is given;
wenzelm
parents: 30172
diff changeset
    44
    ('print\_theory' | 'print\_theorems') ('!'?)
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    45
    ;
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    46
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    47
    'find\_theorems' (('(' (nat)? ('with\_dups')? ')')?) (thmcriterion *)
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    48
    ;
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    49
    thmcriterion: ('-'?) ('name' ':' nameref | 'intro' | 'elim' | 'dest' |
29893
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28788
diff changeset
    50
      'solves' | 'simp' ':' term | term)
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    51
    ;
29896
kleing
parents: 29894
diff changeset
    52
    'find\_consts' (constcriterion *)
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    53
    ;
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    54
    constcriterion: ('-'?) ('name' ':' nameref | 'strict' ':' type | type)
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    55
    ;
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    56
    'thm\_deps' thmrefs
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    57
    ;
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    58
  \end{rail}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    59
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    60
  These commands print certain parts of the theory and proof context.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    61
  Note that there are some further ones available, such as for the set
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    62
  of rules declared for simplifications.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    63
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    64
  \begin{description}
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    65
  
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    66
  \item \hyperlink{command.print-commands}{\mbox{\isa{\isacommand{print{\isacharunderscore}commands}}}} prints Isabelle's outer theory
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    67
  syntax, including keywords and command.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    68
  
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    69
  \item \hyperlink{command.print-theory}{\mbox{\isa{\isacommand{print{\isacharunderscore}theory}}}} prints the main logical content of
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    70
  the theory context; the ``\isa{{\isachardoublequote}{\isacharbang}{\isachardoublequote}}'' option indicates extra
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    71
  verbosity.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    72
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    73
  \item \hyperlink{command.print-methods}{\mbox{\isa{\isacommand{print{\isacharunderscore}methods}}}} prints all proof methods
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    74
  available in the current theory context.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    75
  
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    76
  \item \hyperlink{command.print-attributes}{\mbox{\isa{\isacommand{print{\isacharunderscore}attributes}}}} prints all attributes
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    77
  available in the current theory context.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    78
  
33515
d066e8369a33 print_theorems: suppress concealed (global) facts, unless "!" option is given;
wenzelm
parents: 30172
diff changeset
    79
  \item \hyperlink{command.print-theorems}{\mbox{\isa{\isacommand{print{\isacharunderscore}theorems}}}} prints theorems resulting from the
d066e8369a33 print_theorems: suppress concealed (global) facts, unless "!" option is given;
wenzelm
parents: 30172
diff changeset
    80
  last command; the ``\isa{{\isachardoublequote}{\isacharbang}{\isachardoublequote}}'' option indicates extra verbosity.
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    81
  
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    82
  \item \hyperlink{command.find-theorems}{\mbox{\isa{\isacommand{find{\isacharunderscore}theorems}}}}~\isa{criteria} retrieves facts
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    83
  from the theory or proof context matching all of given search
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    84
  criteria.  The criterion \isa{{\isachardoublequote}name{\isacharcolon}\ p{\isachardoublequote}} selects all theorems
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    85
  whose fully qualified name matches pattern \isa{p}, which may
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    86
  contain ``\isa{{\isachardoublequote}{\isacharasterisk}{\isachardoublequote}}'' wildcards.  The criteria \isa{intro},
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    87
  \isa{elim}, and \isa{dest} select theorems that match the
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    88
  current goal as introduction, elimination or destruction rules,
29896
kleing
parents: 29894
diff changeset
    89
  respectively.  The criterion \isa{{\isachardoublequote}solves{\isachardoublequote}} returns all rules
29893
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28788
diff changeset
    90
  that would directly solve the current goal.  The criterion
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28788
diff changeset
    91
  \isa{{\isachardoublequote}simp{\isacharcolon}\ t{\isachardoublequote}} selects all rewrite rules whose left-hand side
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28788
diff changeset
    92
  matches the given term.  The criterion term \isa{t} selects all
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28788
diff changeset
    93
  theorems that contain the pattern \isa{t} -- as usual, patterns
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28788
diff changeset
    94
  may contain occurrences of the dummy ``\isa{{\isacharunderscore}}'', schematic
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28788
diff changeset
    95
  variables, and type constraints.
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    96
  
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    97
  Criteria can be preceded by ``\isa{{\isachardoublequote}{\isacharminus}{\isachardoublequote}}'' to select theorems that
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    98
  do \emph{not} match. Note that giving the empty list of criteria
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    99
  yields \emph{all} currently known facts.  An optional limit for the
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   100
  number of printed facts may be given; the default is 40.  By
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   101
  default, duplicates are removed from the search result. Use
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   102
  \isa{with{\isacharunderscore}dups} to display duplicates.
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
   103
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
   104
  \item \hyperlink{command.find-consts}{\mbox{\isa{\isacommand{find{\isacharunderscore}consts}}}}~\isa{criteria} prints all constants
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
   105
  whose type meets all of the given criteria. The criterion \isa{{\isachardoublequote}strict{\isacharcolon}\ ty{\isachardoublequote}} is met by any type that matches the type pattern
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
   106
  \isa{ty}.  Patterns may contain both the dummy type ``\isa{{\isacharunderscore}}''
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
   107
  and sort constraints. The criterion \isa{ty} is similar, but it
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
   108
  also matches against subtypes. The criterion \isa{{\isachardoublequote}name{\isacharcolon}\ p{\isachardoublequote}} and
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
   109
  the prefix ``\isa{{\isachardoublequote}{\isacharminus}{\isachardoublequote}}'' function as described for \hyperlink{command.find-theorems}{\mbox{\isa{\isacommand{find{\isacharunderscore}theorems}}}}.
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
   110
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   111
  \item \hyperlink{command.thm-deps}{\mbox{\isa{\isacommand{thm{\isacharunderscore}deps}}}}~\isa{{\isachardoublequote}a\isactrlsub {\isadigit{1}}\ {\isasymdots}\ a\isactrlsub n{\isachardoublequote}}
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   112
  visualizes dependencies of facts, using Isabelle's graph browser
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   113
  tool (see also \cite{isabelle-sys}).
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   114
  
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   115
  \item \hyperlink{command.print-facts}{\mbox{\isa{\isacommand{print{\isacharunderscore}facts}}}} prints all local facts of the
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   116
  current context, both named and unnamed ones.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   117
  
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   118
  \item \hyperlink{command.print-binds}{\mbox{\isa{\isacommand{print{\isacharunderscore}binds}}}} prints all term abbreviations
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   119
  present in the context.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   120
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   121
  \end{description}%
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   122
\end{isamarkuptext}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   123
\isamarkuptrue%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   124
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   125
\isamarkupsection{History commands \label{sec:history}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   126
}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   127
\isamarkuptrue%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   128
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   129
\begin{isamarkuptext}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   130
\begin{matharray}{rcl}
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   131
    \indexdef{}{command}{undo}\hypertarget{command.undo}{\hyperlink{command.undo}{\mbox{\isa{\isacommand{undo}}}}}^{{ * }{ * }} & : & \isa{{\isachardoublequote}any\ {\isasymrightarrow}\ any{\isachardoublequote}} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   132
    \indexdef{}{command}{linear\_undo}\hypertarget{command.linear-undo}{\hyperlink{command.linear-undo}{\mbox{\isa{\isacommand{linear{\isacharunderscore}undo}}}}}^{{ * }{ * }} & : & \isa{{\isachardoublequote}any\ {\isasymrightarrow}\ any{\isachardoublequote}} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   133
    \indexdef{}{command}{kill}\hypertarget{command.kill}{\hyperlink{command.kill}{\mbox{\isa{\isacommand{kill}}}}}^{{ * }{ * }} & : & \isa{{\isachardoublequote}any\ {\isasymrightarrow}\ any{\isachardoublequote}} \\
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   134
  \end{matharray}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   135
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   136
  The Isabelle/Isar top-level maintains a two-stage history, for
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   137
  theory and proof state transformation.  Basically, any command can
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   138
  be undone using \hyperlink{command.undo}{\mbox{\isa{\isacommand{undo}}}}, excluding mere diagnostic
27598
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27054
diff changeset
   139
  elements.  Note that a theorem statement with a \emph{finished}
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27054
diff changeset
   140
  proof is treated as a single unit by \hyperlink{command.undo}{\mbox{\isa{\isacommand{undo}}}}.  In
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27054
diff changeset
   141
  contrast, the variant \hyperlink{command.linear-undo}{\mbox{\isa{\isacommand{linear{\isacharunderscore}undo}}}} admits to step back
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27054
diff changeset
   142
  into the middle of a proof.  The \hyperlink{command.kill}{\mbox{\isa{\isacommand{kill}}}} command aborts
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27054
diff changeset
   143
  the current history node altogether, discontinuing a proof or even
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27054
diff changeset
   144
  the whole theory.  This operation is \emph{not} undo-able.
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   145
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   146
  \begin{warn}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   147
    History commands should never be used with user interfaces such as
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   148
    Proof~General \cite{proofgeneral,Aspinall:TACAS:2000}, which takes
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   149
    care of stepping forth and back itself.  Interfering by manual
27598
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27054
diff changeset
   150
    \hyperlink{command.undo}{\mbox{\isa{\isacommand{undo}}}}, \hyperlink{command.linear-undo}{\mbox{\isa{\isacommand{linear{\isacharunderscore}undo}}}}, or even \hyperlink{command.kill}{\mbox{\isa{\isacommand{kill}}}} commands would quickly result in utter confusion.
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   151
  \end{warn}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   152
\end{isamarkuptext}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   153
\isamarkuptrue%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   154
%
27054
f1ef0973d0a8 updated generated file;
wenzelm
parents: 27052
diff changeset
   155
\isamarkupsection{System commands%
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   156
}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   157
\isamarkuptrue%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   158
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   159
\begin{isamarkuptext}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   160
\begin{matharray}{rcl}
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   161
    \indexdef{}{command}{cd}\hypertarget{command.cd}{\hyperlink{command.cd}{\mbox{\isa{\isacommand{cd}}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{{\isachardoublequote}any\ {\isasymrightarrow}{\isachardoublequote}} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   162
    \indexdef{}{command}{pwd}\hypertarget{command.pwd}{\hyperlink{command.pwd}{\mbox{\isa{\isacommand{pwd}}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{{\isachardoublequote}any\ {\isasymrightarrow}{\isachardoublequote}} \\
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   163
    \indexdef{}{command}{use\_thy}\hypertarget{command.use-thy}{\hyperlink{command.use-thy}{\mbox{\isa{\isacommand{use{\isacharunderscore}thy}}}}}\isa{{\isachardoublequote}\isactrlsup {\isacharasterisk}{\isachardoublequote}} & : & \isa{{\isachardoublequote}any\ {\isasymrightarrow}{\isachardoublequote}} \\
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   164
  \end{matharray}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   165
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   166
  \begin{rail}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   167
    ('cd' | 'use\_thy' | 'update\_thy') name
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   168
    ;
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   169
  \end{rail}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   170
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   171
  \begin{description}
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   172
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   173
  \item \hyperlink{command.cd}{\mbox{\isa{\isacommand{cd}}}}~\isa{path} changes the current directory
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   174
  of the Isabelle process.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   175
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   176
  \item \hyperlink{command.pwd}{\mbox{\isa{\isacommand{pwd}}}} prints the current working directory.
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   177
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   178
  \item \hyperlink{command.use-thy}{\mbox{\isa{\isacommand{use{\isacharunderscore}thy}}}}~\isa{A} preload theory \isa{A}.
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   179
  These system commands are scarcely used when working interactively,
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   180
  since loading of theories is done automatically as required.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   181
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   182
  \end{description}%
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   183
\end{isamarkuptext}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   184
\isamarkuptrue%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   185
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   186
\isadelimtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   187
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   188
\endisadelimtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   189
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   190
\isatagtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   191
\isacommand{end}\isamarkupfalse%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   192
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   193
\endisatagtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   194
{\isafoldtheory}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   195
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   196
\isadelimtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   197
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   198
\endisadelimtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   199
\isanewline
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   200
\end{isabellebody}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   201
%%% Local Variables:
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   202
%%% mode: latex
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   203
%%% TeX-master: "root"
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   204
%%% End: