3 \item {\tt !} symbol, 60, 62, 69, 70
4 \item {\tt[]} symbol, 81
5 \item {\tt\#} symbol, 81
6 \item {\tt\#*} symbol, 47, 123
7 \item {\tt\#+} symbol, 47, 123
8 \item {\tt\#-} symbol, 47
9 \item {\tt\&} symbol, 7, 60, 100
10 \item {\tt *} symbol, 26, 61, 78, 114
11 \item {\tt *} type, 76
12 \item {\tt +} symbol, 43, 61, 78, 114
13 \item {\tt +} type, 76
14 \item {\tt -} symbol, 25, 61, 78, 123
15 \item {\tt -->} symbol, 7, 60, 100, 114
16 \item {\tt ->} symbol, 26
17 \item {\tt -``} symbol, 25
18 \item {\tt :} symbol, 25, 68
19 \item {\tt <} constant, 79
20 \item {\tt <} symbol, 78
21 \item {\tt <->} symbol, 7, 100
22 \item {\tt <=} constant, 79
23 \item {\tt <=} symbol, 25, 68
24 \item {\tt =} symbol, 7, 60, 100, 114
25 \item {\tt ?} symbol, 60, 62, 69, 70
26 \item {\tt ?!} symbol, 60
27 \item {\tt\at} symbol, 60, 81
28 \item {\tt `} symbol, 25, 114
29 \item {\tt ``} symbol, 25, 68
30 \item \verb'{}' symbol, 68
31 \item {\tt |} symbol, 7, 60, 100
32 \item {\tt |-|} symbol, 123
36 \item {\tt 0} constant, 25, 78, 112
40 \item {\tt absdiff_def} theorem, 123
41 \item {\tt add_assoc} theorem, 123
42 \item {\tt add_commute} theorem, 123
43 \item {\tt add_def} theorem, 47, 123
44 \item {\tt add_inverse_diff} theorem, 123
45 \item {\tt add_mp_tac}, \bold{121}
46 \item {\tt add_mult_dist} theorem, 47, 123
47 \item {\tt add_safes}, \bold{106}
48 \item {\tt add_typing} theorem, 123
49 \item {\tt add_unsafes}, \bold{106}
50 \item {\tt addC0} theorem, 123
51 \item {\tt addC_succ} theorem, 123
52 \item {\tt ALL} symbol, 7, 26, 60, 62, 69, 70, 100
53 \item {\tt All} constant, 7, 60, 100
54 \item {\tt All_def} theorem, 64
55 \item {\tt all_dupE} theorem, 5, 9, 66
56 \item {\tt all_impE} theorem, 9
57 \item {\tt allE} theorem, 5, 9, 66
58 \item {\tt allI} theorem, 8, 66
59 \item {\tt allL} theorem, 102, 105
60 \item {\tt allL_thin} theorem, 103
61 \item {\tt allR} theorem, 102
62 \item {\tt and_def} theorem, 42, 64
63 \item {\tt app_def} theorem, 49
64 \item {\tt apply_def} theorem, 31
65 \item {\tt apply_equality} theorem, 39, 40, 57
66 \item {\tt apply_equality2} theorem, 39
67 \item {\tt apply_iff} theorem, 39
68 \item {\tt apply_Pair} theorem, 39, 57
69 \item {\tt apply_type} theorem, 39
70 \item {\tt arg_cong} theorem, 65
71 \item {\tt Arith} theory, 46, 79, 122
73 \subitem contradictory, 16
74 \subitem in {\CTT}, 111, 121
78 \item {\tt Ball} constant, 25, 29, 68, 70
79 \item {\tt ball_cong} theorem, 32, 33
80 \item {\tt Ball_def} theorem, 30, 71
81 \item {\tt ballE} theorem, 32, 33, 72
82 \item {\tt ballI} theorem, 33, 72
83 \item {\tt basic} theorem, 102
84 \item {\tt basic_defs}, \bold{119}
85 \item {\tt best_tac}, \bold{107}
86 \item {\tt beta} theorem, 39, 40
87 \item {\tt Bex} constant, 25, 29, 68, 70
88 \item {\tt bex_cong} theorem, 32, 33
89 \item {\tt Bex_def} theorem, 30, 71
90 \item {\tt bexCI} theorem, 33, 70, 72
91 \item {\tt bexE} theorem, 33, 72
92 \item {\tt bexI} theorem, 33, 70, 72
93 \item {\tt bij} constant, 45
94 \item {\tt bij_converse_bij} theorem, 45
95 \item {\tt bij_def} theorem, 45
96 \item {\tt bij_disjoint_Un} theorem, 45
97 \item {\tt Blast_tac}, 54--56
98 \item {\tt blast_tac}, 18, 20, 21
99 \item {\tt bnd_mono_def} theorem, 44
100 \item {\tt Bool} theory, 40
101 \item {\tt bool} type, 61
102 \item {\tt bool_0I} theorem, 42
103 \item {\tt bool_1I} theorem, 42
104 \item {\tt bool_def} theorem, 42
105 \item {\tt boolE} theorem, 42
106 \item {\tt box_equals} theorem, 65, 67
107 \item {\tt bspec} theorem, 33, 72
111 \item {\tt case} constant, 43
112 \item {\tt case} symbol, 63, 79, 80, 86
113 \item {\tt case_def} theorem, 43
114 \item {\tt case_Inl} theorem, 43
115 \item {\tt case_Inr} theorem, 43
116 \item {\tt case_tac}, \bold{67}
117 \item {\tt CCL} theory, 1
118 \item {\tt ccontr} theorem, 66
119 \item {\tt classical} theorem, 66
120 \item {\tt coinduct} theorem, 44
121 \item {\tt coinductive}, 92--95
122 \item {\tt Collect} constant, 25, 26, 29, 68, 70
123 \item {\tt Collect_def} theorem, 30
124 \item {\tt Collect_mem_eq} theorem, 70, 71
125 \item {\tt Collect_subset} theorem, 36
126 \item {\tt CollectD} theorem, 72, 97
127 \item {\tt CollectD1} theorem, 32, 34
128 \item {\tt CollectD2} theorem, 32, 34
129 \item {\tt CollectE} theorem, 32, 34, 72
130 \item {\tt CollectI} theorem, 34, 72, 98
131 \item {\tt comp_assoc} theorem, 45
132 \item {\tt comp_bij} theorem, 45
133 \item {\tt comp_def} theorem, 45
134 \item {\tt comp_func} theorem, 45
135 \item {\tt comp_func_apply} theorem, 45
136 \item {\tt comp_inj} theorem, 45
137 \item {\tt comp_rls}, \bold{119}
138 \item {\tt comp_surj} theorem, 45
139 \item {\tt comp_type} theorem, 45
140 \item {\tt Compl} constant, 68
141 \item {\tt Compl_def} theorem, 71
142 \item {\tt Compl_disjoint} theorem, 74
143 \item {\tt Compl_Int} theorem, 74
144 \item {\tt Compl_partition} theorem, 74
145 \item {\tt Compl_Un} theorem, 74
146 \item {\tt ComplD} theorem, 73
147 \item {\tt ComplI} theorem, 73
148 \item {\tt concat} constant, 81
149 \item {\tt cond_0} theorem, 42
150 \item {\tt cond_1} theorem, 42
151 \item {\tt cond_def} theorem, 42
152 \item {\tt cong} theorem, 65
153 \item congruence rules, 32
154 \item {\tt conj_cong}, 6, 75
155 \item {\tt conj_impE} theorem, 9, 10
156 \item {\tt conjE} theorem, 9, 65
157 \item {\tt conjI} theorem, 8, 65
158 \item {\tt conjL} theorem, 102
159 \item {\tt conjR} theorem, 102
160 \item {\tt conjunct1} theorem, 8, 65
161 \item {\tt conjunct2} theorem, 8, 65
162 \item {\tt conL} theorem, 103
163 \item {\tt conR} theorem, 103
164 \item {\tt cons} constant, 25, 26
165 \item {\tt cons_def} theorem, 31
166 \item {\tt Cons_iff} theorem, 49
167 \item {\tt consCI} theorem, 35
168 \item {\tt consE} theorem, 35
169 \item {\tt ConsI} theorem, 49
170 \item {\tt consI1} theorem, 35
171 \item {\tt consI2} theorem, 35
172 \item Constructive Type Theory, 111--133
173 \item {\tt contr} constant, 112
174 \item {\tt converse} constant, 25, 39
175 \item {\tt converse_def} theorem, 31
176 \item {\tt could_res}, \bold{104}
177 \item {\tt could_resolve_seq}, \bold{105}
178 \item {\tt CTT} theory, 1, 111
179 \item {\tt Cube} theory, 1
180 \item {\tt cut} theorem, 102
181 \item {\tt cut_facts_tac}, 18, 19, 56
182 \item {\tt cutL_tac}, \bold{104}
183 \item {\tt cutR_tac}, \bold{104}
187 \item {\tt datatype}, 85--92
188 \item {\tt deepen_tac}, 16
189 \item {\tt diff_0_eq_0} theorem, 123
190 \item {\tt Diff_cancel} theorem, 41
191 \item {\tt Diff_contains} theorem, 36
192 \item {\tt Diff_def} theorem, 30
193 \item {\tt diff_def} theorem, 47, 123
194 \item {\tt Diff_disjoint} theorem, 41
195 \item {\tt Diff_Int} theorem, 41
196 \item {\tt Diff_partition} theorem, 41
197 \item {\tt diff_self_eq_0} theorem, 123
198 \item {\tt Diff_subset} theorem, 36
199 \item {\tt diff_succ_succ} theorem, 123
200 \item {\tt diff_typing} theorem, 123
201 \item {\tt Diff_Un} theorem, 41
202 \item {\tt diffC0} theorem, 123
203 \item {\tt DiffD1} theorem, 35
204 \item {\tt DiffD2} theorem, 35
205 \item {\tt DiffE} theorem, 35
206 \item {\tt DiffI} theorem, 35
207 \item {\tt disj_impE} theorem, 9, 10, 14
208 \item {\tt disjCI} theorem, 11, 66
209 \item {\tt disjE} theorem, 8, 65
210 \item {\tt disjI1} theorem, 8, 65
211 \item {\tt disjI2} theorem, 8, 65
212 \item {\tt disjL} theorem, 102
213 \item {\tt disjR} theorem, 102
214 \item {\tt div} symbol, 47, 78, 123
215 \item {\tt div_def} theorem, 47, 123
216 \item {\tt div_geq} theorem, 79
217 \item {\tt div_less} theorem, 79
218 \item {\tt domain} constant, 25, 39
219 \item {\tt domain_def} theorem, 31
220 \item {\tt domain_of_fun} theorem, 39
221 \item {\tt domain_subset} theorem, 38
222 \item {\tt domain_type} theorem, 39
223 \item {\tt domainE} theorem, 38, 39
224 \item {\tt domainI} theorem, 38, 39
225 \item {\tt double_complement} theorem, 41, 74
226 \item {\tt dresolve_tac}, 53
227 \item {\tt drop} constant, 81
228 \item {\tt dropWhile} constant, 81
232 \item {\tt Elem} constant, 112
233 \item {\tt elim_rls}, \bold{119}
234 \item {\tt elimL_rls}, \bold{119}
235 \item {\tt empty_def} theorem, 71
236 \item {\tt empty_pack}, \bold{105}
237 \item {\tt empty_subsetI} theorem, 33
238 \item {\tt emptyE} theorem, 33, 73
239 \item {\tt Eps} constant, 60, 62
240 \item {\tt Eq} constant, 112
241 \item {\tt eq} constant, 112, 117
242 \item {\tt eq_mp_tac}, \bold{10}
243 \item {\tt EqC} theorem, 118
244 \item {\tt EqE} theorem, 118
245 \item {\tt Eqelem} constant, 112
246 \item {\tt EqF} theorem, 118
247 \item {\tt EqFL} theorem, 118
248 \item {\tt EqI} theorem, 118
249 \item {\tt Eqtype} constant, 112
250 \item {\tt equal_tac}, \bold{120}
251 \item {\tt equal_types} theorem, 115
252 \item {\tt equal_typesL} theorem, 115
253 \item {\tt equalityCE} theorem, 70, 72, 97, 98
254 \item {\tt equalityD1} theorem, 33, 72
255 \item {\tt equalityD2} theorem, 33, 72
256 \item {\tt equalityE} theorem, 33, 72
257 \item {\tt equalityI} theorem, 33, 52, 72
258 \item {\tt equals0D} theorem, 33
259 \item {\tt equals0I} theorem, 33
260 \item {\tt eresolve_tac}, 16
261 \item {\tt eta} theorem, 39, 40
262 \item {\tt EX} symbol, 7, 26, 60, 62, 69, 70, 100
263 \item {\tt Ex} constant, 7, 60, 100
264 \item {\tt EX!} symbol, 7, 60
265 \item {\tt Ex1} constant, 7, 60
266 \item {\tt Ex1_def} theorem, 64
267 \item {\tt ex1_def} theorem, 8
268 \item {\tt ex1E} theorem, 9, 66
269 \item {\tt ex1I} theorem, 9, 66
270 \item {\tt Ex_def} theorem, 64
271 \item {\tt ex_impE} theorem, 9
272 \item {\tt exCI} theorem, 11, 15, 66
273 \item {\tt excluded_middle} theorem, 11, 66
274 \item {\tt exE} theorem, 8, 66
275 \item {\tt exhaust_tac}, \bold{88}
276 \item {\tt exI} theorem, 8, 66
277 \item {\tt exL} theorem, 102
278 \item {\tt Exp} theory, 96
279 \item {\tt expand_if} theorem, 66
280 \item {\tt expand_split} theorem, 76
281 \item {\tt expand_sum_case} theorem, 78
282 \item {\tt exR} theorem, 102, 105, 107
283 \item {\tt exR_thin} theorem, 103, 107, 108
284 \item {\tt ext} theorem, 63, 64
285 \item {\tt extension} theorem, 30
289 \item {\tt F} constant, 112
290 \item {\tt False} constant, 7, 60, 100
291 \item {\tt False_def} theorem, 64
292 \item {\tt FalseE} theorem, 8, 65
293 \item {\tt FalseL} theorem, 102
294 \item {\tt fast_tac}, \bold{107}
295 \item {\tt FE} theorem, 118, 122
296 \item {\tt FEL} theorem, 118
297 \item {\tt FF} theorem, 118
298 \item {\tt field} constant, 25
299 \item {\tt field_def} theorem, 31
300 \item {\tt field_subset} theorem, 38
301 \item {\tt fieldCI} theorem, 38
302 \item {\tt fieldE} theorem, 38
303 \item {\tt fieldI1} theorem, 38
304 \item {\tt fieldI2} theorem, 38
305 \item {\tt filseq_resolve_tac}, \bold{105}
306 \item {\tt filt_resolve_tac}, 105, 120
307 \item {\tt filter} constant, 81
308 \item {\tt Fin.consI} theorem, 48
309 \item {\tt Fin.emptyI} theorem, 48
310 \item {\tt Fin_induct} theorem, 48
311 \item {\tt Fin_mono} theorem, 48
312 \item {\tt Fin_subset} theorem, 48
313 \item {\tt Fin_UnI} theorem, 48
314 \item {\tt Fin_UnionI} theorem, 48
315 \item first-order logic, 5--22
316 \item {\tt Fixedpt} theory, 42
317 \item {\tt flat} constant, 49
318 \item {\tt flat_def} theorem, 49
319 \item flex-flex constraints, 99
320 \item {\tt FOL} theory, 1, 5, 11, 121
321 \item {\tt FOL_cs}, \bold{11}
322 \item {\tt FOL_ss}, \bold{6}
323 \item {\tt foldl} constant, 81
324 \item {\tt form_rls}, \bold{119}
325 \item {\tt formL_rls}, \bold{119}
326 \item {\tt forms_of_seq}, \bold{104}
327 \item {\tt foundation} theorem, 30
328 \item {\tt fst} constant, 25, 29, 76, 112, 117
329 \item {\tt fst_conv} theorem, 37, 76
330 \item {\tt fst_def} theorem, 31, 117
331 \item {\tt Fun} theory, 75
332 \item {\tt fun} type, 61
333 \item {\tt fun_cong} theorem, 65
334 \item {\tt fun_disjoint_apply1} theorem, 40, 56
335 \item {\tt fun_disjoint_apply2} theorem, 40
336 \item {\tt fun_disjoint_Un} theorem, 40, 58
337 \item {\tt fun_empty} theorem, 40
338 \item {\tt fun_extension} theorem, 39, 40
339 \item {\tt fun_is_rel} theorem, 39
340 \item {\tt fun_single} theorem, 40
341 \item function applications
342 \subitem in \CTT, 114
347 \item {\tt gfp_def} theorem, 44
348 \item {\tt gfp_least} theorem, 44
349 \item {\tt gfp_mono} theorem, 44
350 \item {\tt gfp_subset} theorem, 44
351 \item {\tt gfp_Tarski} theorem, 44
352 \item {\tt gfp_upperbound} theorem, 44
353 \item {\tt goalw}, 18
357 \item {\tt hd} constant, 81
358 \item higher-order logic, 59--98
359 \item {\tt HOL} theory, 1, 59
360 \item {\sc hol} system, 59, 62
361 \item {\tt HOL_basic_ss}, \bold{75}
362 \item {\tt HOL_cs}, \bold{76}
363 \item {\tt HOL_quantifiers}, \bold{62}, 70
364 \item {\tt HOL_ss}, \bold{75}
365 \item {\tt HOLCF} theory, 1
366 \item {\tt hyp_rew_tac}, \bold{121}
367 \item {\tt hyp_subst_tac}, 6, 75
371 \item {\tt i} type, 24, 111
372 \item {\tt id} constant, 45
373 \item {\tt id_def} theorem, 45
374 \item {\tt If} constant, 60
375 \item {\tt if} constant, 25
376 \item {\tt if_def} theorem, 17, 30, 64
377 \item {\tt if_not_P} theorem, 35, 66
378 \item {\tt if_P} theorem, 35, 66
379 \item {\tt ifE} theorem, 19
380 \item {\tt iff} theorem, 63, 64
381 \item {\tt iff_def} theorem, 8, 102
382 \item {\tt iff_impE} theorem, 9
383 \item {\tt iffCE} theorem, 11, 66, 70
384 \item {\tt iffD1} theorem, 9, 65
385 \item {\tt iffD2} theorem, 9, 65
386 \item {\tt iffE} theorem, 9, 65
387 \item {\tt iffI} theorem, 9, 19, 65
388 \item {\tt iffL} theorem, 103, 109
389 \item {\tt iffR} theorem, 103
390 \item {\tt ifI} theorem, 19
391 \item {\tt IFOL} theory, 5
392 \item {\tt IFOL_ss}, \bold{6}
393 \item {\tt image_def} theorem, 31, 71
394 \item {\tt imageE} theorem, 38, 73
395 \item {\tt imageI} theorem, 38, 73
396 \item {\tt imp_impE} theorem, 9, 14
397 \item {\tt impCE} theorem, 11, 66
398 \item {\tt impE} theorem, 9, 10, 65
399 \item {\tt impI} theorem, 8, 63
400 \item {\tt impL} theorem, 102
401 \item {\tt impR} theorem, 102
402 \item {\tt in} symbol, 27, 61
403 \item {\tt ind} type, 79
404 \item {\tt induct} theorem, 44
405 \item {\tt induct_tac}, 80, \bold{86}
406 \item {\tt inductive}, 92--95
407 \item {\tt Inf} constant, 25, 29
408 \item {\tt infinity} theorem, 31
409 \item {\tt inj} constant, 45, 75
410 \item {\tt inj_converse_inj} theorem, 45
411 \item {\tt inj_def} theorem, 45, 75
412 \item {\tt inj_Inl} theorem, 78
413 \item {\tt inj_Inr} theorem, 78
414 \item {\tt inj_onto} constant, 75
415 \item {\tt inj_onto_def} theorem, 75
416 \item {\tt inj_Suc} theorem, 78
417 \item {\tt Inl} constant, 43, 78
418 \item {\tt inl} constant, 112, 117, 127
419 \item {\tt Inl_def} theorem, 43
420 \item {\tt Inl_inject} theorem, 43
421 \item {\tt Inl_neq_Inr} theorem, 43
422 \item {\tt Inl_not_Inr} theorem, 78
423 \item {\tt Inr} constant, 43, 78
424 \item {\tt inr} constant, 112, 117
425 \item {\tt Inr_def} theorem, 43
426 \item {\tt Inr_inject} theorem, 43
427 \item {\tt insert} constant, 68
428 \item {\tt insert_def} theorem, 71
429 \item {\tt insertE} theorem, 73
430 \item {\tt insertI1} theorem, 73
431 \item {\tt insertI2} theorem, 73
432 \item {\tt INT} symbol, 26, 28, 68--70
433 \item {\tt Int} symbol, 25, 68
434 \item {\tt Int_absorb} theorem, 41, 74
435 \item {\tt Int_assoc} theorem, 41, 74
436 \item {\tt Int_commute} theorem, 41, 74
437 \item {\tt INT_D} theorem, 73
438 \item {\tt Int_def} theorem, 30, 71
439 \item {\tt INT_E} theorem, 34, 73
440 \item {\tt Int_greatest} theorem, 36, 52, 54, 74
441 \item {\tt INT_I} theorem, 34, 73
442 \item {\tt Int_Inter_image} theorem, 74
443 \item {\tt Int_lower1} theorem, 36, 53, 74
444 \item {\tt Int_lower2} theorem, 36, 53, 74
445 \item {\tt Int_Un_distrib} theorem, 41, 74
446 \item {\tt Int_Union} theorem, 74
447 \item {\tt Int_Union_RepFun} theorem, 41
448 \item {\tt IntD1} theorem, 35, 73
449 \item {\tt IntD2} theorem, 35, 73
450 \item {\tt IntE} theorem, 35, 53, 73
451 \item {\tt INTER} constant, 68
452 \item {\tt Inter} constant, 25, 68
453 \item {\tt INTER1} constant, 68
454 \item {\tt INTER1_def} theorem, 71
455 \item {\tt INTER_def} theorem, 71
456 \item {\tt Inter_def} theorem, 30, 71
457 \item {\tt Inter_greatest} theorem, 36, 74
458 \item {\tt Inter_lower} theorem, 36, 74
459 \item {\tt Inter_Un_distrib} theorem, 41, 74
460 \item {\tt InterD} theorem, 34, 73
461 \item {\tt InterE} theorem, 34, 73
462 \item {\tt InterI} theorem, 32, 34, 73
463 \item {\tt IntI} theorem, 35, 73
464 \item {\tt IntPr.best_tac}, \bold{11}
465 \item {\tt IntPr.fast_tac}, \bold{10}, 13
466 \item {\tt IntPr.inst_step_tac}, \bold{10}
467 \item {\tt IntPr.safe_step_tac}, \bold{10}
468 \item {\tt IntPr.safe_tac}, \bold{10}
469 \item {\tt IntPr.step_tac}, \bold{10}
470 \item {\tt intr_rls}, \bold{119}
471 \item {\tt intr_tac}, \bold{120}, 129, 130
472 \item {\tt intrL_rls}, \bold{119}
473 \item {\tt inv} constant, 75
474 \item {\tt inv_def} theorem, 75
478 \item {\tt lam} symbol, 26, 28, 114
479 \item {\tt lam_def} theorem, 31
480 \item {\tt lam_type} theorem, 39
481 \item {\tt Lambda} constant, 25, 28
482 \item {\tt lambda} constant, 112, 114
483 \item $\lambda$-abstractions
484 \subitem in \CTT, 114
486 \item {\tt lamE} theorem, 39, 40
487 \item {\tt lamI} theorem, 39, 40
488 \item {\tt LCF} theory, 1
489 \item {\tt le_cs}, \bold{23}
490 \item {\tt LEAST} constant, 61, 62, 79
491 \item {\tt Least} constant, 60
492 \item {\tt Least_def} theorem, 64
493 \item {\tt left_comp_id} theorem, 45
494 \item {\tt left_comp_inverse} theorem, 45
495 \item {\tt left_inverse} theorem, 45
496 \item {\tt length} constant, 49, 81
497 \item {\tt length_def} theorem, 49
498 \item {\tt less_induct} theorem, 80
499 \item {\tt Let} constant, 24, 25, 60, 63
500 \item {\tt let} symbol, 27, 61, 63
501 \item {\tt Let_def} theorem, 24, 30, 63, 64
502 \item {\tt LFilter} theory, 96
503 \item {\tt lfp_def} theorem, 44
504 \item {\tt lfp_greatest} theorem, 44
505 \item {\tt lfp_lowerbound} theorem, 44
506 \item {\tt lfp_mono} theorem, 44
507 \item {\tt lfp_subset} theorem, 44
508 \item {\tt lfp_Tarski} theorem, 44
509 \item {\tt List} theory, 80, 81
510 \item {\tt list} constant, 49
511 \item {\tt list} type, 80, 96
512 \item {\tt List.induct} theorem, 49
513 \item {\tt list_case} constant, 49
514 \item {\tt list_mono} theorem, 49
515 \item {\tt list_rec} constant, 49
516 \item {\tt list_rec_Cons} theorem, 49
517 \item {\tt list_rec_def} theorem, 49
518 \item {\tt list_rec_Nil} theorem, 49
519 \item {\tt LK} theory, 1, 99, 103
520 \item {\tt LK_dup_pack}, \bold{105}, 107
521 \item {\tt LK_pack}, \bold{105}
522 \item {\tt LList} theory, 96
523 \item {\tt logic} class, 5
527 \item {\tt map} constant, 49, 81
528 \item {\tt map_app_distrib} theorem, 49
529 \item {\tt map_compose} theorem, 49
530 \item {\tt map_def} theorem, 49
531 \item {\tt map_flat} theorem, 49
532 \item {\tt map_ident} theorem, 49
533 \item {\tt map_type} theorem, 49
534 \item {\tt max} constant, 61, 79
535 \item {\tt mem} symbol, 81
536 \item {\tt mem_asym} theorem, 35, 36
537 \item {\tt mem_Collect_eq} theorem, 70, 71
538 \item {\tt mem_irrefl} theorem, 35
539 \item {\tt min} constant, 61, 79
540 \item {\tt minus} class, 61
541 \item {\tt mod} symbol, 47, 78, 123
542 \item {\tt mod_def} theorem, 47, 123
543 \item {\tt mod_geq} theorem, 79
544 \item {\tt mod_less} theorem, 79
545 \item {\tt mod_quo_equality} theorem, 47
546 \item {\tt Modal} theory, 1
547 \item {\tt mono} constant, 61
548 \item {\tt mp} theorem, 8, 63
549 \item {\tt mp_tac}, \bold{10}, \bold{121}
550 \item {\tt mult_0} theorem, 47
551 \item {\tt mult_assoc} theorem, 47, 123
552 \item {\tt mult_commute} theorem, 47, 123
553 \item {\tt mult_def} theorem, 47, 123
554 \item {\tt mult_succ} theorem, 47
555 \item {\tt mult_type} theorem, 47
556 \item {\tt mult_typing} theorem, 123
557 \item {\tt multC0} theorem, 123
558 \item {\tt multC_succ} theorem, 123
562 \item {\tt N} constant, 112
563 \item {\tt n_not_Suc_n} theorem, 78
564 \item {\tt Nat} theory, 46, 79
565 \item {\tt nat} constant, 47
566 \item {\tt nat} type, 79
567 \item {\tt nat_0I} theorem, 47
568 \item {\tt nat_case} constant, 47
569 \item {\tt nat_case_0} theorem, 47
570 \item {\tt nat_case_def} theorem, 47
571 \item {\tt nat_case_succ} theorem, 47
572 \item {\tt nat_def} theorem, 47
573 \item {\tt nat_induct} theorem, 47, 78
574 \item {\tt nat_rec} constant, 80
575 \item {\tt nat_succI} theorem, 47
576 \item {\tt NatDef} theory, 79
577 \item {\tt NC0} theorem, 116
578 \item {\tt NC_succ} theorem, 116
579 \item {\tt NE} theorem, 115, 116, 124
580 \item {\tt NEL} theorem, 116
581 \item {\tt NF} theorem, 116, 125
582 \item {\tt NI0} theorem, 116
583 \item {\tt NI_succ} theorem, 116
584 \item {\tt NI_succL} theorem, 116
585 \item {\tt Nil_Cons_iff} theorem, 49
586 \item {\tt NilI} theorem, 49
587 \item {\tt NIO} theorem, 124
588 \item {\tt Not} constant, 7, 60, 100
589 \item {\tt not_def} theorem, 8, 42, 64
590 \item {\tt not_impE} theorem, 9
591 \item {\tt not_sym} theorem, 65
592 \item {\tt notE} theorem, 9, 10, 65
593 \item {\tt notI} theorem, 9, 65
594 \item {\tt notL} theorem, 102
595 \item {\tt notnotD} theorem, 11, 66
596 \item {\tt notR} theorem, 102
597 \item {\tt nth} constant, 81
598 \item {\tt null} constant, 81
602 \item {\tt O} symbol, 45
603 \item {\tt o} symbol, 60, 71
604 \item {\tt o} type, 5, 99
605 \item {\tt o_def} theorem, 64
606 \item {\tt of} symbol, 63
607 \item {\tt or_def} theorem, 42, 64
608 \item {\tt Ord} theory, 61
609 \item {\tt ord} class, 61, 62, 79
610 \item {\tt order} class, 61
614 \item {\tt pack} ML type, 105
615 \item {\tt Pair} constant, 25, 26, 76
616 \item {\tt pair} constant, 112
617 \item {\tt Pair_def} theorem, 31
618 \item {\tt Pair_eq} theorem, 76
619 \item {\tt Pair_inject} theorem, 37, 76
620 \item {\tt Pair_inject1} theorem, 37
621 \item {\tt Pair_inject2} theorem, 37
622 \item {\tt Pair_neq_0} theorem, 37
623 \item {\tt PairE} theorem, 76
624 \item {\tt pairing} theorem, 34
625 \item {\tt pc_tac}, \bold{106}, \bold{122}, 128, 129
626 \item {\tt Perm} theory, 42
627 \item {\tt Pi} constant, 25, 28, 40
628 \item {\tt Pi_def} theorem, 31
629 \item {\tt Pi_type} theorem, 39, 40
630 \item {\tt plus} class, 61
631 \item {\tt PlusC_inl} theorem, 118
632 \item {\tt PlusC_inr} theorem, 118
633 \item {\tt PlusE} theorem, 118, 122, 126
634 \item {\tt PlusEL} theorem, 118
635 \item {\tt PlusF} theorem, 118
636 \item {\tt PlusFL} theorem, 118
637 \item {\tt PlusI_inl} theorem, 118, 127
638 \item {\tt PlusI_inlL} theorem, 118
639 \item {\tt PlusI_inr} theorem, 118
640 \item {\tt PlusI_inrL} theorem, 118
641 \item {\tt Pow} constant, 25, 68
642 \item {\tt Pow_def} theorem, 71
643 \item {\tt Pow_iff} theorem, 30
644 \item {\tt Pow_mono} theorem, 52
645 \item {\tt PowD} theorem, 33, 53, 73
646 \item {\tt PowI} theorem, 33, 53, 73
647 \item primitive recursion, 90--92
648 \item {\tt primrec}, 90--92
649 \item {\tt primrec} symbol, 79
650 \item {\tt PrimReplace} constant, 25, 29
652 \item {\tt PROD} symbol, 26, 28, 113, 114
653 \item {\tt Prod} constant, 112
654 \item {\tt Prod} theory, 76
655 \item {\tt ProdC} theorem, 116, 132
656 \item {\tt ProdC2} theorem, 116
657 \item {\tt ProdE} theorem, 116, 129, 131, 133
658 \item {\tt ProdEL} theorem, 116
659 \item {\tt ProdF} theorem, 116
660 \item {\tt ProdFL} theorem, 116
661 \item {\tt ProdI} theorem, 116, 122, 124
662 \item {\tt ProdIL} theorem, 116
663 \item {\tt prop_cs}, \bold{11}, \bold{76}
664 \item {\tt prop_pack}, \bold{105}
668 \item {\tt qcase_def} theorem, 43
669 \item {\tt qconverse} constant, 42
670 \item {\tt qconverse_def} theorem, 43
671 \item {\tt qed_spec_mp}, 88
672 \item {\tt qfsplit_def} theorem, 43
673 \item {\tt QInl_def} theorem, 43
674 \item {\tt QInr_def} theorem, 43
675 \item {\tt QPair} theory, 42
676 \item {\tt QPair_def} theorem, 43
677 \item {\tt QSigma} constant, 42
678 \item {\tt QSigma_def} theorem, 43
679 \item {\tt qsplit} constant, 42
680 \item {\tt qsplit_def} theorem, 43
681 \item {\tt qsum_def} theorem, 43
682 \item {\tt QUniv} theory, 46
686 \item {\tt range} constant, 25, 68, 97
687 \item {\tt range_def} theorem, 31, 71
688 \item {\tt range_of_fun} theorem, 39, 40
689 \item {\tt range_subset} theorem, 38
690 \item {\tt range_type} theorem, 39
691 \item {\tt rangeE} theorem, 38, 73, 97
692 \item {\tt rangeI} theorem, 38, 73
693 \item {\tt rank} constant, 48
694 \item {\tt rank_ss}, \bold{23}
695 \item {\tt rec} constant, 47, 112, 115
696 \item {\tt rec_0} theorem, 47
697 \item {\tt rec_def} theorem, 47
698 \item {\tt rec_succ} theorem, 47
699 \item {\tt red_if_equal} theorem, 115
700 \item {\tt Reduce} constant, 112, 115, 121
701 \item {\tt refl} theorem, 8, 63, 102
702 \item {\tt refl_elem} theorem, 115, 119
703 \item {\tt refl_red} theorem, 115
704 \item {\tt refl_type} theorem, 115, 119
705 \item {\tt REPEAT_FIRST}, 120
706 \item {\tt repeat_goal_tac}, \bold{106}
707 \item {\tt RepFun} constant, 25, 28, 29, 32
708 \item {\tt RepFun_def} theorem, 30
709 \item {\tt RepFunE} theorem, 34
710 \item {\tt RepFunI} theorem, 34
711 \item {\tt Replace} constant, 25, 28, 29, 32
712 \item {\tt Replace_def} theorem, 30
713 \item {\tt replace_type} theorem, 119, 131
714 \item {\tt ReplaceE} theorem, 34
715 \item {\tt ReplaceI} theorem, 34
716 \item {\tt replacement} theorem, 30
717 \item {\tt reresolve_tac}, \bold{106}
718 \item {\tt res_inst_tac}, 62
719 \item {\tt restrict} constant, 25, 32
720 \item {\tt restrict} theorem, 39
721 \item {\tt restrict_bij} theorem, 45
722 \item {\tt restrict_def} theorem, 31
723 \item {\tt restrict_type} theorem, 39
724 \item {\tt rev} constant, 49, 81
725 \item {\tt rev_def} theorem, 49
726 \item {\tt rew_tac}, 18, \bold{121}
727 \item {\tt rewrite_rule}, 19
728 \item {\tt right_comp_id} theorem, 45
729 \item {\tt right_comp_inverse} theorem, 45
730 \item {\tt right_inverse} theorem, 45
732 \item {\tt RS}, 131, 133
736 \item {\tt safe_goal_tac}, \bold{107}
737 \item {\tt safe_tac}, \bold{122}
738 \item {\tt safestep_tac}, \bold{122}
740 \subitem best-first, 98
741 \item {\tt select_equality} theorem, 64, 66
742 \item {\tt selectI} theorem, 63, 64
743 \item {\tt separation} theorem, 34
744 \item {\tt Seqof} constant, 100
745 \item sequent calculus, 99--110
746 \item {\tt Set} theory, 67, 70
747 \item {\tt set} type, 67
748 \item set theory, 23--58
749 \item {\tt set_current_thy}, 98
750 \item {\tt set_diff_def} theorem, 71
751 \item {\tt set_of_list} constant, 81
752 \item {\tt show_sorts}, 62
753 \item {\tt show_types}, 62
754 \item {\tt Sigma} constant, 25, 28, 29, 37, 76
755 \item {\tt Sigma_def} theorem, 31, 76
756 \item {\tt SigmaE} theorem, 37, 76
757 \item {\tt SigmaE2} theorem, 37
758 \item {\tt SigmaI} theorem, 37, 76
760 \subitem of conjunctions, 6, 75
761 \item {\tt singletonE} theorem, 35
762 \item {\tt singletonI} theorem, 35
763 \item {\tt snd} constant, 25, 29, 76, 112, 117
764 \item {\tt snd_conv} theorem, 37, 76
765 \item {\tt snd_def} theorem, 31, 117
766 \item {\tt sobj} type, 101
767 \item {\tt spec} theorem, 8, 66
768 \item {\tt split} constant, 25, 29, 76, 112, 126
769 \item {\tt split} theorem, 37, 76
770 \item {\tt split_all_tac}, \bold{77}
771 \item {\tt split_def} theorem, 31
772 \item {\tt ssubst} theorem, 9, 65, 67
773 \item {\tt stac}, \bold{75}
774 \item {\tt Step_tac}, 22
775 \item {\tt step_tac}, 22, \bold{107}, \bold{122}
776 \item {\tt strip_tac}, \bold{67}
777 \item {\tt subset_def} theorem, 30, 71
778 \item {\tt subset_refl} theorem, 33, 72
779 \item {\tt subset_trans} theorem, 33, 72
780 \item {\tt subsetCE} theorem, 33, 70, 72
781 \item {\tt subsetD} theorem, 33, 55, 70, 72
782 \item {\tt subsetI} theorem, 33, 53, 54, 72
783 \item {\tt subst} theorem, 8, 63
784 \item {\tt subst_elem} theorem, 115
785 \item {\tt subst_elemL} theorem, 115
786 \item {\tt subst_eqtyparg} theorem, 119, 131
787 \item {\tt subst_prodE} theorem, 117, 119
788 \item {\tt subst_type} theorem, 115
789 \item {\tt subst_typeL} theorem, 115
790 \item {\tt Suc} constant, 78
791 \item {\tt Suc_not_Zero} theorem, 78
792 \item {\tt succ} constant, 25, 29, 112
793 \item {\tt succ_def} theorem, 31
794 \item {\tt succ_inject} theorem, 35
795 \item {\tt succ_neq_0} theorem, 35
796 \item {\tt succCI} theorem, 35
797 \item {\tt succE} theorem, 35
798 \item {\tt succI1} theorem, 35
799 \item {\tt succI2} theorem, 35
800 \item {\tt SUM} symbol, 26, 28, 113, 114
801 \item {\tt Sum} constant, 112
802 \item {\tt Sum} theory, 42, 77
803 \item {\tt sum_case} constant, 78
804 \item {\tt sum_case_Inl} theorem, 78
805 \item {\tt sum_case_Inr} theorem, 78
806 \item {\tt sum_def} theorem, 43
807 \item {\tt sum_InlI} theorem, 43
808 \item {\tt sum_InrI} theorem, 43
809 \item {\tt SUM_Int_distrib1} theorem, 41
810 \item {\tt SUM_Int_distrib2} theorem, 41
811 \item {\tt SUM_Un_distrib1} theorem, 41
812 \item {\tt SUM_Un_distrib2} theorem, 41
813 \item {\tt SumC} theorem, 117
814 \item {\tt SumE} theorem, 117, 122, 126
815 \item {\tt sumE} theorem, 78
816 \item {\tt sumE2} theorem, 43
817 \item {\tt SumE_fst} theorem, 117, 119, 131, 132
818 \item {\tt SumE_snd} theorem, 117, 119, 133
819 \item {\tt SumEL} theorem, 117
820 \item {\tt SumF} theorem, 117
821 \item {\tt SumFL} theorem, 117
822 \item {\tt SumI} theorem, 117, 127
823 \item {\tt SumIL} theorem, 117
824 \item {\tt SumIL2} theorem, 119
825 \item {\tt surj} constant, 45, 71, 75
826 \item {\tt surj_def} theorem, 45, 75
827 \item {\tt surjective_pairing} theorem, 76
828 \item {\tt surjective_sum} theorem, 78
829 \item {\tt swap} theorem, 11, 66
830 \item {\tt swap_res_tac}, 16, 98
831 \item {\tt sym} theorem, 9, 65, 102
832 \item {\tt sym_elem} theorem, 115
833 \item {\tt sym_type} theorem, 115
834 \item {\tt symL} theorem, 103
838 \item {\tt T} constant, 112
839 \item {\tt t} type, 111
840 \item {\tt take} constant, 81
841 \item {\tt takeWhile} constant, 81
842 \item {\tt TC} theorem, 118
843 \item {\tt TE} theorem, 118
844 \item {\tt TEL} theorem, 118
845 \item {\tt term} class, 5, 61, 99
846 \item {\tt test_assume_tac}, \bold{120}
847 \item {\tt TF} theorem, 118
848 \item {\tt THE} symbol, 26, 28, 36, 100
849 \item {\tt The} constant, 25, 28, 29, 100
850 \item {\tt The} theorem, 102
851 \item {\tt the_def} theorem, 30
852 \item {\tt the_equality} theorem, 35, 36
853 \item {\tt theI} theorem, 35, 36
854 \item {\tt thinL} theorem, 102
855 \item {\tt thinR} theorem, 102
856 \item {\tt TI} theorem, 118
857 \item {\tt times} class, 61
858 \item {\tt tl} constant, 81
860 \subitem of unification, 62
861 \item {\tt trans} theorem, 9, 65, 102
862 \item {\tt trans_elem} theorem, 115
863 \item {\tt trans_red} theorem, 115
864 \item {\tt trans_tac}, 80
865 \item {\tt trans_type} theorem, 115
866 \item {\tt True} constant, 7, 60, 100
867 \item {\tt True_def} theorem, 8, 64, 102
868 \item {\tt True_or_False} theorem, 63, 64
869 \item {\tt TrueI} theorem, 9, 65
870 \item {\tt Trueprop} constant, 7, 60, 100
871 \item {\tt TrueR} theorem, 103
872 \item {\tt tt} constant, 112
873 \item {\tt ttl} constant, 81
874 \item {\tt Type} constant, 112
875 \item type definition, \bold{83}
876 \item {\tt typechk_tac}, \bold{120}, 125, 128, 132, 133
877 \item {\tt typedef}, 80
881 \item {\tt UN} symbol, 26, 28, 68--70
882 \item {\tt Un} symbol, 25, 68
883 \item {\tt Un1} theorem, 70
884 \item {\tt Un2} theorem, 70
885 \item {\tt Un_absorb} theorem, 41, 74
886 \item {\tt Un_assoc} theorem, 41, 74
887 \item {\tt Un_commute} theorem, 41, 74
888 \item {\tt Un_def} theorem, 30, 71
889 \item {\tt UN_E} theorem, 34, 73
890 \item {\tt UN_I} theorem, 34, 73
891 \item {\tt Un_Int_distrib} theorem, 41, 74
892 \item {\tt Un_Inter} theorem, 74
893 \item {\tt Un_Inter_RepFun} theorem, 41
894 \item {\tt Un_least} theorem, 36, 74
895 \item {\tt Un_Union_image} theorem, 74
896 \item {\tt Un_upper1} theorem, 36, 74
897 \item {\tt Un_upper2} theorem, 36, 74
898 \item {\tt UnCI} theorem, 35, 36, 70, 73
899 \item {\tt UnE} theorem, 35, 73
900 \item {\tt UnI1} theorem, 35, 36, 57, 73
901 \item {\tt UnI2} theorem, 35, 36, 73
903 \subitem incompleteness of, 62
904 \item {\tt Unify.trace_types}, 62
905 \item {\tt UNION} constant, 68
906 \item {\tt Union} constant, 25, 68
907 \item {\tt UNION1} constant, 68
908 \item {\tt UNION1_def} theorem, 71
909 \item {\tt UNION_def} theorem, 71
910 \item {\tt Union_def} theorem, 71
911 \item {\tt Union_iff} theorem, 30
912 \item {\tt Union_least} theorem, 36, 74
913 \item {\tt Union_Un_distrib} theorem, 41, 74
914 \item {\tt Union_upper} theorem, 36, 74
915 \item {\tt UnionE} theorem, 34, 55, 73
916 \item {\tt UnionI} theorem, 34, 55, 73
917 \item {\tt unit_eq} theorem, 77
918 \item {\tt Univ} theory, 46
919 \item {\tt Upair} constant, 24, 25, 29
920 \item {\tt Upair_def} theorem, 30
921 \item {\tt UpairE} theorem, 34
922 \item {\tt UpairI1} theorem, 34
923 \item {\tt UpairI2} theorem, 34
927 \item {\tt vimage_def} theorem, 31
928 \item {\tt vimageE} theorem, 38
929 \item {\tt vimageI} theorem, 38
933 \item {\tt when} constant, 112, 117, 126
937 \item {\tt xor_def} theorem, 42
941 \item {\tt zero_ne_succ} theorem, 115, 116
942 \item {\tt ZF} theory, 1, 23, 59
943 \item {\tt ZF_cs}, \bold{23}
944 \item {\tt ZF_ss}, \bold{23}