doc-src/ERRATA.txt
 author huffman Thu Apr 19 10:49:47 2012 +0200 (2012-04-19) changeset 47579 28f6f4ad69bf parent 42637 381fdcab0f36 permissions -rw-r--r--
tuned lemmas (v)image_id;
removed duplicate of vimage_id
```     1 ERRATA in the book "Isabelle: A Generic Theorem Prover"
```
```     2 by Lawrence C. Paulson (contributions by Tobias Nipkow)
```
```     3
```
```     4 Some of these errors are typographical but most of them are due to continuing
```
```     5 changes to Isabelle.
```
```     6
```
```     7 Thanks to Sara Kalvala, Tobias Nipkow
```
```     8
```
```     9
```
```    10 INTRODUCTION TO ISABELLE
```
```    11
```
```    12 Advanced Methods
```
```    13
```
```    14 page 46: the theory sections can appear in any order
```
```    15
```
```    16 page 48: theories may now contain a separate definition part
```
```    17
```
```    18 page 52, middle: the declaration "types bool,nat" should be "types bool nat"
```
```    19
```
```    20 page 57, bottom: should be addsimps in
```
```    21 	val add_ss = FOL_ss addrews [add_0, add_Suc]
```
```    22
```
```    23
```
```    24 ISABELLE REFERENCE MANUAL
```
```    25
```
```    26 Introduction
```
```    27
```
```    28 page 67: show_brackets is another flag, controlling display of bracketting
```
```    29 show_sorts:=true forces display of types
```
```    30
```
```    31 Tactics
```
```    32
```
```    33 page 85: subgoals_tac is another tactic, for multiple calls to subgoal_tac
```
```    34
```
```    35 Theories
```
```    36
```
```    37 page 117: the three lines of ML shown can be abbreviated to just
```
```    38 	init_thy_reader();
```
```    39
```
```    40 page 118: extend_theory has been replaced by numerous functions for adding
```
```    41 types, constants, axioms, etc.
```
```    42
```
```    43 Defining Logics
```
```    44
```
```    45
```
```    46
```
```    47 page 127: type constraints ("::") now have a very low priority of 4.
```
```    48 As in ML, they must usually be enclosed in paretheses.
```
```    49
```
```    50 Syntax Transformations
```
```    51
```
```    52 page 145, line -5: delete repeated "the" in "before the the .thy file"
```
```    53
```
```    54 Simplification
```
```    55
```
```    56 page 157 display: Union operator is too big
```
```    57
```
```    58 page 158, "!": Isabelle now permits more general left-hand sides, so called
```
```    59 higher-order patterns.
```
```    60
```
```    61 Classical reasoner
```
```    62
```
```    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.
```
```    66
```
```    67 ISABELLE'S OBJECT-LOGICS
```
```    68
```
```    69 First-Order Logic
```
```    70
```
```    71 pages 191, 196: FOL_dup_cs is now deleted (use deepen_tac FOL_cs instead)
```
```    72
```
```    73 Zermelo-Fraenkel Set Theory
```
```    74
```
```    75 page 204: type i has class term, not (just) logic
```
```    76
```
```    77 page 209: axioms have been renamed:
```
```    78 	union_iff is now Union_iff
```
```    79 	power_set is now Pow_iff
```
```    80
```
```    81 page 215, bottom of figure 17.10: DiffD2 is now  "c : A - B ==> c ~: B"
```
```    82
```
```    83 page 215, bottom: rules mem_anti_sym and mem_anti_refl are now mem_asym and
```
```    84 mem_irrefl
```
```    85
```
```    86 page 222, top: missing braces in qconverse_def (around right-hand side)
```
```    87 and QSigma_def (around <x;y>)
```
```    88
```
```    89 page 223, top: lfp_def, gfp_def have missing braces around the argument of
```
```    90 Inter, Union
```
```    91
```
```    92 page 228: now there is also a theory of cardinal numbers and some
```
```    93 developments involving the Axiom of Choice.
```
```    94
```
```    95 page 229: now there is another examples directory, IMP (a semantics
```
```    96 equivalence proof for an imperative language)
```
```    97
```
```    98 Higher-Order Logic
```
```    99
```
```   100 page 243: Pow is a new constant of type 'a set => 'a set set
```
```   101
```
```   102 page 246: Pow is defined by   Pow(A) == {B. B <= A}
```
```   103 empty_def should be  {} == {x.False}
```
```   104
```
```   105 page 248: Pow has the rules
```
```   106 	PowI     A<=B ==> A: Pow(B)
```
```   107 	PowD     A: Pow(B) ==> A<=B
```
```   108
```
```   109 page 251: split now has type [['a,'b] => 'c, 'a * 'b] => 'c
```
```   110 Definition modified accordingly
```
```   111
```
```   112 page 252: sum_case now has type ['a=>'c,'b=>'c, 'a+'b] =>'c
```
```   113 Definition and rules modified accordingly
```
```   114
```
```   115 page 252: HOL_dup_cs is now deleted (use deepen_tac HOL_cs instead)
```
```   116
```
```   117 page 254: nat_case now has type ['a, nat=>'a, nat] =>'a
```
```   118 Definition modified accordingly
```
```   119
```
```   120 page 256,258: list_case now takes the list as its last argument, not the
```
```   121 first.
```
```   122
```
```   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 at
```
```   126     http://www.cl.cam.ac.uk/users/lcp/archive/ml/HOL-extensions.dvi.gz
```
```   127
```
```   128 page 259: now there is another examples directory, IMP (a semantics
```
```   129 equivalence proof for an imperative language)
```