equal
deleted
inserted
replaced
1 |
1 |
2 \chapter{Isabelle/HOL Tools and Packages}\label{ch:hol-tools} |
2 \chapter{Isabelle/HOL Tools and Packages}\label{ch:hol-tools} |
|
3 |
|
4 \section{Miscellaneous attributes} |
|
5 |
|
6 \indexisaratt{rulify}\indexisaratt{rulify-prems} |
|
7 \begin{matharray}{rcl} |
|
8 rulify & : & \isaratt \\ |
|
9 rulify_prems & : & \isaratt \\ |
|
10 \end{matharray} |
|
11 |
|
12 \begin{descr} |
|
13 |
|
14 \item [$rulify$] puts a theorem into object-rule form, replacing implication |
|
15 and universal quantification of HOL by the corresponding meta-logical |
|
16 connectives. This is the same operation as performed by the |
|
17 \texttt{qed_spec_mp} ML function. |
|
18 |
|
19 \item [$rulify_prems$] is similar to $rulify$, but acts on the premises of a |
|
20 rule. |
|
21 |
|
22 \end{descr} |
|
23 |
3 |
24 |
4 \section{Primitive types} |
25 \section{Primitive types} |
5 |
26 |
6 \indexisarcmd{typedecl}\indexisarcmd{typedef} |
27 \indexisarcmd{typedecl}\indexisarcmd{typedef} |
7 \begin{matharray}{rcl} |
28 \begin{matharray}{rcl} |
117 |
138 |
118 |
139 |
119 \section{(Co)Inductive sets} |
140 \section{(Co)Inductive sets} |
120 |
141 |
121 \indexisarcmd{inductive}\indexisarcmd{coinductive}\indexisarcmd{inductive-cases} |
142 \indexisarcmd{inductive}\indexisarcmd{coinductive}\indexisarcmd{inductive-cases} |
|
143 \indexisaratt{mono} |
122 \begin{matharray}{rcl} |
144 \begin{matharray}{rcl} |
123 \isarcmd{inductive} & : & \isartrans{theory}{theory} \\ |
145 \isarcmd{inductive} & : & \isartrans{theory}{theory} \\ |
124 \isarcmd{coinductive} & : & \isartrans{theory}{theory} \\ |
146 \isarcmd{coinductive} & : & \isartrans{theory}{theory} \\ |
|
147 mono & : & \isaratt \\ |
125 \isarcmd{inductive_cases} & : & \isartrans{theory}{theory} \\ |
148 \isarcmd{inductive_cases} & : & \isartrans{theory}{theory} \\ |
126 \end{matharray} |
149 \end{matharray} |
127 |
150 |
128 \railalias{condefs}{con\_defs} |
151 \railalias{condefs}{con\_defs} |
129 \railalias{indcases}{inductive\_cases} |
152 \railalias{indcases}{inductive\_cases} |
134 'intrs' attributes? (thmdecl? prop comment? +) \\ |
157 'intrs' attributes? (thmdecl? prop comment? +) \\ |
135 'monos' thmrefs comment? \\ condefs thmrefs comment? |
158 'monos' thmrefs comment? \\ condefs thmrefs comment? |
136 ; |
159 ; |
137 indcases thmdef? nameref ':' \\ (prop +) comment? |
160 indcases thmdef? nameref ':' \\ (prop +) comment? |
138 ; |
161 ; |
|
162 'mono' (() | 'add' | 'del') |
|
163 ; |
139 \end{rail} |
164 \end{rail} |
140 |
165 |
141 \begin{descr} |
166 \begin{descr} |
142 \item [$\isarkeyword{inductive}$ and $\isarkeyword{coinductive}$] define |
167 \item [$\isarkeyword{inductive}$ and $\isarkeyword{coinductive}$] define |
143 (co)inductive sets from the given introduction rules. |
168 (co)inductive sets from the given introduction rules. |
|
169 \item [$mono$] adds or deletes monotonicity rules from the theory or proof |
|
170 context (the default is to add). These rule are involved in the automated |
|
171 monotonicity proof of $\isarkeyword{inductive}$. |
144 \item [$\isarkeyword{inductive_cases}$] creates simplified instances of |
172 \item [$\isarkeyword{inductive_cases}$] creates simplified instances of |
145 elimination rules of (co)inductive sets. |
173 elimination rules of (co)inductive sets. |
146 \end{descr} |
174 \end{descr} |
147 |
175 |
148 See \cite{isabelle-HOL} for more information. Note that |
176 See \cite{isabelle-HOL} for more information. Note that |