141 *** HOL *** |
141 *** HOL *** |
142 |
142 |
143 * Theorem Int.int_induct renamed to Int.int_of_nat_induct and is |
143 * Theorem Int.int_induct renamed to Int.int_of_nat_induct and is |
144 no longer shadowed. INCOMPATIBILITY. |
144 no longer shadowed. INCOMPATIBILITY. |
145 |
145 |
146 * Dropped theorem duplicate comp_arith; use semiring_norm instead. INCOMPATIBILITY. |
146 * Dropped theorem duplicate comp_arith; use semiring_norm instead. |
|
147 INCOMPATIBILITY. |
|
148 |
|
149 * Dropped theorem RealPow.real_sq_order; use power2_le_imp_le instead. |
|
150 INCOMPATIBILITY. |
147 |
151 |
148 * Dropped normalizing. Use semiring classes directly. INCOMPATIBILITY. |
152 * Dropped normalizing. Use semiring classes directly. INCOMPATIBILITY. |
149 |
153 |
150 * Theory 'Finite_Set': various folding_* locales facilitate the application |
154 * Theory 'Finite_Set': various folding_* locales facilitate the application |
151 of the various fold combinators on finite sets. |
155 of the various fold combinators on finite sets. |
158 introducing dependencies on parameters or assumptions, which is not |
162 introducing dependencies on parameters or assumptions, which is not |
159 possible in Isabelle/Pure/HOL. Note that the logical environment may |
163 possible in Isabelle/Pure/HOL. Note that the logical environment may |
160 contain multiple interpretations of local typedefs (with different |
164 contain multiple interpretations of local typedefs (with different |
161 non-emptiness proofs), even in a global theory context. |
165 non-emptiness proofs), even in a global theory context. |
162 |
166 |
163 * Theory Library/Coinductive_List has been removed -- superceded by |
167 * Theory Library/Coinductive_List has been removed -- superseded by |
164 AFP/thys/Coinductive. |
168 AFP/thys/Coinductive. |
|
169 |
|
170 * Theory PReal, including the type "preal" and related operations, has |
|
171 been removed. INCOMPATIBILITY. |
165 |
172 |
166 * Split off theory Big_Operators containing setsum, setprod, Inf_fin, Sup_fin, |
173 * Split off theory Big_Operators containing setsum, setprod, Inf_fin, Sup_fin, |
167 Min, Max from theory Finite_Set. INCOMPATIBILITY. |
174 Min, Max from theory Finite_Set. INCOMPATIBILITY. |
168 |
175 |
169 * Theory "Rational" renamed to "Rat", for consistency with "Nat", "Int" etc. |
176 * Theory "Rational" renamed to "Rat", for consistency with "Nat", "Int" etc. |
318 Nat_Int_Bij.surj_int_to_nat_bij ~> surj_int_decode |
325 Nat_Int_Bij.surj_int_to_nat_bij ~> surj_int_decode |
319 Nat_Int_Bij.inj_nat_to_int_bij ~> inj_int_encode |
326 Nat_Int_Bij.inj_nat_to_int_bij ~> inj_int_encode |
320 Nat_Int_Bij.inj_int_to_nat_bij ~> inj_int_decode |
327 Nat_Int_Bij.inj_int_to_nat_bij ~> inj_int_decode |
321 Nat_Int_Bij.bij_nat_to_int_bij ~> bij_int_encode |
328 Nat_Int_Bij.bij_nat_to_int_bij ~> bij_int_encode |
322 Nat_Int_Bij.bij_int_to_nat_bij ~> bij_int_decode |
329 Nat_Int_Bij.bij_int_to_nat_bij ~> bij_int_decode |
|
330 |
|
331 |
|
332 *** HOLCF *** |
|
333 |
|
334 * Variable names in lemmas generated by the domain package have |
|
335 changed; the naming scheme is now consistent with the HOL datatype |
|
336 package. Some proof scripts may be affected, INCOMPATIBILITY. |
|
337 |
|
338 * The domain package no longer defines the function "foo_copy" for |
|
339 recursive domain "foo". The reach lemma is now stated directly in |
|
340 terms of "foo_take". Lemmas and proofs that mention "foo_copy" must |
|
341 be reformulated in terms of "foo_take", INCOMPATIBILITY. |
|
342 |
|
343 * Most definedness lemmas generated by the domain package (previously |
|
344 of the form "x ~= UU ==> foo$x ~= UU") now have an if-and-only-if form |
|
345 like "foo$x = UU <-> x = UU", which works better as a simp rule. |
|
346 Proof scripts that used definedness lemmas as intro rules may break, |
|
347 potential INCOMPATIBILITY. |
|
348 |
|
349 * Induction and casedist rules generated by the domain package now |
|
350 declare proper case_names (one called "bottom", and one named for each |
|
351 constructor). INCOMPATIBILITY. |
|
352 |
|
353 * For mutually-recursive domains, separate "reach" and "take_lemma" |
|
354 rules are generated for each domain, INCOMPATIBILITY. |
|
355 |
|
356 foo_bar.reach ~> foo.reach bar.reach |
|
357 foo_bar.take_lemmas ~> foo.take_lemma bar.take_lemma |
|
358 |
|
359 * Some lemmas generated by the domain package have been renamed for |
|
360 consistency with the datatype package, INCOMPATIBILITY. |
|
361 |
|
362 foo.ind ~> foo.induct |
|
363 foo.finite_ind ~> foo.finite_induct |
|
364 foo.coind ~> foo.coinduct |
|
365 foo.casedist ~> foo.exhaust |
|
366 foo.exhaust ~> foo.nchotomy |
|
367 |
|
368 * For consistency with other definition packages, the fixrec package |
|
369 now generates qualified theorem names, INCOMPATIBILITY. |
|
370 |
|
371 foo_simps ~> foo.simps |
|
372 foo_unfold ~> foo.unfold |
|
373 foo_induct ~> foo.induct |
|
374 |
|
375 * The "contlub" predicate has been removed. Proof scripts should use |
|
376 lemma contI2 in place of monocontlub2cont, INCOMPATIBILITY. |
|
377 |
|
378 * The "admw" predicate has been removed, INCOMPATIBILITY. |
|
379 |
|
380 * The constants cpair, cfst, and csnd have been removed in favor of |
|
381 Pair, fst, and snd from Isabelle/HOL, INCOMPATIBILITY. |
323 |
382 |
324 |
383 |
325 *** ML *** |
384 *** ML *** |
326 |
385 |
327 * Sorts.certify_sort and derived "cert" operations for types and terms |
386 * Sorts.certify_sort and derived "cert" operations for types and terms |
3255 potential INCOMPATIBILITY. |
3314 potential INCOMPATIBILITY. |
3256 |
3315 |
3257 * Pure: axiomatic type classes are now purely definitional, with |
3316 * Pure: axiomatic type classes are now purely definitional, with |
3258 explicit proofs of class axioms and super class relations performed |
3317 explicit proofs of class axioms and super class relations performed |
3259 internally. See Pure/axclass.ML for the main internal interfaces -- |
3318 internally. See Pure/axclass.ML for the main internal interfaces -- |
3260 notably AxClass.define_class supercedes AxClass.add_axclass, and |
3319 notably AxClass.define_class supersedes AxClass.add_axclass, and |
3261 AxClass.axiomatize_class/classrel/arity supersede |
3320 AxClass.axiomatize_class/classrel/arity supersede |
3262 Sign.add_classes/classrel/arities. |
3321 Sign.add_classes/classrel/arities. |
3263 |
3322 |
3264 * Pure/Isar: Args/Attrib parsers operate on Context.generic -- |
3323 * Pure/Isar: Args/Attrib parsers operate on Context.generic -- |
3265 global/local versions on theory vs. Proof.context have been |
3324 global/local versions on theory vs. Proof.context have been |
4149 accordingly, while Option.map replaces apsome. |
4208 accordingly, while Option.map replaces apsome. |
4150 |
4209 |
4151 * Pure/library.ML: the exception LIST has been given up in favour of |
4210 * Pure/library.ML: the exception LIST has been given up in favour of |
4152 the standard exceptions Empty and Subscript, as well as |
4211 the standard exceptions Empty and Subscript, as well as |
4153 Library.UnequalLengths. Function like Library.hd and Library.tl are |
4212 Library.UnequalLengths. Function like Library.hd and Library.tl are |
4154 superceded by the standard hd and tl functions etc. |
4213 superseded by the standard hd and tl functions etc. |
4155 |
4214 |
4156 A number of basic list functions are no longer exported to the ML |
4215 A number of basic list functions are no longer exported to the ML |
4157 toplevel, as they are variants of predefined functions. The following |
4216 toplevel, as they are variants of predefined functions. The following |
4158 suggests how one can translate existing code: |
4217 suggests how one can translate existing code: |
4159 |
4218 |
4280 particular order for Symtab.keys, Symtab.dest, etc. (consider using |
4339 particular order for Symtab.keys, Symtab.dest, etc. (consider using |
4281 Library.sort_strings on result). |
4340 Library.sort_strings on result). |
4282 |
4341 |
4283 * Pure/term.ML: combinators fold_atyps, fold_aterms, fold_term_types, |
4342 * Pure/term.ML: combinators fold_atyps, fold_aterms, fold_term_types, |
4284 fold_types traverse types/terms from left to right, observing natural |
4343 fold_types traverse types/terms from left to right, observing natural |
4285 argument order. Supercedes previous foldl_XXX versions, add_frees, |
4344 argument order. Supersedes previous foldl_XXX versions, add_frees, |
4286 add_vars etc. have been adapted as well: INCOMPATIBILITY. |
4345 add_vars etc. have been adapted as well: INCOMPATIBILITY. |
4287 |
4346 |
4288 * Pure: name spaces have been refined, with significant changes of the |
4347 * Pure: name spaces have been refined, with significant changes of the |
4289 internal interfaces -- INCOMPATIBILITY. Renamed cond_extern(_table) |
4348 internal interfaces -- INCOMPATIBILITY. Renamed cond_extern(_table) |
4290 to extern(_table). The plain name entry path is superceded by a |
4349 to extern(_table). The plain name entry path is superseded by a |
4291 general 'naming' context, which also includes the 'policy' to produce |
4350 general 'naming' context, which also includes the 'policy' to produce |
4292 a fully qualified name and external accesses of a fully qualified |
4351 a fully qualified name and external accesses of a fully qualified |
4293 name; NameSpace.extend is superceded by context dependent |
4352 name; NameSpace.extend is superseded by context dependent |
4294 Sign.declare_name. Several theory and proof context operations modify |
4353 Sign.declare_name. Several theory and proof context operations modify |
4295 the naming context. Especially note Theory.restore_naming and |
4354 the naming context. Especially note Theory.restore_naming and |
4296 ProofContext.restore_naming to get back to a sane state; note that |
4355 ProofContext.restore_naming to get back to a sane state; note that |
4297 Theory.add_path is no longer sufficient to recover from |
4356 Theory.add_path is no longer sufficient to recover from |
4298 Theory.absolute_path in particular. |
4357 Theory.absolute_path in particular. |
4328 |
4387 |
4329 The most basic sign_of operations (Theory.sign_of, Thm.sign_of_thm |
4388 The most basic sign_of operations (Theory.sign_of, Thm.sign_of_thm |
4330 etc.) as well as the sign field in Thm.rep_thm etc. have been retained |
4389 etc.) as well as the sign field in Thm.rep_thm etc. have been retained |
4331 for convenience -- they merely return the theory. |
4390 for convenience -- they merely return the theory. |
4332 |
4391 |
4333 * Pure: type Type.tsig is superceded by theory in most interfaces. |
4392 * Pure: type Type.tsig is superseded by theory in most interfaces. |
4334 |
4393 |
4335 * Pure: the Isar proof context type is already defined early in Pure |
4394 * Pure: the Isar proof context type is already defined early in Pure |
4336 as Context.proof (note that ProofContext.context and Proof.context are |
4395 as Context.proof (note that ProofContext.context and Proof.context are |
4337 aliases, where the latter is the preferred name). This enables other |
4396 aliases, where the latter is the preferred name). This enables other |
4338 Isabelle components to refer to that type even before Isar is present. |
4397 Isabelle components to refer to that type even before Isar is present. |
5460 selectI -> someI |
5519 selectI -> someI |
5461 select1_equality -> some1_equality |
5520 select1_equality -> some1_equality |
5462 Eps_sym_eq -> some_sym_eq_trivial |
5521 Eps_sym_eq -> some_sym_eq_trivial |
5463 Eps_eq -> some_eq_trivial |
5522 Eps_eq -> some_eq_trivial |
5464 |
5523 |
5465 * HOL: exhaust_tac on datatypes superceded by new generic case_tac; |
5524 * HOL: exhaust_tac on datatypes superseded by new generic case_tac; |
5466 |
5525 |
5467 * HOL: removed obsolete theorem binding expand_if (refer to split_if |
5526 * HOL: removed obsolete theorem binding expand_if (refer to split_if |
5468 instead); |
5527 instead); |
5469 |
5528 |
5470 * HOL: the recursion equations generated by 'recdef' are now called |
5529 * HOL: the recursion equations generated by 'recdef' are now called |
5598 intro/intro!/intro!! flags to intro!/intro/intro? (INCOMPATIBILITY, in |
5657 intro/intro!/intro!! flags to intro!/intro/intro? (INCOMPATIBILITY, in |
5599 most cases, one should have to change intro!! to intro? only); |
5658 most cases, one should have to change intro!! to intro? only); |
5600 replaced "delrule" by "rule del"; |
5659 replaced "delrule" by "rule del"; |
5601 |
5660 |
5602 * Isar/Provers: new 'hypsubst' method, plain 'subst' method and |
5661 * Isar/Provers: new 'hypsubst' method, plain 'subst' method and |
5603 'symmetric' attribute (the latter supercedes [RS sym]); |
5662 'symmetric' attribute (the latter supersedes [RS sym]); |
5604 |
5663 |
5605 * Isar/Provers: splitter support (via 'split' attribute and 'simp' |
5664 * Isar/Provers: splitter support (via 'split' attribute and 'simp' |
5606 method modifier); 'simp' method: 'only:' modifier removes loopers as |
5665 method modifier); 'simp' method: 'only:' modifier removes loopers as |
5607 well (including splits); |
5666 well (including splits); |
5608 |
5667 |