NEWS
changeset 36848 7e6f334b294b
parent 36847 bf8e62da7613
parent 36836 49156805321c
child 36849 33e5b40ec4bb
equal deleted inserted replaced
36847:bf8e62da7613 36848:7e6f334b294b
   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