141 for 'intros' (was found too confusing); |
141 for 'intros' (was found too confusing); |
142 |
142 |
143 * HOL: properly declared induction rules less_induct and |
143 * HOL: properly declared induction rules less_induct and |
144 wf_induct_rule; |
144 wf_induct_rule; |
145 |
145 |
146 * HOLCF: domain package adapted to new-style theory format, e.g. see |
|
147 HOLCF/ex/Dnat.thy; |
|
148 |
|
149 * ZF: proper integration of logic-specific tools and packages, |
|
150 including theory commands '(co)inductive', '(co)datatype', |
|
151 'rep_datatype', 'inductive_cases', as well as methods 'ind_cases', |
|
152 'induct_tac', 'case_tac', and 'typecheck' (with attribute 'TC'); |
|
153 |
|
154 |
146 |
155 *** HOL *** |
147 *** HOL *** |
156 |
148 |
157 * HOL: moved over to sane numeral syntax; the new policy is as |
149 * HOL: moved over to sane numeral syntax; the new policy is as |
158 follows: |
150 follows: |
250 some explanations (by Gerwin Klein); |
242 some explanations (by Gerwin Klein); |
251 |
243 |
252 |
244 |
253 *** HOLCF *** |
245 *** HOLCF *** |
254 |
246 |
255 * proper rep_datatype lift (see theory Lift) instead of ML hacks -- |
247 * Isar: consts/constdefs supports mixfix syntax for continuous |
|
248 operations; |
|
249 |
|
250 * Isar: domain package adapted to new-style theory format, e.g. see |
|
251 HOLCF/ex/Dnat.thy; |
|
252 |
|
253 * theory Lift: proper use of rep_datatype lift instead of ML hacks -- |
256 potential INCOMPATIBILITY; now use plain induct_tac instead of former |
254 potential INCOMPATIBILITY; now use plain induct_tac instead of former |
257 lift.induct_tac, always use UU instead of Undef; |
255 lift.induct_tac, always use UU instead of Undef; |
258 |
256 |
259 * HOLCF/IMP: updated and converted to new-style theory; |
257 * HOLCF/IMP: updated and converted to new-style theory; |
260 |
258 |
261 |
259 |
262 *** ZF *** |
260 *** ZF *** |
263 |
261 |
264 * Theory Main no longer includes AC; for the Axiom of Choice, base your |
262 * Isar: proper integration of logic-specific tools and packages, |
265 theory on Main_ZFC; |
263 including theory commands '(co)inductive', '(co)datatype', |
|
264 'rep_datatype', 'inductive_cases', as well as methods 'ind_cases', |
|
265 'induct_tac', 'case_tac', and 'typecheck' (with attribute 'TC'); |
|
266 |
|
267 * theory Main no longer includes AC; for the Axiom of Choice, base |
|
268 your theory on Main_ZFC; |
|
269 |
|
270 * the integer library now covers quotients and remainders, with many |
|
271 laws relating division to addition, multiplication, etc.; |
266 |
272 |
267 * ZF/UNITY: Chandy and Misra's UNITY is now available in ZF, giving a |
273 * ZF/UNITY: Chandy and Misra's UNITY is now available in ZF, giving a |
268 typeless version of the formalism; |
274 typeless version of the formalism; |
269 |
275 |
270 * ZF/IMP: updated and converted to new-style theory format; |
276 * ZF/IMP: updated and converted to new-style theory format; |
271 |
277 |
272 * ZF/Induct: new directory for examples of inductive definitions, |
278 * ZF/Induct: new directory for examples of inductive definitions, |
273 including theory Multiset for multiset orderings; converted to |
279 including theory Multiset for multiset orderings; converted to |
274 new-style theory format; |
280 new-style theory format; |
275 |
|
276 * ZF: the integer library now covers quotients and remainders, with |
|
277 many laws relating division to addition, multiplication, etc.; |
|
278 |
281 |
279 |
282 |
280 *** General *** |
283 *** General *** |
281 |
284 |
282 * Pure/kernel: meta-level proof terms (by Stefan Berghofer); reference |
285 * Pure/kernel: meta-level proof terms (by Stefan Berghofer); reference |
354 |
357 |
355 *** Overview of INCOMPATIBILITIES *** |
358 *** Overview of INCOMPATIBILITIES *** |
356 |
359 |
357 * HOL: please note that theories in the Library and elsewhere often use the |
360 * HOL: please note that theories in the Library and elsewhere often use the |
358 new-style (Isar) format; to refer to their theorems in an ML script you must |
361 new-style (Isar) format; to refer to their theorems in an ML script you must |
359 bind them to ML identifers by e.g. val thm_name = thm "thm_name"; |
362 bind them to ML identifers by e.g. val thm_name = thm "thm_name"; |
360 |
363 |
361 * HOL: inductive package no longer splits induction rule aggressively, |
364 * HOL: inductive package no longer splits induction rule aggressively, |
362 but only as far as specified by the introductions given; the old |
365 but only as far as specified by the introductions given; the old |
363 format may be recovered via ML function complete_split_rule or attribute |
366 format may be recovered via ML function complete_split_rule or attribute |
364 'split_rule (complete)'; |
367 'split_rule (complete)'; |