doc-src/IsarRef/syntax.tex
changeset 10319 02463775cafb
parent 10160 bb8f9412fec6
child 10336 209f502b55f7
equal deleted inserted replaced
10318:e47c221beded 10319:02463775cafb
   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