483 \item [$\at\{const~c\}$] prints a well-defined constant $c$. |
483 \item [$\at\{const~c\}$] prints a well-defined constant $c$. |
484 |
484 |
485 \item [$\at\{typeof~t\}$] prints the type of a well-typed term $t$. |
485 \item [$\at\{typeof~t\}$] prints the type of a well-typed term $t$. |
486 |
486 |
487 \item [$\at\{typ~\tau\}$] prints a well-formed type $\tau$. |
487 \item [$\at\{typ~\tau\}$] prints a well-formed type $\tau$. |
488 |
488 |
489 \item [$\at\{thm_style~s~a\}$] prints theorem $a$, previously |
489 \item [$\at\{thm_style~s~a\}$] prints theorem $a$, previously applying a style |
490 applying a style $s$ to it; otherwise behaves the same as $\at\{thm~a\}$ |
490 $s$ to it (see below). |
491 with just one theorem. |
491 |
492 |
492 \item [$\at\{term_style~s~t\}$] prints a well-typed term $t$ after applying a |
493 \item [$\at\{term_style~s~t\}$] prints a well-typed term $t$ after |
493 style $s$ to it (see below). |
494 applying a style $s$ to it; otherwise behaves the same as $\at\{term~t\}$. |
|
495 |
494 |
496 \item [$\at\{text~s\}$] prints uninterpreted source text $s$. This is |
495 \item [$\at\{text~s\}$] prints uninterpreted source text $s$. This is |
497 particularly useful to print portions of text according to the Isabelle |
496 particularly useful to print portions of text according to the Isabelle |
498 {\LaTeX} output style, without demanding well-formedness (e.g.\ small pieces |
497 {\LaTeX} output style, without demanding well-formedness (e.g.\ small pieces |
499 of terms that should not be parsed or type-checked yet). |
498 of terms that should not be parsed or type-checked yet). |
501 \item [$\at\{goals\}$] prints the current \emph{dynamic} goal state. This is |
500 \item [$\at\{goals\}$] prints the current \emph{dynamic} goal state. This is |
502 mainly for support of tactic-emulation scripts within Isar --- presentation |
501 mainly for support of tactic-emulation scripts within Isar --- presentation |
503 of goal states does not conform to actual human-readable proof documents. |
502 of goal states does not conform to actual human-readable proof documents. |
504 Please do not include goal states into document output unless you really |
503 Please do not include goal states into document output unless you really |
505 know what you are doing! |
504 know what you are doing! |
506 |
505 |
507 \item [$\at\{subgoals\}$] behaves almost like $goals$, except that it does not |
506 \item [$\at\{subgoals\}$] is similar to $goals$, but does not print the main |
508 print the main goal. |
507 goal. |
509 |
508 |
510 \item [$\at\{prf~\vec a\}$] prints the (compact) proof terms corresponding to |
509 \item [$\at\{prf~\vec a\}$] prints the (compact) proof terms corresponding to |
511 the theorems $\vec a$. Note that this |
510 the theorems $\vec a$. Note that this requires proof terms to be switched on |
512 requires proof terms to be switched on for the current object logic |
511 for the current object logic (see the ``Proof terms'' section of the |
513 (see the ``Proof terms'' section of the Isabelle reference manual |
512 Isabelle reference manual for information on how to do this). |
514 for information on how to do this). |
513 |
515 |
514 \item [$\at\{full_prf~\vec a\}$] is like $\at\{prf~\vec a\}$, but displays the |
516 \item [$\at\{full_prf~\vec a\}$] is like $\at\{prf~\vec a\}$, but displays |
515 full proof terms, i.e.\ also displays information omitted in the compact |
517 the full proof terms, i.e.\ also displays information omitted in |
516 proof term, which is denoted by ``$_$'' placeholders there. |
518 the compact proof term, which is denoted by ``$_$'' placeholders there. |
|
519 |
517 |
520 \end{descr} |
518 \end{descr} |
521 |
519 |
522 There are a few standard styles for use with $\at\{thm_style~s~a\}$ and |
520 \medskip |
523 $\at\{term_style~s~t\}$: |
521 |
|
522 The following standard styles for use with $thm_style$ and $term_style$ are |
|
523 available: |
524 |
524 |
525 \begin{descr} |
525 \begin{descr} |
526 |
526 |
527 \item [$lhs$] extracts the first argument of any application form with at |
527 \item [$lhs$] extracts the first argument of any application form with at |
528 least two arguments -- typically is meta-level or object-level equality or |
528 least two arguments -- typically meta-level or object-level equality, or any |
529 any other binary relation. |
529 other binary relation. |
530 |
530 |
531 \item [$rhs$] similar to $lhs$, but extracts the second argument. |
531 \item [$rhs$] is like $lhs$, but extracts the second argument. |
532 |
532 |
533 \item [$conlusion$] extracts the conclusion $C$ from nested meta-level |
533 \item [$concl$] extracts the conclusion $C$ from a nested meta-level |
534 implications $A@1 \Imp \cdots A@n \Imp C$. |
534 implication $A@1 \Imp \cdots A@n \Imp C$. |
|
535 |
|
536 \item [$prem1$, \dots, $prem9$] extract premise number $1$, \dots, $9$, |
|
537 respectively, from a nested meta-level implication $A@1 \Imp \cdots A@n \Imp |
|
538 C$. |
535 |
539 |
536 \end{descr} |
540 \end{descr} |
537 |
|
538 Further styles may be defined at ML level. |
|
539 |
541 |
540 \medskip |
542 \medskip |
541 |
543 |
542 The following options are available to tune the output. Note that most of |
544 The following options are available to tune the output. Note that most of |
543 these coincide with ML flags of the same names (see also \cite{isabelle-ref}). |
545 these coincide with ML flags of the same names (see also \cite{isabelle-ref}). |