Updates involving defs, addss, etc.
2 ERRATA in the book "Isabelle: A Generic Theorem Prover"
3 by Lawrence C. Paulson (contributions by Tobias Nipkow)
5 Some of these errors are typographical but most of them are due to continuing
8 Thanks to Sara Kalvala, Tobias Nipkow
11 INTRODUCTION TO ISABELLE
15 page 46: the theory sections can appear in any order
17 page 48: theories may now contain a separate definition part
19 page 52, middle: the declaration "types bool,nat" should be "types bool nat"
21 page 57, bottom: should be addsimps in
22 val add_ss = FOL_ss addrews [add_0, add_Suc]
25 ISABELLE REFERENCE MANUAL
29 page 67: show_brackets is another flag, controlling display of bracketting
33 page 85: subgoals_tac is another tactic, for multiple calls to subgoal_tac
37 page 117: the three lines of ML shown can be abbreviated to just
40 page 118: extend_theory has been replaced by numerous functions for adding
41 types, constants, axioms, etc.
47 page 127: type constraints ("::") now have a very low priority of 4.
48 As in ML, they must usually be enclosed in paretheses.
50 Syntax Transformations
52 page 145, line -5: delete repeated "the" in "before the the .thy file"
56 page 157 display: Union operator is too big
58 page 158, "!": Isabelle now permits more general left-hand sides, so called
59 higher-order patterns.
63 page 176: Classical sets may specify a "wrapper tactical", which can be used
64 to define addss. The package also provides tactics slow_tac, slow_best_tac,
65 depth_tac and deepen_tac.
67 ISABELLE'S OBJECT-LOGICS
71 pages 191, 196: FOL_dup_cs is now deleted (use deepen_tac FOL_cs instead)
73 Zermelo-Fraenkel Set Theory
75 page 204: type i has class term, not (just) logic
77 page 209: axioms have been renamed:
78 union_iff is now Union_iff
79 power_set is now Pow_iff
81 page 215, bottom of figure 17.10: DiffD2 is now "c : A - B ==> c ~: B"
83 page 215, bottom: rules mem_anti_sym and mem_anti_refl are now mem_asym and
86 page 222, top: missing braces in qconverse_def (around right-hand side)
87 and QSigma_def (around <x;y>)
89 page 223, top: lfp_def, gfp_def have missing braces around the argument of
92 page 228: now there is also a theory of cardinal numbers and some
93 developments involving the Axiom of Choice.
95 page 229: now there is another examples directory, IMP (a semantics
96 equivalence proof for an imperative language)
100 page 243: Pow is a new constant of type 'a set => 'a set set
102 page 246: Pow is defined by Pow(A) == {B. B <= A}
103 empty_def should be {} == {x.False}
105 page 248: Pow has the rules
106 PowI A<=B ==> A: Pow(B)
107 PowD A: Pow(B) ==> A<=B
109 page 251: split now has type [['a,'b] => 'c, 'a * 'b] => 'c
110 Definition modified accordingly
112 page 252: sum_case now has type ['a=>'c,'b=>'c, 'a+'b] =>'c
113 Definition and rules modified accordingly
115 page 252: HOL_dup_cs is now deleted (use deepen_tac HOL_cs instead)
117 page 254: nat_case now has type ['a, nat=>'a, nat] =>'a
118 Definition modified accordingly
120 page 256,258: list_case now takes the list as its last argument, not the
123 page 259: HOL theory files may now include datatype declarations, primitive
124 recursive function definitions, and (co)inductive definitions. (These new
125 sections are available separately as the file ml/HOL-extensions.dvi.gz,
126 host ftp.cl.cam.ac.uk.)
128 page 259: now there is another examples directory, IMP (a semantics
129 equivalence proof for an imperative language)