doc-src/IsarRef/Thy/Misc.thy
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:
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
     1
theory Misc
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
     2
imports Main
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
     3
begin
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
     4
28779
698960f08652 separate section "Inspecting the syntax" for print_syntax;
wenzelm
parents: 28778
diff changeset
     5
chapter {* Other commands *}
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
     6
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
     7
section {* Inspecting the context *}
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
     8
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
     9
text {*
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    10
  \begin{matharray}{rcl}
28761
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
    11
    @{command_def "print_commands"}@{text "\<^sup>*"} & : & @{text "any \<rightarrow>"} \\
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
    12
    @{command_def "print_theory"}@{text "\<^sup>*"} & : & @{text "context \<rightarrow>"} \\
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
    13
    @{command_def "print_methods"}@{text "\<^sup>*"} & : & @{text "context \<rightarrow>"} \\
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
    14
    @{command_def "print_attributes"}@{text "\<^sup>*"} & : & @{text "context \<rightarrow>"} \\
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
    15
    @{command_def "print_theorems"}@{text "\<^sup>*"} & : & @{text "context \<rightarrow>"} \\
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
    16
    @{command_def "find_theorems"}@{text "\<^sup>*"} & : & @{text "context \<rightarrow>"} \\
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    17
    @{command_def "find_consts"}@{text "\<^sup>*"} & : & @{text "context \<rightarrow>"} \\
28761
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
    18
    @{command_def "thm_deps"}@{text "\<^sup>*"} & : & @{text "context \<rightarrow>"} \\
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
    19
    @{command_def "print_facts"}@{text "\<^sup>*"} & : & @{text "context \<rightarrow>"} \\
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
    20
    @{command_def "print_binds"}@{text "\<^sup>*"} & : & @{text "context \<rightarrow>"} \\
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    21
  \end{matharray}
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    22
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    23
  \begin{rail}
33515
d066e8369a33 print_theorems: suppress concealed (global) facts, unless "!" option is given;
wenzelm
parents: 30168
diff changeset
    24
    ('print\_theory' | 'print\_theorems') ('!'?)
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    25
    ;
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    26
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    27
    'find\_theorems' (('(' (nat)? ('with\_dups')? ')')?) (thmcriterion *)
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    28
    ;
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    29
    thmcriterion: ('-'?) ('name' ':' nameref | 'intro' | 'elim' | 'dest' |
29893
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28779
diff changeset
    30
      'solves' | 'simp' ':' term | term)
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    31
    ;
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    32
    'find\_consts' (constcriterion *)
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    33
    ;
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    34
    constcriterion: ('-'?) ('name' ':' nameref | 'strict' ':' type | type)
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    35
    ;
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    36
    'thm\_deps' thmrefs
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    37
    ;
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    38
  \end{rail}
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    39
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    40
  These commands print certain parts of the theory and proof context.
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    41
  Note that there are some further ones available, such as for the set
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    42
  of rules declared for simplifications.
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    43
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
    44
  \begin{description}
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    45
  
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
    46
  \item @{command "print_commands"} prints Isabelle's outer theory
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    47
  syntax, including keywords and command.
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    48
  
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
    49
  \item @{command "print_theory"} prints the main logical content of
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    50
  the theory context; the ``@{text "!"}'' option indicates extra
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    51
  verbosity.
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    52
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
    53
  \item @{command "print_methods"} prints all proof methods
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    54
  available in the current theory context.
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    55
  
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
    56
  \item @{command "print_attributes"} prints all attributes
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    57
  available in the current theory context.
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    58
  
33515
d066e8369a33 print_theorems: suppress concealed (global) facts, unless "!" option is given;
wenzelm
parents: 30168
diff changeset
    59
  \item @{command "print_theorems"} prints theorems resulting from the
d066e8369a33 print_theorems: suppress concealed (global) facts, unless "!" option is given;
wenzelm
parents: 30168
diff changeset
    60
  last command; the ``@{text "!"}'' option indicates extra verbosity.
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    61
  
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
    62
  \item @{command "find_theorems"}~@{text criteria} retrieves facts
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    63
  from the theory or proof context matching all of given search
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    64
  criteria.  The criterion @{text "name: p"} selects all theorems
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    65
  whose fully qualified name matches pattern @{text p}, which may
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    66
  contain ``@{text "*"}'' wildcards.  The criteria @{text intro},
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    67
  @{text elim}, and @{text dest} select theorems that match the
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    68
  current goal as introduction, elimination or destruction rules,
29896
kleing
parents: 29894
diff changeset
    69
  respectively.  The criterion @{text "solves"} returns all rules
29893
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28779
diff changeset
    70
  that would directly solve the current goal.  The criterion
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28779
diff changeset
    71
  @{text "simp: t"} selects all rewrite rules whose left-hand side
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28779
diff changeset
    72
  matches the given term.  The criterion term @{text t} selects all
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28779
diff changeset
    73
  theorems that contain the pattern @{text t} -- as usual, patterns
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28779
diff changeset
    74
  may contain occurrences of the dummy ``@{text _}'', schematic
defab1c6a6b5 FindTheorems solves: update documentation (by Timothy Bourke)
kleing
parents: 28779
diff changeset
    75
  variables, and type constraints.
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    76
  
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    77
  Criteria can be preceded by ``@{text "-"}'' to select theorems that
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    78
  do \emph{not} match. Note that giving the empty list of criteria
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    79
  yields \emph{all} currently known facts.  An optional limit for the
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    80
  number of printed facts may be given; the default is 40.  By
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    81
  default, duplicates are removed from the search result. Use
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    82
  @{text with_dups} to display duplicates.
29894
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    83
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    84
  \item @{command "find_consts"}~@{text criteria} prints all constants
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    85
  whose type meets all of the given criteria. The criterion @{text
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    86
  "strict: ty"} is met by any type that matches the type pattern
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    87
  @{text ty}.  Patterns may contain both the dummy type ``@{text _}''
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    88
  and sort constraints. The criterion @{text ty} is similar, but it
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    89
  also matches against subtypes. The criterion @{text "name: p"} and
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    90
  the prefix ``@{text "-"}'' function as described for @{command
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    91
  "find_theorems"}.
e0e3aa62d9d3 find_consts: documentation. (by Timothy Bourke)
kleing
parents: 29893
diff changeset
    92
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
    93
  \item @{command "thm_deps"}~@{text "a\<^sub>1 \<dots> a\<^sub>n"}
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    94
  visualizes dependencies of facts, using Isabelle's graph browser
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    95
  tool (see also \cite{isabelle-sys}).
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    96
  
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
    97
  \item @{command "print_facts"} prints all local facts of the
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    98
  current context, both named and unnamed ones.
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
    99
  
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
   100
  \item @{command "print_binds"} prints all term abbreviations
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   101
  present in the context.
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   102
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
   103
  \end{description}
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   104
*}
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   105
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   106
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   107
section {* History commands \label{sec:history} *}
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   108
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   109
text {*
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   110
  \begin{matharray}{rcl}
28761
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
   111
    @{command_def "undo"}^{{ * }{ * }} & : & @{text "any \<rightarrow> any"} \\
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
   112
    @{command_def "linear_undo"}^{{ * }{ * }} & : & @{text "any \<rightarrow> any"} \\
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
   113
    @{command_def "kill"}^{{ * }{ * }} & : & @{text "any \<rightarrow> any"} \\
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   114
  \end{matharray}
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   115
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   116
  The Isabelle/Isar top-level maintains a two-stage history, for
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   117
  theory and proof state transformation.  Basically, any command can
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   118
  be undone using @{command "undo"}, excluding mere diagnostic
27598
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27056
diff changeset
   119
  elements.  Note that a theorem statement with a \emph{finished}
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27056
diff changeset
   120
  proof is treated as a single unit by @{command "undo"}.  In
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27056
diff changeset
   121
  contrast, the variant @{command "linear_undo"} admits to step back
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27056
diff changeset
   122
  into the middle of a proof.  The @{command "kill"} command aborts
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27056
diff changeset
   123
  the current history node altogether, discontinuing a proof or even
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27056
diff changeset
   124
  the whole theory.  This operation is \emph{not} undo-able.
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   125
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   126
  \begin{warn}
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   127
    History commands should never be used with user interfaces such as
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   128
    Proof~General \cite{proofgeneral,Aspinall:TACAS:2000}, which takes
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   129
    care of stepping forth and back itself.  Interfering by manual
27598
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27056
diff changeset
   130
    @{command "undo"}, @{command "linear_undo"}, or even @{command
b66e257b75f5 removed command 'redo';
wenzelm
parents: 27056
diff changeset
   131
    "kill"} commands would quickly result in utter confusion.
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   132
  \end{warn}
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   133
*}
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   134
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   135
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   136
section {* System commands *}
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   137
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   138
text {*
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   139
  \begin{matharray}{rcl}
28761
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
   140
    @{command_def "cd"}@{text "\<^sup>*"} & : & @{text "any \<rightarrow>"} \\
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
   141
    @{command_def "pwd"}@{text "\<^sup>*"} & : & @{text "any \<rightarrow>"} \\
9ec4482c9201 updated/refined types of Isar language elements, removed special LaTeX macros;
wenzelm
parents: 28760
diff changeset
   142
    @{command_def "use_thy"}@{text "\<^sup>*"} & : & @{text "any \<rightarrow>"} \\
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   143
  \end{matharray}
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   144
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   145
  \begin{rail}
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   146
    ('cd' | 'use\_thy' | 'update\_thy') name
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   147
    ;
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   148
  \end{rail}
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   149
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
   150
  \begin{description}
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   151
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
   152
  \item @{command "cd"}~@{text path} changes the current directory
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   153
  of the Isabelle process.
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   154
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
   155
  \item @{command "pwd"} prints the current working directory.
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   156
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
   157
  \item @{command "use_thy"}~@{text A} preload theory @{text A}.
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   158
  These system commands are scarcely used when working interactively,
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   159
  since loading of theories is done automatically as required.
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   160
28760
cbc435f7b16b unified use of declaration environment with IsarImplementation;
wenzelm
parents: 27598
diff changeset
   161
  \end{description}
27056
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   162
*}
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   163
4bf8710b3242 moved stuff from pure.thy to Misc.thy;
wenzelm
parents:
diff changeset
   164
end