doc-src/IsarRef/Thy/document/Misc.tex
author wenzelm
Tue, 15 Mar 2011 13:03:54 +0100
changeset 41984 e5dba3d75e9e
parent 41624 237328506a42
child 42596 6c621a9d612a
permissions -rw-r--r--
recover Isabelle symlink for public distribution, notably website;
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}
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    31
    \indexdef{}{command}{print\_commands}\hypertarget{command.print-commands}{\hyperlink{command.print-commands}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}commands}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}any\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    32
    \indexdef{}{command}{print\_theory}\hypertarget{command.print-theory}{\hyperlink{command.print-theory}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}theory}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}context\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    33
    \indexdef{}{command}{print\_methods}\hypertarget{command.print-methods}{\hyperlink{command.print-methods}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}methods}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}context\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    34
    \indexdef{}{command}{print\_attributes}\hypertarget{command.print-attributes}{\hyperlink{command.print-attributes}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}attributes}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}context\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    35
    \indexdef{}{command}{print\_theorems}\hypertarget{command.print-theorems}{\hyperlink{command.print-theorems}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}theorems}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}context\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    36
    \indexdef{}{command}{find\_theorems}\hypertarget{command.find-theorems}{\hyperlink{command.find-theorems}{\mbox{\isa{\isacommand{find{\isaliteral{5F}{\isacharunderscore}}theorems}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}context\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    37
    \indexdef{}{command}{find\_consts}\hypertarget{command.find-consts}{\hyperlink{command.find-consts}{\mbox{\isa{\isacommand{find{\isaliteral{5F}{\isacharunderscore}}consts}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}context\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    38
    \indexdef{}{command}{thm\_deps}\hypertarget{command.thm-deps}{\hyperlink{command.thm-deps}{\mbox{\isa{\isacommand{thm{\isaliteral{5F}{\isacharunderscore}}deps}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}context\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
41624
237328506a42 Documented unused_thms
berghofe
parents: 40406
diff changeset
    39
    \indexdef{}{command}{unused\_thms}\hypertarget{command.unused-thms}{\hyperlink{command.unused-thms}{\mbox{\isa{\isacommand{unused{\isaliteral{5F}{\isacharunderscore}}thms}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}context\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    40
    \indexdef{}{command}{print\_facts}\hypertarget{command.print-facts}{\hyperlink{command.print-facts}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}facts}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}context\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    41
    \indexdef{}{command}{print\_binds}\hypertarget{command.print-binds}{\hyperlink{command.print-binds}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}binds}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}context\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    42
  \end{matharray}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    43
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    44
  \begin{rail}
40255
9ffbc25e1606 eliminated obsolete \_ escapes in rail environments;
wenzelm
parents: 39836
diff changeset
    45
    ('print_theory' | 'print_theorems') ('!'?)
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    46
    ;
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    47
40255
9ffbc25e1606 eliminated obsolete \_ escapes in rail environments;
wenzelm
parents: 39836
diff changeset
    48
    'find_theorems' (('(' (nat)? ('with_dups')? ')')?) (thmcriterion *)
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    49
    ;
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    50
    thmcriterion: ('-'?) ('name' ':' nameref | 'intro' | 'elim' | 'dest' |
29893
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28788
diff changeset
    51
      'solves' | 'simp' ':' term | term)
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    52
    ;
40255
9ffbc25e1606 eliminated obsolete \_ escapes in rail environments;
wenzelm
parents: 39836
diff changeset
    53
    'find_consts' (constcriterion *)
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    54
    ;
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    55
    constcriterion: ('-'?) ('name' ':' nameref | 'strict' ':' type | type)
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    56
    ;
40255
9ffbc25e1606 eliminated obsolete \_ escapes in rail environments;
wenzelm
parents: 39836
diff changeset
    57
    'thm_deps' thmrefs
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    58
    ;
41624
237328506a42 Documented unused_thms
berghofe
parents: 40406
diff changeset
    59
    'unused_thms' (('name'+) '-' ('name'*))?
237328506a42 Documented unused_thms
berghofe
parents: 40406
diff changeset
    60
    ;
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    61
  \end{rail}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    62
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    63
  These commands print certain parts of the theory and proof context.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    64
  Note that there are some further ones available, such as for the set
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    65
  of rules declared for simplifications.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    66
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
    67
  \begin{description}
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    68
  
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    69
  \item \hyperlink{command.print-commands}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}commands}}}} prints Isabelle's outer theory
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    70
  syntax, including keywords and command.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    71
  
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    72
  \item \hyperlink{command.print-theory}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}theory}}}} prints the main logical content of
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    73
  the theory context; the ``\isa{{\isaliteral{22}{\isachardoublequote}}{\isaliteral{21}{\isacharbang}}{\isaliteral{22}{\isachardoublequote}}}'' option indicates extra
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    74
  verbosity.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    75
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    76
  \item \hyperlink{command.print-methods}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}methods}}}} prints all proof methods
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
  
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    79
  \item \hyperlink{command.print-attributes}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}attributes}}}} prints all attributes
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    80
  available in the current theory context.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    81
  
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    82
  \item \hyperlink{command.print-theorems}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}theorems}}}} prints theorems resulting from the
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    83
  last command; the ``\isa{{\isaliteral{22}{\isachardoublequote}}{\isaliteral{21}{\isacharbang}}{\isaliteral{22}{\isachardoublequote}}}'' option indicates extra verbosity.
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    84
  
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    85
  \item \hyperlink{command.find-theorems}{\mbox{\isa{\isacommand{find{\isaliteral{5F}{\isacharunderscore}}theorems}}}}~\isa{criteria} retrieves facts
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    86
  from the theory or proof context matching all of given search
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    87
  criteria.  The criterion \isa{{\isaliteral{22}{\isachardoublequote}}name{\isaliteral{3A}{\isacharcolon}}\ p{\isaliteral{22}{\isachardoublequote}}} selects all theorems
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    88
  whose fully qualified name matches pattern \isa{p}, which may
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    89
  contain ``\isa{{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}}'' wildcards.  The criteria \isa{intro},
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    90
  \isa{elim}, and \isa{dest} select theorems that match the
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    91
  current goal as introduction, elimination or destruction rules,
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    92
  respectively.  The criterion \isa{{\isaliteral{22}{\isachardoublequote}}solves{\isaliteral{22}{\isachardoublequote}}} returns all rules
29893
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28788
diff changeset
    93
  that would directly solve the current goal.  The criterion
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    94
  \isa{{\isaliteral{22}{\isachardoublequote}}simp{\isaliteral{3A}{\isacharcolon}}\ t{\isaliteral{22}{\isachardoublequote}}} selects all rewrite rules whose left-hand side
29893
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28788
diff changeset
    95
  matches the given term.  The criterion term \isa{t} selects all
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28788
diff changeset
    96
  theorems that contain the pattern \isa{t} -- as usual, patterns
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
    97
  may contain occurrences of the dummy ``\isa{{\isaliteral{5F}{\isacharunderscore}}}'', schematic
29893
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28788
diff changeset
    98
  variables, and type constraints.
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
    99
  
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   100
  Criteria can be preceded by ``\isa{{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{22}{\isachardoublequote}}}'' to select theorems that
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   101
  do \emph{not} match. Note that giving the empty list of criteria
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   102
  yields \emph{all} currently known facts.  An optional limit for the
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   103
  number of printed facts may be given; the default is 40.  By
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   104
  default, duplicates are removed from the search result. Use
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   105
  \isa{with{\isaliteral{5F}{\isacharunderscore}}dups} to display duplicates.
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
   106
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   107
  \item \hyperlink{command.find-consts}{\mbox{\isa{\isacommand{find{\isaliteral{5F}{\isacharunderscore}}consts}}}}~\isa{criteria} prints all constants
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   108
  whose type meets all of the given criteria. The criterion \isa{{\isaliteral{22}{\isachardoublequote}}strict{\isaliteral{3A}{\isacharcolon}}\ ty{\isaliteral{22}{\isachardoublequote}}} is met by any type that matches the type pattern
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   109
  \isa{ty}.  Patterns may contain both the dummy type ``\isa{{\isaliteral{5F}{\isacharunderscore}}}''
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
   110
  and sort constraints. The criterion \isa{ty} is similar, but it
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   111
  also matches against subtypes. The criterion \isa{{\isaliteral{22}{\isachardoublequote}}name{\isaliteral{3A}{\isacharcolon}}\ p{\isaliteral{22}{\isachardoublequote}}} and
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   112
  the prefix ``\isa{{\isaliteral{22}{\isachardoublequote}}{\isaliteral{2D}{\isacharminus}}{\isaliteral{22}{\isachardoublequote}}}'' function as described for \hyperlink{command.find-theorems}{\mbox{\isa{\isacommand{find{\isaliteral{5F}{\isacharunderscore}}theorems}}}}.
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
   113
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   114
  \item \hyperlink{command.thm-deps}{\mbox{\isa{\isacommand{thm{\isaliteral{5F}{\isacharunderscore}}deps}}}}~\isa{{\isaliteral{22}{\isachardoublequote}}a\isaliteral{5C3C5E7375623E}{}\isactrlsub {\isadigit{1}}\ {\isaliteral{5C3C646F74733E}{\isasymdots}}\ a\isaliteral{5C3C5E7375623E}{}\isactrlsub n{\isaliteral{22}{\isachardoublequote}}}
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   115
  visualizes dependencies of facts, using Isabelle's graph browser
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   116
  tool (see also \cite{isabelle-sys}).
41624
237328506a42 Documented unused_thms
berghofe
parents: 40406
diff changeset
   117
237328506a42 Documented unused_thms
berghofe
parents: 40406
diff changeset
   118
  \item \hyperlink{command.unused-thms}{\mbox{\isa{\isacommand{unused{\isaliteral{5F}{\isacharunderscore}}thms}}}}~\isa{{\isaliteral{22}{\isachardoublequote}}A\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}\ {\isaliteral{5C3C646F74733E}{\isasymdots}}\ A\isaliteral{5C3C5E697375623E}{}\isactrlisub m\ {\isaliteral{2D}{\isacharminus}}\ B\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}\ {\isaliteral{5C3C646F74733E}{\isasymdots}}\ B\isaliteral{5C3C5E697375623E}{}\isactrlisub n{\isaliteral{22}{\isachardoublequote}}}
237328506a42 Documented unused_thms
berghofe
parents: 40406
diff changeset
   119
  displays all unused theorems in theories \isa{{\isaliteral{22}{\isachardoublequote}}B\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}\ {\isaliteral{5C3C646F74733E}{\isasymdots}}\ B\isaliteral{5C3C5E697375623E}{}\isactrlisub n{\isaliteral{22}{\isachardoublequote}}}
237328506a42 Documented unused_thms
berghofe
parents: 40406
diff changeset
   120
  or their parents, but not in \isa{{\isaliteral{22}{\isachardoublequote}}A\isaliteral{5C3C5E697375623E}{}\isactrlisub {\isadigit{1}}\ {\isaliteral{5C3C646F74733E}{\isasymdots}}\ A\isaliteral{5C3C5E697375623E}{}\isactrlisub m{\isaliteral{22}{\isachardoublequote}}} or their parents.
237328506a42 Documented unused_thms
berghofe
parents: 40406
diff changeset
   121
  If \isa{n} is \isa{{\isadigit{0}}}, the end of the range of theories
237328506a42 Documented unused_thms
berghofe
parents: 40406
diff changeset
   122
  defaults to the current theory. If no range is specified,
237328506a42 Documented unused_thms
berghofe
parents: 40406
diff changeset
   123
  only the unused theorems in the current theory are displayed.
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   124
  
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   125
  \item \hyperlink{command.print-facts}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}facts}}}} prints all local facts of the
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   126
  current context, both named and unnamed ones.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   127
  
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   128
  \item \hyperlink{command.print-binds}{\mbox{\isa{\isacommand{print{\isaliteral{5F}{\isacharunderscore}}binds}}}} prints all term abbreviations
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   129
  present in the context.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   130
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   131
  \end{description}%
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   132
\end{isamarkuptext}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   133
\isamarkuptrue%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   134
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   135
\isamarkupsection{History commands \label{sec:history}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   136
}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   137
\isamarkuptrue%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   138
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   139
\begin{isamarkuptext}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   140
\begin{matharray}{rcl}
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   141
    \indexdef{}{command}{undo}\hypertarget{command.undo}{\hyperlink{command.undo}{\mbox{\isa{\isacommand{undo}}}}}^{{ * }{ * }} & : & \isa{{\isaliteral{22}{\isachardoublequote}}any\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}\ any{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   142
    \indexdef{}{command}{linear\_undo}\hypertarget{command.linear-undo}{\hyperlink{command.linear-undo}{\mbox{\isa{\isacommand{linear{\isaliteral{5F}{\isacharunderscore}}undo}}}}}^{{ * }{ * }} & : & \isa{{\isaliteral{22}{\isachardoublequote}}any\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}\ any{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   143
    \indexdef{}{command}{kill}\hypertarget{command.kill}{\hyperlink{command.kill}{\mbox{\isa{\isacommand{kill}}}}}^{{ * }{ * }} & : & \isa{{\isaliteral{22}{\isachardoublequote}}any\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}\ any{\isaliteral{22}{\isachardoublequote}}} \\
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   144
  \end{matharray}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   145
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   146
  The Isabelle/Isar top-level maintains a two-stage history, for
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   147
  theory and proof state transformation.  Basically, any command can
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   148
  be undone using \hyperlink{command.undo}{\mbox{\isa{\isacommand{undo}}}}, excluding mere diagnostic
27598
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27054
diff changeset
   149
  elements.  Note that a theorem statement with a \emph{finished}
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27054
diff changeset
   150
  proof is treated as a single unit by \hyperlink{command.undo}{\mbox{\isa{\isacommand{undo}}}}.  In
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   151
  contrast, the variant \hyperlink{command.linear-undo}{\mbox{\isa{\isacommand{linear{\isaliteral{5F}{\isacharunderscore}}undo}}}} admits to step back
27598
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27054
diff changeset
   152
  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
   153
  the current history node altogether, discontinuing a proof or even
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27054
diff changeset
   154
  the whole theory.  This operation is \emph{not} undo-able.
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   155
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   156
  \begin{warn}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   157
    History commands should never be used with user interfaces such as
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   158
    Proof~General \cite{proofgeneral,Aspinall:TACAS:2000}, which takes
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   159
    care of stepping forth and back itself.  Interfering by manual
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   160
    \hyperlink{command.undo}{\mbox{\isa{\isacommand{undo}}}}, \hyperlink{command.linear-undo}{\mbox{\isa{\isacommand{linear{\isaliteral{5F}{\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
   161
  \end{warn}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   162
\end{isamarkuptext}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   163
\isamarkuptrue%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   164
%
27054
f1ef0973d0a8 updated generated file;
wenzelm
parents: 27052
diff changeset
   165
\isamarkupsection{System commands%
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   166
}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   167
\isamarkuptrue%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   168
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   169
\begin{isamarkuptext}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   170
\begin{matharray}{rcl}
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   171
    \indexdef{}{command}{cd}\hypertarget{command.cd}{\hyperlink{command.cd}{\mbox{\isa{\isacommand{cd}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}any\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   172
    \indexdef{}{command}{pwd}\hypertarget{command.pwd}{\hyperlink{command.pwd}{\mbox{\isa{\isacommand{pwd}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}any\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   173
    \indexdef{}{command}{use\_thy}\hypertarget{command.use-thy}{\hyperlink{command.use-thy}{\mbox{\isa{\isacommand{use{\isaliteral{5F}{\isacharunderscore}}thy}}}}}\isa{{\isaliteral{22}{\isachardoublequote}}\isaliteral{5C3C5E7375703E}{}\isactrlsup {\isaliteral{2A}{\isacharasterisk}}{\isaliteral{22}{\isachardoublequote}}} & : & \isa{{\isaliteral{22}{\isachardoublequote}}any\ {\isaliteral{5C3C72696768746172726F773E}{\isasymrightarrow}}{\isaliteral{22}{\isachardoublequote}}} \\
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   174
  \end{matharray}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   175
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   176
  \begin{rail}
40255
9ffbc25e1606 eliminated obsolete \_ escapes in rail environments;
wenzelm
parents: 39836
diff changeset
   177
    ('cd' | 'use_thy') name
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   178
    ;
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   179
  \end{rail}
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   180
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   181
  \begin{description}
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   182
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   183
  \item \hyperlink{command.cd}{\mbox{\isa{\isacommand{cd}}}}~\isa{path} changes the current directory
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   184
  of the Isabelle process.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   185
28788
ff9d8a8932e4 updated generated files;
wenzelm
parents: 27598
diff changeset
   186
  \item \hyperlink{command.pwd}{\mbox{\isa{\isacommand{pwd}}}} prints the current working directory.
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   187
40406
313a24b66a8d updated generated files;
wenzelm
parents: 40255
diff changeset
   188
  \item \hyperlink{command.use-thy}{\mbox{\isa{\isacommand{use{\isaliteral{5F}{\isacharunderscore}}thy}}}}~\isa{A} preload theory \isa{A}.
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   189
  These system commands are scarcely used when working interactively,
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   190
  since loading of theories is done automatically as required.
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   191
39836
a194f39cfcb4 note on Isabelle file specifications;
wenzelm
parents: 33515
diff changeset
   192
  \end{description}
a194f39cfcb4 note on Isabelle file specifications;
wenzelm
parents: 33515
diff changeset
   193
a194f39cfcb4 note on Isabelle file specifications;
wenzelm
parents: 33515
diff changeset
   194
  %FIXME proper place (!?)
a194f39cfcb4 note on Isabelle file specifications;
wenzelm
parents: 33515
diff changeset
   195
  Isabelle file specification may contain path variables (e.g.\
a194f39cfcb4 note on Isabelle file specifications;
wenzelm
parents: 33515
diff changeset
   196
  \verb|$ISABELLE_HOME|) that are expanded accordingly.  Note
a194f39cfcb4 note on Isabelle file specifications;
wenzelm
parents: 33515
diff changeset
   197
  that \verb|~| abbreviates \verb|$HOME|, and \verb|~~| abbreviates \verb|$ISABELLE_HOME|.  The general syntax
a194f39cfcb4 note on Isabelle file specifications;
wenzelm
parents: 33515
diff changeset
   198
  for path specifications follows POSIX conventions.%
27052
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   199
\end{isamarkuptext}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   200
\isamarkuptrue%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   201
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   202
\isadelimtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   203
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   204
\endisadelimtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   205
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   206
\isatagtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   207
\isacommand{end}\isamarkupfalse%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   208
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   209
\endisatagtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   210
{\isafoldtheory}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   211
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   212
\isadelimtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   213
%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   214
\endisadelimtheory
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   215
\isanewline
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   216
\end{isabellebody}%
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   217
%%% Local Variables:
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   218
%%% mode: latex
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   219
%%% TeX-master: "root"
5c48cecb981b updated generated file;
wenzelm
parents:
diff changeset
   220
%%% End: