8 *** Overview of INCOMPATIBILITIES (see below for more details) *** |
8 *** Overview of INCOMPATIBILITIES (see below for more details) *** |
9 |
9 |
10 * HOL: The THEN and ELSE parts of conditional expressions (if P then x else y) |
10 * HOL: The THEN and ELSE parts of conditional expressions (if P then x else y) |
11 are no longer simplified. (This allows the simplifier to unfold recursive |
11 are no longer simplified. (This allows the simplifier to unfold recursive |
12 functional programs.) To restore the old behaviour, declare |
12 functional programs.) To restore the old behaviour, declare |
13 Delcongs [if_weak_cong]; |
13 |
|
14 Delcongs [if_weak_cong]; |
14 |
15 |
15 * HOL: Removed the obsolete syntax "Compl A"; use -A for set |
16 * HOL: Removed the obsolete syntax "Compl A"; use -A for set |
16 complement; |
17 complement; |
17 |
18 |
18 * HOL: the predicate "inj" is now defined by translation to "inj_on"; |
19 * HOL: the predicate "inj" is now defined by translation to "inj_on"; |
24 to constants declared in the same theory; |
25 to constants declared in the same theory; |
25 |
26 |
26 * HOL, ZF: the function mk_cases, generated by the inductive |
27 * HOL, ZF: the function mk_cases, generated by the inductive |
27 definition package, has lost an argument. To simplify its result, it |
28 definition package, has lost an argument. To simplify its result, it |
28 uses the default simpset instead of a supplied list of theorems. |
29 uses the default simpset instead of a supplied list of theorems. |
|
30 |
|
31 * HOL/List: the constructors of type list are now Nil and Cons; |
29 |
32 |
30 |
33 |
31 *** Proof tools *** |
34 *** Proof tools *** |
32 |
35 |
33 * Provers/Arith/fast_lin_arith.ML contains a functor for creating a |
36 * Provers/Arith/fast_lin_arith.ML contains a functor for creating a |
36 instantiated for other types and logics as well. |
39 instantiated for other types and logics as well. |
37 |
40 |
38 |
41 |
39 *** General *** |
42 *** General *** |
40 |
43 |
|
44 * new Isabelle/Isar subsystem provides an alternative to traditional |
|
45 tactical theorem proving; together with the ProofGeneral/isar user |
|
46 interface it offers an interactive environment for developing human |
|
47 readable proof documents (Isar == Intelligible semi-automated |
|
48 reasoning); see isatool doc isar-ref and |
|
49 http://isabelle.in.tum.de/Isar/ for more information; |
|
50 |
|
51 * native support for ProofGeneral, both for classic Isabelle and |
|
52 Isabelle/Isar (the latter is slightly better supported and more |
|
53 robust); |
|
54 |
41 * Isabelle manuals now also available as PDF; |
55 * Isabelle manuals now also available as PDF; |
42 |
56 |
43 * improved browser info generation: better HTML markup (including |
57 * improved browser info generation: better HTML markup (including |
44 colors), graph views in several sizes; isatool usedir now provides a |
58 colors), graph views in several sizes; isatool usedir now provides a |
45 proper interface for user theories (via -P option); |
59 proper interface for user theories (via -P option); |
47 * theory loader rewritten from scratch (may not be fully |
61 * theory loader rewritten from scratch (may not be fully |
48 bug-compatible); old loadpath variable has been replaced by show_path, |
62 bug-compatible); old loadpath variable has been replaced by show_path, |
49 add_path, del_path, reset_path functions; new operations such as |
63 add_path, del_path, reset_path functions; new operations such as |
50 update_thy, touch_thy, remove_thy (see also isatool doc ref); |
64 update_thy, touch_thy, remove_thy (see also isatool doc ref); |
51 |
65 |
|
66 * improved isatool install: option -k creates KDE application icon, |
|
67 option -p DIR installs standalone binaries; |
|
68 |
|
69 * added ML_PLATFORM setting (useful for cross-platform installations); |
|
70 more robust handling of platform specific ML images for SML/NJ; |
|
71 |
|
72 * path element specification '~~' refers to '$ISABELLE_HOME'; |
|
73 |
52 * in locales, the "assumes" and "defines" parts may be omitted if |
74 * in locales, the "assumes" and "defines" parts may be omitted if |
53 empty; |
75 empty; |
54 |
76 |
55 * new print_mode "xsymbols" for extended symbol support (e.g. genuine |
77 * new print_mode "xsymbols" for extended symbol support (e.g. genuine |
56 long arrows); |
78 long arrows); |
57 |
79 |
58 * new print_mode "HTML"; |
80 * new print_mode "HTML"; |
59 |
81 |
60 * path element specification '~~' refers to '$ISABELLE_HOME'; |
|
61 |
|
62 * new flag show_tags controls display of tags of theorems (which are |
82 * new flag show_tags controls display of tags of theorems (which are |
63 basically just comments that may be attached by some tools); |
83 basically just comments that may be attached by some tools); |
64 |
|
65 * improved isatool install: option -k creates KDE application icon, |
|
66 option -p DIR installs standalone binaries; |
|
67 |
|
68 * added ML_PLATFORM setting (useful for cross-platform installations); |
|
69 more robust handling of platform specific ML images for SML/NJ; |
|
70 |
84 |
71 * Isamode 2.6 requires patch to accomodate change of Isabelle font |
85 * Isamode 2.6 requires patch to accomodate change of Isabelle font |
72 mode and goal output format: |
86 mode and goal output format: |
73 |
87 |
74 diff -r Isamode-2.6/elisp/isa-load.el Isamode/elisp/isa-load.el |
88 diff -r Isamode-2.6/elisp/isa-load.el Isamode/elisp/isa-load.el |
105 |
121 |
106 NB: At the moment, these decision procedures do not cope with mixed |
122 NB: At the moment, these decision procedures do not cope with mixed |
107 nat/int formulae where the two parts interact, such as `m < n ==> |
123 nat/int formulae where the two parts interact, such as `m < n ==> |
108 int(m) < int(n)'. |
124 int(m) < int(n)'. |
109 |
125 |
110 * An interface to the Stanford Validity Checker (SVC) is available through |
126 * HOL/Numeral provides a generic theory of numerals (encoded |
111 the tactic svc_tac. Propositional tautologies and theorems of linear |
127 efficiently as bit strings); setup for types nat and int is in place; |
112 arithmetic are proved automatically. Numeric variables may have types nat, |
128 INCOMPATIBILITY: since numeral syntax is now polymorphic, rather than |
113 int or real. SVC must be installed separately, and |
129 int, existing theories and proof scripts may require a few additional |
114 its results must be TAKEN ON TRUST (Isabelle does not check the proofs). |
130 type constraints; |
115 |
131 |
116 * Integer division and remainder can now be performed on constant arguments. |
132 * integer division and remainder can now be performed on constant |
117 |
133 arguments; |
118 * Many properties of integer multiplication, division and remainder are now |
134 |
119 available. |
135 * many properties of integer multiplication, division and remainder |
|
136 are now available; |
|
137 |
|
138 * An interface to the Stanford Validity Checker (SVC) is available |
|
139 through the tactic svc_tac. Propositional tautologies and theorems of |
|
140 linear arithmetic are proved automatically. Numeric variables may |
|
141 have types nat, int or real. SVC must be installed separately, and |
|
142 its results must be TAKEN ON TRUST (Isabelle does not check the |
|
143 proofs, but tags any invocation of the underlying oracle). |
120 |
144 |
121 * IsaMakefile: the HOL-Real target now builds an actual image; |
145 * IsaMakefile: the HOL-Real target now builds an actual image; |
122 |
146 |
123 * New bounded quantifier syntax (input only): |
147 |
124 ! x < y. P, ! x <= y. P, ? x < y. P, ? x <= y. P |
148 ** HOL misc ** |
|
149 |
|
150 * HOL/datatype: Now also handles arbitrarily branching datatypes |
|
151 (using function types) such as |
|
152 |
|
153 datatype 'a tree = Atom 'a | Branch "nat => 'a tree" |
125 |
154 |
126 * HOL/TLA (Lamport's Temporal Logic of Actions): major reorganization |
155 * HOL/TLA (Lamport's Temporal Logic of Actions): major reorganization |
127 -- avoids syntactic ambiguities and treats state, transition, and |
156 -- avoids syntactic ambiguities and treats state, transition, and |
128 temporal levels more uniformly; introduces INCOMPATIBILITIES due to |
157 temporal levels more uniformly; introduces INCOMPATIBILITIES due to |
129 changed syntax and (many) tactics; |
158 changed syntax and (many) tactics; |
130 |
159 |
131 * HOL/datatype: Now also handles arbitrarily branching datatypes |
160 * New bounded quantifier syntax (input only): |
132 (using function types) such as |
161 ! x < y. P, ! x <= y. P, ? x < y. P, ? x <= y. P |
133 |
|
134 datatype 'a tree = Atom 'a | Branch "nat => 'a tree" |
|
135 |
162 |
136 * HOL/typedef: fixed type inference for representing set; type |
163 * HOL/typedef: fixed type inference for representing set; type |
137 arguments now have to occur explicitly on the rhs as type constraints; |
164 arguments now have to occur explicitly on the rhs as type constraints; |
138 |
165 |
139 * HOL/recdef (TFL): requires theory Recdef; 'congs' syntax now expects |
166 * HOL/recdef (TFL): requires theory Recdef; 'congs' syntax now expects |
140 comma separated list of theorem names rather than an ML expression; |
167 comma separated list of theorem names rather than an ML expression; |
141 |
168 |
|
169 * HOL/List: the constructors of type list are now Nil and Cons; |
|
170 INCOMPATIBILITY: while [] and infix # syntax is still there, of |
|
171 course, ML tools referring to List.list.op # etc. have to be adapted; |
|
172 |
|
173 |
142 |
174 |
143 *** LK *** |
175 *** LK *** |
144 |
176 |
145 * the notation <<...>> is now available as a notation for sequences of formulas |
177 * the notation <<...>> is now available as a notation for sequences of |
|
178 formulas; |
146 |
179 |
147 * the simplifier is now installed |
180 * the simplifier is now installed |
148 |
181 |
149 * the axiom system has been generalized (thanks to Soren Heilmann) |
182 * the axiom system has been generalized (thanks to Soren Heilmann) |
150 |
183 |