doc-src/IsarRef/generic.tex
changeset 12879 8e1cae1de136
parent 12621 48cafea0684b
child 12967 c61def7021e8
equal deleted inserted replaced
12878:2896f88180b9 12879:8e1cae1de136
    23 \cite{Wenzel:1997:TPHOL}.  There is also a tutorial on using axiomatic type
    23 \cite{Wenzel:1997:TPHOL}.  There is also a tutorial on using axiomatic type
    24 classes in isabelle \cite{isabelle-axclass} that is part of the standard
    24 classes in isabelle \cite{isabelle-axclass} that is part of the standard
    25 Isabelle documentation.
    25 Isabelle documentation.
    26 
    26 
    27 \begin{rail}
    27 \begin{rail}
    28   'axclass' classdecl (axmdecl prop comment? +)
    28   'axclass' classdecl (axmdecl prop +)
    29   ;
    29   ;
    30   'instance' (nameref ('<' | subseteq) nameref | nameref '::' simplearity) comment?
    30   'instance' (nameref ('<' | subseteq) nameref | nameref '::' simplearity)
    31   ;
    31   ;
    32 \end{rail}
    32 \end{rail}
    33 
    33 
    34 \begin{descr}
    34 \begin{descr}
    35 \item [$\AXCLASS~c \subseteq \vec c~axms$] defines an axiomatic type class as
    35 \item [$\AXCLASS~c \subseteq \vec c~axms$] defines an axiomatic type class as
    77 claim.  According to the nature of existential reasoning, assumptions get
    77 claim.  According to the nature of existential reasoning, assumptions get
    78 eliminated from any result exported from the context later, provided that the
    78 eliminated from any result exported from the context later, provided that the
    79 corresponding parameters do \emph{not} occur in the conclusion.
    79 corresponding parameters do \emph{not} occur in the conclusion.
    80 
    80 
    81 \begin{rail}
    81 \begin{rail}
    82   'obtain' (vars + 'and') comment? \\ 'where' (props comment? + 'and')
    82   'obtain' (vars + 'and') 'where' (props + 'and')
    83   ;
    83   ;
    84 \end{rail}
    84 \end{rail}
    85 
    85 
    86 $\OBTAINNAME$ is defined as a derived Isar command as follows, where $\vec b$
    86 $\OBTAINNAME$ is defined as a derived Isar command as follows, where $\vec b$
    87 shall refer to (optional) facts indicated for forward chaining.
    87 shall refer to (optional) facts indicated for forward chaining.
   161   \MOREOVER & \equiv & \NOTE{calculation}{calculation~this} \\
   161   \MOREOVER & \equiv & \NOTE{calculation}{calculation~this} \\
   162   \ULTIMATELY & \equiv & \MOREOVER~\FROM{calculation} \\
   162   \ULTIMATELY & \equiv & \MOREOVER~\FROM{calculation} \\
   163 \end{matharray}
   163 \end{matharray}
   164 
   164 
   165 \begin{rail}
   165 \begin{rail}
   166   ('also' | 'finally') transrules? comment?
   166   ('also' | 'finally') transrules?
   167   ;
       
   168   ('moreover' | 'ultimately') comment?
       
   169   ;
   167   ;
   170   'trans' (() | 'add' | 'del')
   168   'trans' (() | 'add' | 'del')
   171   ;
   169   ;
   172 
   170 
   173   transrules: '(' thmrefs ')' interest?
   171   transrules: '(' thmrefs ')'
   174   ;
   172   ;
   175 \end{rail}
   173 \end{rail}
   176 
   174 
   177 \begin{descr}
   175 \begin{descr}
   178 \item [$\ALSO~(\vec a)$] maintains the auxiliary $calculation$ register as
   176 \item [$\ALSO~(\vec a)$] maintains the auxiliary $calculation$ register as
   191   ``$\FINALLY~\HAVE{}{\phi}~\DOT$'' are typical idioms for concluding
   189   ``$\FINALLY~\HAVE{}{\phi}~\DOT$'' are typical idioms for concluding
   192   calculational proofs.
   190   calculational proofs.
   193 
   191 
   194 \item [$\MOREOVER$ and $\ULTIMATELY$] are analogous to $\ALSO$ and $\FINALLY$,
   192 \item [$\MOREOVER$ and $\ULTIMATELY$] are analogous to $\ALSO$ and $\FINALLY$,
   195   but collect results only, without applying rules.
   193   but collect results only, without applying rules.
   196 
   194   
   197 \item [$\isarkeyword{print_trans_rules}$] prints the list of transitivity
   195 \item [$\isarkeyword{print_trans_rules}$] prints the list of transitivity (and
   198   rules declared in the current context.
   196   symmetry) rules declared in the current context.
   199 
   197 
   200 \item [$trans$] declares theorems as transitivity rules.
   198 \item [$trans$] declares theorems as transitivity rules.
   201 
   199 
   202 \end{descr}
   200 \end{descr}
   203 
   201