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