equal
deleted
inserted
replaced
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 |