358 the current theory or proof context can be ensured. The $text$ antiquotation |
358 the current theory or proof context can be ensured. The $text$ antiquotation |
359 is an exception to this rule: it prints an uninterpreted text argument that is |
359 is an exception to this rule: it prints an uninterpreted text argument that is |
360 not checked in any way. |
360 not checked in any way. |
361 |
361 |
362 \indexisarant{thm}\indexisarant{prop}\indexisarant{term} |
362 \indexisarant{thm}\indexisarant{prop}\indexisarant{term} |
363 \indexisarant{typ}\indexisarant{name} |
363 \indexisarant{typ}\indexisarant{text}\indexisarant{goals} |
364 \begin{rail} |
364 \begin{rail} |
365 atsign lbrace antiquotation rbrace |
365 atsign lbrace antiquotation rbrace |
366 ; |
366 ; |
367 |
367 |
368 antiquotation: |
368 antiquotation: |
369 'thm' options thmrefs | |
369 'thm' options thmrefs | |
370 'prop' options prop | |
370 'prop' options prop | |
371 'term' options term | |
371 'term' options term | |
372 'typ' options type | |
372 'typ' options type | |
373 'text' options name |
373 'text' options name | |
|
374 'goals' options name |
374 ; |
375 ; |
375 options: '[' (option * ',') ']' |
376 options: '[' (option * ',') ']' |
376 ; |
377 ; |
377 option: name | name '=' name |
378 option: name | name '=' name |
378 ; |
379 ; |
379 \end{rail} |
380 \end{rail} |
380 |
381 |
381 Note that the syntax of antiquotations may \emph{not} include source comments |
382 Note that the syntax of antiquotations may \emph{not} include source comments |
382 \texttt{(*~\dots~*)} or verbatim text \verb|{*|~\dots~\verb|*}|. |
383 \texttt{(*~\dots~*)} or verbatim text \verb|{*|~\dots~\verb|*}|. |
|
384 |
|
385 \begin{descr} |
|
386 \item [\texttt{{\at}{\ttlbrace}thm~$\vec a${\ttrbrace}}] prints theorems $\vec |
|
387 a$. Note that attribute specifications may be included as well (see also |
|
388 \S\ref{sec:syn-att}); the $no_vars$ operation (see \S\ref{sec:misc-methods}) |
|
389 would be particularly useful to suppress printing of schematic variables. |
|
390 \item [\texttt{{\at}{\ttlbrace}prop~$\phi${\ttrbrace}}] prints a well-typed |
|
391 proposition $\phi$. |
|
392 \item [\texttt{{\at}{\ttlbrace}term~$t${\ttrbrace}}] prints a well-typed term |
|
393 $t$. |
|
394 \item [\texttt{{\at}{\ttlbrace}typ~$\tau${\ttrbrace}}] prints a well-formed |
|
395 type $\tau$. |
|
396 \item [\texttt{{\at}{\ttlbrace}text~$s${\ttrbrace}}] prints uninterpreted |
|
397 source text $s$. This is particularly useful to print portions of text |
|
398 according to the Isabelle {\LaTeX} output style, without demanding |
|
399 well-formedness (e.g.\ small pieces of terms that cannot be parsed or |
|
400 type-checked yet). |
|
401 \item [\texttt{{\at}{\ttlbrace}goals{\ttrbrace}}] prints the current |
|
402 \emph{dynamic} goal state. This is only for support of tactic-emulation |
|
403 scripts within Isar --- presentation of goal states does not conform to |
|
404 actual human-readable proof documents. |
|
405 |
|
406 Please do not include goal states into document output unless you really |
|
407 know what you are doing! |
|
408 \end{descr} |
383 |
409 |
384 \medskip |
410 \medskip |
385 |
411 |
386 The following options are available to tune the output. Note that some of |
412 The following options are available to tune the output. Note that some of |
387 these coincide with ML flags of the same names (see also \cite{isabelle-ref}). |
413 these coincide with ML flags of the same names (see also \cite{isabelle-ref}). |
404 pretty printing of display material. |
430 pretty printing of display material. |
405 \item[$source = bool$] prints the source text of the antiquotation arguments, |
431 \item[$source = bool$] prints the source text of the antiquotation arguments, |
406 rather than the actual value. Note that this does not affect |
432 rather than the actual value. Note that this does not affect |
407 well-formedness checks of $thm$, $term$, etc. (only the $text$ antiquotation |
433 well-formedness checks of $thm$, $term$, etc. (only the $text$ antiquotation |
408 admits arbitrary output). |
434 admits arbitrary output). |
|
435 \item[$goals_limit = nat$] determines the maximum number of goals to be |
|
436 printed. |
409 \end{descr} |
437 \end{descr} |
410 |
438 |
411 For boolean flags, ``$name = true$'' may be abbreviated as ``$name$''. All of |
439 For boolean flags, ``$name = true$'' may be abbreviated as ``$name$''. All of |
412 the above flags are disabled by default, unless changed from ML. |
440 the above flags are disabled by default, unless changed from ML. |
413 |
441 |