summary |
shortlog |
changelog |
graph |
tags |
branches |
files |
changeset |
file |
revisions |
annotate |
diff |
raw

doc-src/ERRATA.txt

author | lcp |

Thu May 11 10:33:07 1995 +0200 (1995-05-11) | |

changeset 1117 | 839ab9c054f6 |

parent 1083 | 53a0667e1cd2 |

child 14379 | ea10a8c3e9cf |

permissions | -rw-r--r-- |

show_sorts

1 $Id$

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

6 changes to Isabelle.

8 Thanks to Sara Kalvala, Tobias Nipkow

11 INTRODUCTION TO ISABELLE

13 Advanced Methods

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

27 Introduction

29 page 67: show_brackets is another flag, controlling display of bracketting

30 show_sorts:=true forces display of types

32 Tactics

34 page 85: subgoals_tac is another tactic, for multiple calls to subgoal_tac

36 Theories

38 page 117: the three lines of ML shown can be abbreviated to just

39 init_thy_reader();

41 page 118: extend_theory has been replaced by numerous functions for adding

42 types, constants, axioms, etc.

44 Defining Logics

48 page 127: type constraints ("::") now have a very low priority of 4.

49 As in ML, they must usually be enclosed in paretheses.

51 Syntax Transformations

53 page 145, line -5: delete repeated "the" in "before the the .thy file"

55 Simplification

57 page 157 display: Union operator is too big

59 page 158, "!": Isabelle now permits more general left-hand sides, so called

60 higher-order patterns.

62 Classical reasoner

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.

68 ISABELLE'S OBJECT-LOGICS

70 First-Order Logic

72 pages 191, 196: FOL_dup_cs is now deleted (use deepen_tac FOL_cs instead)

74 Zermelo-Fraenkel Set Theory

76 page 204: type i has class term, not (just) logic

78 page 209: axioms have been renamed:

79 union_iff is now Union_iff

80 power_set is now Pow_iff

82 page 215, bottom of figure 17.10: DiffD2 is now "c : A - B ==> c ~: B"

84 page 215, bottom: rules mem_anti_sym and mem_anti_refl are now mem_asym and

85 mem_irrefl

87 page 222, top: missing braces in qconverse_def (around right-hand side)

88 and QSigma_def (around <x;y>)

90 page 223, top: lfp_def, gfp_def have missing braces around the argument of

91 Inter, Union

93 page 228: now there is also a theory of cardinal numbers and some

94 developments involving the Axiom of Choice.

96 page 229: now there is another examples directory, IMP (a semantics

97 equivalence proof for an imperative language)

99 Higher-Order Logic

101 page 243: Pow is a new constant of type 'a set => 'a set set

103 page 246: Pow is defined by Pow(A) == {B. B <= A}

104 empty_def should be {} == {x.False}

106 page 248: Pow has the rules

107 PowI A<=B ==> A: Pow(B)

108 PowD A: Pow(B) ==> A<=B

110 page 251: split now has type [['a,'b] => 'c, 'a * 'b] => 'c

111 Definition modified accordingly

113 page 252: sum_case now has type ['a=>'c,'b=>'c, 'a+'b] =>'c

114 Definition and rules modified accordingly

116 page 252: HOL_dup_cs is now deleted (use deepen_tac HOL_cs instead)

118 page 254: nat_case now has type ['a, nat=>'a, nat] =>'a

119 Definition modified accordingly

121 page 256,258: list_case now takes the list as its last argument, not the

122 first.

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 as the file ml/HOL-extensions.dvi.gz,

127 host ftp.cl.cam.ac.uk.)

129 page 259: now there is another examples directory, IMP (a semantics

130 equivalence proof for an imperative language)