NEWS
changeset 57452 ecad2a53755a
parent 57443 577f029fde39
child 57474 250decee4ac5
equal deleted inserted replaced
57451:3b10acac1d5e 57452:ecad2a53755a
     1 Isabelle NEWS -- history user-relevant changes
     1 Isabelle NEWS -- history user-relevant changes
     2 ==============================================
     2 ==============================================
     3 
     3 
     4 New in this Isabelle version
     4 New in Isabelle2014 (August 2014)
     5 ----------------------------
     5 ---------------------------------
     6 
     6 
     7 *** General ***
     7 *** General ***
     8 
     8 
     9 * Document antiquotation @{url} produces markup for the given URL,
     9 * Support for official Standard ML within the Isabelle context.
    10 which results in an active hyperlink within the text.
    10 Command 'SML_file' reads and evaluates the given Standard ML file.
    11 
    11 Toplevel bindings are stored within the theory context; the initial
    12 * Document antiquotation @{file_unchecked} is like @{file}, but does
    12 environment is restricted to the Standard ML implementation of
    13 not check existence within the file-system.
    13 Poly/ML, without the add-ons of Isabelle/ML.  Commands 'SML_import'
    14 
    14 and 'SML_export' allow to exchange toplevel bindings between the two
    15 * Discontinued legacy_isub_isup, which was a temporary Isabelle/ML
    15 separate environments.  See also ~~/src/Tools/SML/Examples.thy for
    16 workaround in Isabelle2013-1.  The prover process no longer accepts
    16 some examples.
    17 old identifier syntax with \<^isub> or \<^isup>.
       
    18 
       
    19 * Syntax of document antiquotation @{rail} now uses \<newline> instead
       
    20 of "\\", to avoid the optical illusion of escaped backslash within
       
    21 string token.  Minor INCOMPATIBILITY.
       
    22 
       
    23 * Lexical syntax (inner and outer) supports text cartouches with
       
    24 arbitrary nesting, and without escapes of quotes etc.  The Prover IDE
       
    25 supports input via ` (backquote).
       
    26 
       
    27 * The outer syntax categories "text" (for formal comments and document
       
    28 markup commands) and "altstring" (for literal fact references) allow
       
    29 cartouches as well, in addition to the traditional mix of quotations.
       
    30 
    17 
    31 * More static checking of proof methods, which allows the system to
    18 * More static checking of proof methods, which allows the system to
    32 form a closure over the concrete syntax.  Method arguments should be
    19 form a closure over the concrete syntax.  Method arguments should be
    33 processed in the original proof context as far as possible, before
    20 processed in the original proof context as far as possible, before
    34 operating on the goal state.  In any case, the standard discipline for
    21 operating on the goal state.  In any case, the standard discipline for
    35 subgoal-addressing needs to be observed: no subgoals or a subgoal
    22 subgoal-addressing needs to be observed: no subgoals or a subgoal
    36 number that is out of range produces an empty result sequence, not an
    23 number that is out of range produces an empty result sequence, not an
    37 exception.  Potential INCOMPATIBILITY for non-conformant tactical
    24 exception.  Potential INCOMPATIBILITY for non-conformant tactical
    38 proof tools.
    25 proof tools.
    39 
    26 
    40 * Support for official Standard ML within the Isabelle context.
    27 * Lexical syntax (inner and outer) supports text cartouches with
    41 Command 'SML_file' reads and evaluates the given Standard ML file.
    28 arbitrary nesting, and without escapes of quotes etc.  The Prover IDE
    42 Toplevel bindings are stored within the theory context; the initial
    29 supports input via ` (backquote).
    43 environment is restricted to the Standard ML implementation of
    30 
    44 Poly/ML, without the add-ons of Isabelle/ML.  Commands 'SML_import'
    31 * The outer syntax categories "text" (for formal comments and document
    45 and 'SML_export' allow to exchange toplevel bindings between the two
    32 markup commands) and "altstring" (for literal fact references) allow
    46 separate environments.  See also ~~/src/Tools/SML/Examples.thy for
    33 cartouches as well, in addition to the traditional mix of quotations.
    47 some examples.
    34 
    48 
    35 * Syntax of document antiquotation @{rail} now uses \<newline> instead
    49 * Updated and extended manuals: "codegen", "datatypes",
    36 of "\\", to avoid the optical illusion of escaped backslash within
    50 "implementation", "jedit", "system".
    37 string token.  General renovation of its syntax using text cartouces.
       
    38 Minor INCOMPATIBILITY.
       
    39 
       
    40 * Discontinued legacy_isub_isup, which was a temporary workaround for
       
    41 Isabelle/ML in Isabelle2013-1.  The prover process no longer accepts
       
    42 old identifier syntax with \<^isub> or \<^isup>.  Potential
       
    43 INCOMPATIBILITY.
       
    44 
       
    45 * Document antiquotation @{url} produces markup for the given URL,
       
    46 which results in an active hyperlink within the text.
       
    47 
       
    48 * Document antiquotation @{file_unchecked} is like @{file}, but does
       
    49 not check existence within the file-system.
       
    50 
       
    51 * Updated and extended manuals: codegen, datatypes, implementation,
       
    52 isar-ref, jedit, system.
    51 
    53 
    52 
    54 
    53 *** Prover IDE -- Isabelle/Scala/jEdit ***
    55 *** Prover IDE -- Isabelle/Scala/jEdit ***
    54 
    56 
    55 * Document panel: simplied interaction where every single mouse click
    57 * Improved Document panel: simplied interaction where every single
    56 (re)opens document via desktop environment or as jEdit buffer.
    58 mouse click (re)opens document via desktop environment or as jEdit
    57 
    59 buffer.
    58 * Support for Navigator plugin (with toolbar buttons).
    60 
       
    61 * Support for Navigator plugin (with toolbar buttons), with connection
       
    62 to PIDE hyperlinks.
       
    63 
       
    64 * Auxiliary files ('ML_file' etc.) are managed by the Prover IDE.
       
    65 Open text buffers take precedence over copies within the file-system.
       
    66 
       
    67 * Improved support for Isabelle/ML, with jEdit mode "isabelle-ml" for
       
    68 auxiliary ML files.
    59 
    69 
    60 * Improved syntactic and semantic completion mechanism, with simple
    70 * Improved syntactic and semantic completion mechanism, with simple
    61 templates, completion language context, name-space completion,
    71 templates, completion language context, name-space completion,
    62 file-name completion, spell-checker completion.
    72 file-name completion, spell-checker completion.
    63 
    73 
    69 selections, rectangular selections, rectangular selection as "tall
    79 selections, rectangular selections, rectangular selection as "tall
    70 caret".
    80 caret".
    71 
    81 
    72 * Integrated spell-checker for document text, comments etc. with
    82 * Integrated spell-checker for document text, comments etc. with
    73 completion popup and context-menu.
    83 completion popup and context-menu.
    74 
       
    75 * Auxiliary files ('ML_file' etc.) are managed by the Prover IDE.
       
    76 Open text buffers take precedence over copies within the file-system.
       
    77 
       
    78 * Improved support for Isabelle/ML, with jEdit mode "isabelle-ml" for
       
    79 auxiliary ML files.
       
    80 
    84 
    81 * More general "Query" panel supersedes "Find" panel, with GUI access
    85 * More general "Query" panel supersedes "Find" panel, with GUI access
    82 to commands 'find_theorems' and 'find_consts', as well as print
    86 to commands 'find_theorems' and 'find_consts', as well as print
    83 operations for the context.  Minor incompatibility in keyboard
    87 operations for the context.  Minor incompatibility in keyboard
    84 shortcuts etc.: replace action isabelle-find by isabelle-query.
    88 shortcuts etc.: replace action isabelle-find by isabelle-query.
    89 * Option "jedit_print_mode" (see also "Plugin Options / Isabelle /
    93 * Option "jedit_print_mode" (see also "Plugin Options / Isabelle /
    90 General") allows to specify additional print modes for the prover
    94 General") allows to specify additional print modes for the prover
    91 process, without requiring old-fashioned command-line invocation of
    95 process, without requiring old-fashioned command-line invocation of
    92 "isabelle jedit -m MODE".
    96 "isabelle jedit -m MODE".
    93 
    97 
       
    98 * More support for remote files (e.g. http) using standard Java
       
    99 networking operations instead of jEdit virtual file-systems.
       
   100 
       
   101 * Improved Console/Scala plugin: more uniform scala.Console output,
       
   102 more robust treatment of threads and interrupts.
       
   103 
       
   104 * Improved management of dockable windows: clarified keyboard focus
       
   105 and window placement wrt. main editor view; optional menu item to
       
   106 "Detach" a copy where this makes sense.
       
   107 
    94 * New Simplifier Trace panel provides an interactive view of the
   108 * New Simplifier Trace panel provides an interactive view of the
    95 simplification process, enabled by the "simplifier_trace" attribute
   109 simplification process, enabled by the "simplifier_trace" attribute
    96 within the context.
   110 within the context.
    97 
   111 
    98 * More support for remote files (e.g. http) using standard Java
       
    99 networking operations instead of jEdit virtual file-systems.
       
   100 
       
   101 * Improved Console/Scala plugin: more uniform scala.Console output,
       
   102 more robust treatment of threads and interrupts.
       
   103 
       
   104 * Improved management of dockable windows: clarified keyboard focus
       
   105 and window placement wrt. main editor view; optional menu item to
       
   106 "Detach" a copy where this makes sense.
       
   107 
   112 
   108 
   113 
   109 *** Pure ***
   114 *** Pure ***
   110 
   115 
   111 * Basic constants of Pure use more conventional names and are always
   116 * Basic constants of Pure use more conventional names and are always
   137 the auxiliary aliases are deleted.
   142 the auxiliary aliases are deleted.
   138 
   143 
   139 * Low-level type-class commands 'classes', 'classrel', 'arities' have
   144 * Low-level type-class commands 'classes', 'classrel', 'arities' have
   140 been discontinued to avoid the danger of non-trivial axiomatization
   145 been discontinued to avoid the danger of non-trivial axiomatization
   141 that is not immediately visible.  INCOMPATIBILITY, use regular
   146 that is not immediately visible.  INCOMPATIBILITY, use regular
   142 'instance' with proof.  The required OFCLASS(...) theorem might be
   147 'instance' command with proof.  The required OFCLASS(...) theorem
   143 postulated via 'axiomatization' beforehand, or the proof finished
   148 might be postulated via 'axiomatization' beforehand, or the proof
   144 trivially if the underlying class definition is made vacuous (without
   149 finished trivially if the underlying class definition is made vacuous
   145 any assumptions).  See also Isabelle/ML operations
   150 (without any assumptions).  See also Isabelle/ML operations
   146 Axclass.axiomatize_class, Axclass.axiomatize_classrel,
   151 Axclass.class_axiomatization, Axclass.classrel_axiomatization,
   147 Axclass.axiomatize_arity.
   152 Axclass.arity_axiomatization.
   148 
   153 
   149 * Attributes "where" and "of" allow an optional context of local
   154 * Attributes "where" and "of" allow an optional context of local
   150 variables ('for' declaration): these variables become schematic in the
   155 variables ('for' declaration): these variables become schematic in the
   151 instantiated theorem.
   156 instantiated theorem.
   152 
   157 
   165 context discipline.  See also Assumption.add_assumes and the more
   170 context discipline.  See also Assumption.add_assumes and the more
   166 primitive Thm.assume_hyps.
   171 primitive Thm.assume_hyps.
   167 
   172 
   168 * Inner syntax token language allows regular quoted strings "..."
   173 * Inner syntax token language allows regular quoted strings "..."
   169 (only makes sense in practice, if outer syntax is delimited
   174 (only makes sense in practice, if outer syntax is delimited
   170 differently).
   175 differently, e.g. via cartouches).
   171 
   176 
   172 * Code generator preprocessor: explicit control of simp tracing
   177 * Code generator preprocessor: explicit control of simp tracing on a
   173 on a per-constant basis.  See attribute "code_preproc".
   178 per-constant basis.  See attribute "code_preproc".
   174 
   179 
   175 * Command 'print_term_bindings' supersedes 'print_binds' for clarity,
   180 * Command 'print_term_bindings' supersedes 'print_binds' for clarity,
   176 but the latter is retained some time as Proof General legacy.
   181 but the latter is retained some time as Proof General legacy.
   177 
   182 
   178 
   183 
   179 *** HOL ***
   184 *** HOL ***
   180 
   185 
   181 * Qualified String.implode and String.explode.  INCOMPATIBILITY.
   186 * Qualified String.implode and String.explode.  INCOMPATIBILITY.
   182 
   187 
   183 * Command and antiquotation ''value'' are hardcoded against nbe and
   188 * Command and antiquotation "value" are now hardcoded against nbe and
   184 ML now.  Minor INCOMPATIBILITY.
   189 ML.  Minor INCOMPATIBILITY.
   185 
   190 
   186 * Separate command ''approximate'' for approximative computation
   191 * Separate command "approximate" for approximative computation in
   187 in Decision_Procs/Approximation.  Minor INCOMPATIBILITY.
   192 src/HOL/Decision_Procs/Approximation.  Minor INCOMPATIBILITY.
   188 
   193 
   189 * Adjustion of INF and SUP operations:
   194 * Adjustion of INF and SUP operations:
   190   * Elongated constants INFI and SUPR to INFIMUM and SUPREMUM.
   195   - Elongated constants INFI and SUPR to INFIMUM and SUPREMUM.
   191   * Consolidated theorem names containing INFI and SUPR: have INF
   196   - Consolidated theorem names containing INFI and SUPR: have INF and
   192   and SUP instead uniformly.
   197     SUP instead uniformly.
   193   * More aggressive normalization of expressions involving INF and Inf
   198   - More aggressive normalization of expressions involving INF and Inf
   194   or SUP and Sup.
   199     or SUP and Sup.
   195   * INF_image and SUP_image do not unfold composition.
   200   - INF_image and SUP_image do not unfold composition.
   196   * Dropped facts INF_comp, SUP_comp.
   201   - Dropped facts INF_comp, SUP_comp.
   197   * Default congruence rules strong_INF_cong and strong_SUP_cong,
   202   - Default congruence rules strong_INF_cong and strong_SUP_cong, with
   198   with simplifier implication in premises.  Generalize and replace
   203     simplifier implication in premises.  Generalize and replace former
   199   former INT_cong, SUP_cong
   204     INT_cong, SUP_cong
       
   205 
   200 INCOMPATIBILITY.
   206 INCOMPATIBILITY.
   201 
   207 
   202 * Swapped orientation of facts image_comp and vimage_comp:
   208 * Swapped orientation of facts image_comp and vimage_comp:
       
   209 
   203   image_compose ~> image_comp [symmetric]
   210   image_compose ~> image_comp [symmetric]
   204   image_comp ~> image_comp [symmetric]
   211   image_comp ~> image_comp [symmetric]
   205   vimage_compose ~> vimage_comp [symmetric]
   212   vimage_compose ~> vimage_comp [symmetric]
   206   vimage_comp ~> vimage_comp [symmetric]
   213   vimage_comp ~> vimage_comp [symmetric]
   207   INCOMPATIBILITY.
   214 
   208 
   215 INCOMPATIBILITY.
   209 * Simplifier: Enhanced solver of preconditions of rewrite rules
   216 
   210   can now deal with conjunctions.
   217 * Simplifier: Enhanced solver of preconditions of rewrite rules can
   211   For help with converting proofs, the old behaviour of the simplifier
   218 now deal with conjunctions.  For help with converting proofs, the old
   212   can be restored like this:  declare/using [[simp_legacy_precond]]
   219 behaviour of the simplifier can be restored like this: declare/using
   213   This configuration option will disappear again in the future.
   220 [[simp_legacy_precond]].  This configuration option will disappear
       
   221 again in the future.  INCOMPATIBILITY.
   214 
   222 
   215 * HOL-Word:
   223 * HOL-Word:
   216   * Abandoned fact collection "word_arith_alts", which is a
   224   - Abandoned fact collection "word_arith_alts", which is a duplicate
   217   duplicate of "word_arith_wis".
   225     of "word_arith_wis".
   218   * Dropped first (duplicated) element in fact collections
   226   - Dropped first (duplicated) element in fact collections
   219   "sint_word_ariths", "word_arith_alts", "uint_word_ariths",
   227     "sint_word_ariths", "word_arith_alts", "uint_word_ariths",
   220   "uint_word_arith_bintrs".
   228     "uint_word_arith_bintrs".
   221 
   229 
   222 * Code generator: enforce case of identifiers only for strict
   230 * Code generator: enforce case of identifiers only for strict target
   223 target language requirements.  INCOMPATIBILITY.
   231 language requirements.  INCOMPATIBILITY.
   224 
   232 
   225 * Code generator: explicit proof contexts in many ML interfaces.
   233 * Code generator: explicit proof contexts in many ML interfaces.
   226 INCOMPATIBILITY.
   234 INCOMPATIBILITY.
   227 
   235 
   228 * Code generator: minimize exported identifiers by default.
   236 * Code generator: minimize exported identifiers by default.  Minor
   229 Minor INCOMPATIBILITY.
   237 INCOMPATIBILITY.
   230 
   238 
   231 * Code generation for SML and OCaml: dropped arcane "no_signatures" option.
   239 * Code generation for SML and OCaml: dropped arcane "no_signatures"
   232 Minor INCOMPATIBILITY.
   240 option.  Minor INCOMPATIBILITY.
   233 
   241 
   234 * Simproc "finite_Collect" is no longer enabled by default, due to
   242 * Simproc "finite_Collect" is no longer enabled by default, due to
   235 spurious crashes and other surprises.  Potential INCOMPATIBILITY.
   243 spurious crashes and other surprises.  Potential INCOMPATIBILITY.
   236 
   244 
   237 * Moved new (co)datatype package and its dependencies from "HOL-BNF" to "HOL".
   245 * Moved new (co)datatype package and its dependencies from session
   238   The "bnf", "wrap_free_constructors", "datatype_new", "codatatype",
   246   "HOL-BNF" to "HOL".  The commands 'bnf', 'wrap_free_constructors',
   239   "primcorec", and "primcorecursive" commands are now part of "Main".
   247   'datatype_new', 'codatatype', 'primcorec', 'primcorecursive' are now
       
   248   part of theory "Main".
       
   249 
   240   Theory renamings:
   250   Theory renamings:
   241     FunDef.thy ~> Fun_Def.thy (and Fun_Def_Base.thy)
   251     FunDef.thy ~> Fun_Def.thy (and Fun_Def_Base.thy)
   242     Library/Wfrec.thy ~> Wfrec.thy
   252     Library/Wfrec.thy ~> Wfrec.thy
   243     Library/Zorn.thy ~> Zorn.thy
   253     Library/Zorn.thy ~> Zorn.thy
   244     Cardinals/Order_Relation.thy ~> Order_Relation.thy
   254     Cardinals/Order_Relation.thy ~> Order_Relation.thy
   258     BNF/BNF_Util.thy ~> BNF_Util.thy
   268     BNF/BNF_Util.thy ~> BNF_Util.thy
   259     BNF/Coinduction.thy ~> Coinduction.thy
   269     BNF/Coinduction.thy ~> Coinduction.thy
   260     BNF/More_BNFs.thy ~> Library/More_BNFs.thy
   270     BNF/More_BNFs.thy ~> Library/More_BNFs.thy
   261     BNF/Countable_Type.thy ~> Library/Countable_Set_Type.thy
   271     BNF/Countable_Type.thy ~> Library/Countable_Set_Type.thy
   262     BNF/Examples/* ~> BNF_Examples/*
   272     BNF/Examples/* ~> BNF_Examples/*
       
   273 
   263   New theories:
   274   New theories:
   264     Wellorder_Extension.thy (split from Zorn.thy)
   275     Wellorder_Extension.thy (split from Zorn.thy)
   265     Library/Cardinal_Notations.thy
   276     Library/Cardinal_Notations.thy
   266     Library/BNF_Axomatization.thy
   277     Library/BNF_Axomatization.thy
   267     BNF_Examples/Misc_Primcorec.thy
   278     BNF_Examples/Misc_Primcorec.thy
   268     BNF_Examples/Stream_Processor.thy
   279     BNF_Examples/Stream_Processor.thy
       
   280 
   269   Discontinued theories:
   281   Discontinued theories:
   270     BNF/BNF.thy
   282     BNF/BNF.thy
   271     BNF/Equiv_Relations_More.thy
   283     BNF/Equiv_Relations_More.thy
   272   INCOMPATIBILITY.
   284 
       
   285 INCOMPATIBILITY.
   273 
   286 
   274 * New (co)datatype package:
   287 * New (co)datatype package:
   275   * "primcorec" is fully implemented.
   288   - Command 'primcorec' is fully implemented.
   276   * "datatype_new" generates size functions ("size_xxx" and "size") as
   289   - Command 'datatype_new' generates size functions ("size_xxx" and
   277     required by "fun".
   290     "size") as required by 'fun'.
   278   * BNFs are integrated with the Lifting tool and new-style (co)datatypes
   291   - BNFs are integrated with the Lifting tool and new-style
   279     with Transfer.
   292     (co)datatypes with Transfer.
   280   * Renamed commands:
   293   - Renamed commands:
   281       datatype_new_compat ~> datatype_compat
   294       datatype_new_compat ~> datatype_compat
   282       primrec_new ~> primrec
   295       primrec_new ~> primrec
   283       wrap_free_constructors ~> free_constructors
   296       wrap_free_constructors ~> free_constructors
   284     INCOMPATIBILITY.
   297     INCOMPATIBILITY.
   285   * The generated constants "xxx_case" and "xxx_rec" have been renamed
   298   - The generated constants "xxx_case" and "xxx_rec" have been renamed
   286     "case_xxx" and "rec_xxx" (e.g., "prod_case" ~> "case_prod").
   299     "case_xxx" and "rec_xxx" (e.g., "prod_case" ~> "case_prod").
   287     INCOMPATIBILITY.
   300     INCOMPATIBILITY.
   288   * The constant "xxx_(un)fold" and related theorems are no longer generated.
   301   - The constant "xxx_(un)fold" and related theorems are no longer
   289     Use "xxx_(co)rec" or define "xxx_(un)fold" manually using "prim(co)rec".
   302     generated.  Use "xxx_(co)rec" or define "xxx_(un)fold" manually
       
   303     using "prim(co)rec".
   290     INCOMPATIBILITY.
   304     INCOMPATIBILITY.
   291   * No discriminators are generated for nullary constructors by default,
   305   - No discriminators are generated for nullary constructors by
   292     eliminating the need for the odd "=:" syntax.
   306     default, eliminating the need for the odd "=:" syntax.
   293     INCOMPATIBILITY.
   307     INCOMPATIBILITY.
   294   * No discriminators or selectors are generated by default by
   308   - No discriminators or selectors are generated by default by
   295     "datatype_new", unless custom names are specified or the new
   309     "datatype_new", unless custom names are specified or the new
   296     "discs_sels" option is passed.
   310     "discs_sels" option is passed.
   297     INCOMPATIBILITY.
   311     INCOMPATIBILITY.
   298 
   312 
   299 * Old datatype package:
   313 * Old datatype package:
   300   * The generated theorems "xxx.cases" and "xxx.recs" have been renamed
   314   - The generated theorems "xxx.cases" and "xxx.recs" have been
   301     "xxx.case" and "xxx.rec" (e.g., "sum.cases" -> "sum.case").
   315     renamed "xxx.case" and "xxx.rec" (e.g., "sum.cases" ->
   302     INCOMPATIBILITY.
   316     "sum.case").  INCOMPATIBILITY.
   303   * The generated constants "xxx_case", "xxx_rec", and "xxx_size" have been
   317   - The generated constants "xxx_case", "xxx_rec", and "xxx_size" have
   304     renamed "case_xxx", "rec_xxx", and "size_xxx" (e.g., "prod_case" ~>
   318     been renamed "case_xxx", "rec_xxx", and "size_xxx" (e.g.,
   305     "case_prod").
   319     "prod_case" ~> "case_prod").  INCOMPATIBILITY.
   306     INCOMPATIBILITY.
   320 
   307 
   321 * The types "'a list" and "'a option", their set and map functions,
   308 * The types "'a list" and "'a option", their set and map functions, their
   322   their relators, and their selectors are now produced using the new
   309   relators, and their selectors are now produced using the new BNF-based
   323   BNF-based datatype package.
   310   datatype package.
   324 
   311   Renamed constants:
   325   Renamed constants:
   312     Option.set ~> set_option
   326     Option.set ~> set_option
   313     Option.map ~> map_option
   327     Option.map ~> map_option
   314     option_rel ~> rel_option
   328     option_rel ~> rel_option
       
   329 
   315   Renamed theorems:
   330   Renamed theorems:
   316     set_def ~> set_rec[abs_def]
   331     set_def ~> set_rec[abs_def]
   317     map_def ~> map_rec[abs_def]
   332     map_def ~> map_rec[abs_def]
   318     Option.map_def ~> map_option_case[abs_def] (with "case_option" instead of "rec_option")
   333     Option.map_def ~> map_option_case[abs_def] (with "case_option" instead of "rec_option")
   319     option.recs ~> option.rec
   334     option.recs ~> option.rec
   321     set.simps ~> set_simps (or the slightly different "list.set")
   336     set.simps ~> set_simps (or the slightly different "list.set")
   322     map.simps ~> list.map
   337     map.simps ~> list.map
   323     hd.simps ~> list.sel(1)
   338     hd.simps ~> list.sel(1)
   324     tl.simps ~> list.sel(2-3)
   339     tl.simps ~> list.sel(2-3)
   325     the.simps ~> option.sel
   340     the.simps ~> option.sel
   326   INCOMPATIBILITY.
   341 
       
   342 INCOMPATIBILITY.
   327 
   343 
   328 * The following map functions and relators have been renamed:
   344 * The following map functions and relators have been renamed:
   329     sum_map ~> map_sum
   345     sum_map ~> map_sum
   330     map_pair ~> map_prod
   346     map_pair ~> map_prod
   331     prod_rel ~> rel_prod
   347     prod_rel ~> rel_prod
   332     sum_rel ~> rel_sum
   348     sum_rel ~> rel_sum
   333     fun_rel ~> rel_fun
   349     fun_rel ~> rel_fun
   334     set_rel ~> rel_set
   350     set_rel ~> rel_set
   335     filter_rel ~> rel_filter
   351     filter_rel ~> rel_filter
   336     fset_rel ~> rel_fset (in "Library/FSet.thy")
   352     fset_rel ~> rel_fset (in "src/HOL/Library/FSet.thy")
   337     cset_rel ~> rel_cset (in "Library/Countable_Set_Type.thy")
   353     cset_rel ~> rel_cset (in "src/HOL/Library/Countable_Set_Type.thy")
   338     vset ~> rel_vset (in "Library/Quotient_Set.thy")
   354     vset ~> rel_vset (in "src/HOL/Library/Quotient_Set.thy")
   339 
   355 
   340 * New theories:
   356 INCOMPATIBILITY.
   341     Cardinals/Ordinal_Arithmetic.thy
   357 
   342     Library/Tree
   358 * New theory src/HOL/Cardinals/Ordinal_Arithmetic.thy.
   343 
   359 
   344 * Theory reorganizations:
   360 * New theory src/HOL/Library/Tree.thy.
   345   * Big_Operators.thy ~> Groups_Big.thy and Lattices_Big.thy
   361 
       
   362 * Theory reorganization:
       
   363   Big_Operators.thy ~> Groups_Big.thy and Lattices_Big.thy
   346 
   364 
   347 * Consolidated some facts about big group operators:
   365 * Consolidated some facts about big group operators:
   348 
   366 
   349     setsum_0' ~> setsum.neutral
   367     setsum_0' ~> setsum.neutral
   350     setsum_0 ~> setsum.neutral_const
   368     setsum_0 ~> setsum.neutral_const
   409   Dropped setsum_cong2 (simple variant of setsum.cong).
   427   Dropped setsum_cong2 (simple variant of setsum.cong).
   410   Dropped setsum_inter_restrict' (simple variant of setsum.inter_restrict)
   428   Dropped setsum_inter_restrict' (simple variant of setsum.inter_restrict)
   411   Dropped setsum_reindex_id, setprod_reindex_id
   429   Dropped setsum_reindex_id, setprod_reindex_id
   412     (simple variants of setsum.reindex [symmetric], setprod.reindex [symmetric]).
   430     (simple variants of setsum.reindex [symmetric], setprod.reindex [symmetric]).
   413 
   431 
   414   INCOMPATIBILITY.
   432 INCOMPATIBILITY.
   415 
   433 
   416 * New internal SAT solver "cdclite" that produces models and proof traces.
   434 * New internal SAT solver "cdclite" that produces models and proof
   417   This solver replaces the internal SAT solvers "enumerate" and "dpll".
   435 traces.  This solver replaces the internal SAT solvers "enumerate" and
   418   Applications that explicitly used one of these two SAT solvers should
   436 "dpll".  Applications that explicitly used one of these two SAT
   419   use "cdclite" instead. In addition, "cdclite" is now the default SAT
   437 solvers should use "cdclite" instead. In addition, "cdclite" is now
   420   solver for the "sat" and "satx" proof methods and corresponding tactics;
   438 the default SAT solver for the "sat" and "satx" proof methods and
   421   the old default can be restored using
   439 corresponding tactics; the old default can be restored using "declare
   422   "declare [[sat_solver = zchaff_with_proofs]]". Minor INCOMPATIBILITY.
   440 [[sat_solver = zchaff_with_proofs]]".  Minor INCOMPATIBILITY.
   423 
   441 
   424 * SMT module:
   442 * SMT module: A new version of the SMT module, temporarily called
   425   * A new version of the SMT module, temporarily called "SMT2", uses SMT-LIB 2
   443 "SMT2", uses SMT-LIB 2 and supports recent versions of Z3 (e.g.,
   426     and supports recent versions of Z3 (e.g., 4.3). The new proof method is
   444 4.3). The new proof method is called "smt2". CVC3 and CVC4 are also
   427     called "smt2". CVC3 and CVC4 are also supported as oracles. Yices is no
   445 supported as oracles. Yices is no longer supported, because no version
   428     longer supported, because no version of the solver can handle both
   446 of the solver can handle both SMT-LIB 2 and quantifiers.
   429     SMT-LIB 2 and quantifiers.
       
   430 
   447 
   431 * Sledgehammer:
   448 * Sledgehammer:
   432   - Z3 can now produce Isar proofs.
   449   - Z3 can now produce Isar proofs.
   433   - MaSh overhaul:
   450   - MaSh overhaul:
   434       - New SML-based learning engines eliminate the dependency on Python
   451     . New SML-based learning engines eliminate the dependency on
   435         and increase performance and reliability.
   452       Python and increase performance and reliability.
   436       - MaSh and MeSh are now used by default together with the traditional
   453     . MaSh and MeSh are now used by default together with the
   437         MePo (Meng-Paulson) relevance filter. To disable MaSh, set the "MaSh"
   454       traditional MePo (Meng-Paulson) relevance filter. To disable
   438         system option in Plugin Options / Isabelle / General to "none".
   455       MaSh, set the "MaSh" system option in Isabelle/jEdit Plugin
       
   456       Options / Isabelle / General to "none".
   439   - New option:
   457   - New option:
   440       smt_proofs
   458       smt_proofs
   441   - Renamed options:
   459   - Renamed options:
   442       isar_compress ~> compress
   460       isar_compress ~> compress
   443       isar_try0 ~> try0
   461       isar_try0 ~> try0
   444     INCOMPATIBILITY.
   462 
   445 
   463 INCOMPATIBILITY.
   446 * Metis:
   464 
   447   - Removed legacy proof method 'metisFT'. Use 'metis (full_types)' instead.
   465 * Metis: Removed legacy proof method 'metisFT'. Use 'metis
   448     INCOMPATIBILITY.
   466 (full_types)' instead. INCOMPATIBILITY.
   449 
   467 
   450 * Try0: Added 'algebra' and 'meson' to the set of proof methods.
   468 * Try0: Added 'algebra' and 'meson' to the set of proof methods.
   451 
   469 
   452 * Command renaming: enriched_type ~> functor. INCOMPATIBILITY.
   470 * Command renaming: enriched_type ~> functor. INCOMPATIBILITY.
   453 
   471 
   465 * "declare [[code drop: ...]]" drops all code equations associated
   483 * "declare [[code drop: ...]]" drops all code equations associated
   466 with the given constants.
   484 with the given constants.
   467 
   485 
   468 * Abolished slightly odd global lattice interpretation for min/max.
   486 * Abolished slightly odd global lattice interpretation for min/max.
   469 
   487 
   470 Fact consolidations:
   488   Fact consolidations:
   471     min_max.inf_assoc ~> min.assoc
   489     min_max.inf_assoc ~> min.assoc
   472     min_max.inf_commute ~> min.commute
   490     min_max.inf_commute ~> min.commute
   473     min_max.inf_left_commute ~> min.left_commute
   491     min_max.inf_left_commute ~> min.left_commute
   474     min_max.inf_idem ~> min.idem
   492     min_max.inf_idem ~> min.idem
   475     min_max.inf_left_idem ~> min.left_idem
   493     min_max.inf_left_idem ~> min.left_idem
   511 
   529 
   512 For min_max.inf_sup_aci, prefer (one of) min.commute, min.assoc,
   530 For min_max.inf_sup_aci, prefer (one of) min.commute, min.assoc,
   513 min.left_commute, min.left_idem, max.commute, max.assoc,
   531 min.left_commute, min.left_idem, max.commute, max.assoc,
   514 max.left_commute, max.left_idem directly.
   532 max.left_commute, max.left_idem directly.
   515 
   533 
   516 For min_max.inf_sup_ord, prefer (one of) min.cobounded1, min.cobounded2,
   534 For min_max.inf_sup_ord, prefer (one of) min.cobounded1,
   517 max.cobounded1m max.cobounded2 directly.
   535 min.cobounded2, max.cobounded1m max.cobounded2 directly.
   518 
   536 
   519 For min_ac or max_ac, prefer more general collection ac_simps.
   537 For min_ac or max_ac, prefer more general collection ac_simps.
   520 
   538 
   521 INCOMPATBILITY.
   539 INCOMPATBILITY.
   522 
   540 
   523 * Word library: bit representations prefer type bool over type bit.
   541 * HOL-Word: bit representations prefer type bool over type bit.
   524 INCOMPATIBILITY.
   542 INCOMPATIBILITY.
   525 
   543 
   526 * Theorem disambiguation Inf_le_Sup (on finite sets) ~> Inf_fin_le_Sup_fin.
   544 * Theorem disambiguation Inf_le_Sup (on finite sets) ~>
   527 INCOMPATIBILITY.
   545 Inf_fin_le_Sup_fin.  INCOMPATIBILITY.
   528 
   546 
   529 * Code generations are provided for make, fields, extend and truncate
   547 * Code generations are provided for make, fields, extend and truncate
   530 operations on records.
   548 operations on records.
   531 
   549 
   532 * Qualified constant names Wellfounded.acc, Wellfounded.accp.
   550 * Qualified constant names Wellfounded.acc, Wellfounded.accp.
   533 INCOMPATIBILITY.
   551 INCOMPATIBILITY.
   534 
   552 
   535 * Fact generalization and consolidation:
   553 * Fact generalization and consolidation:
   536     neq_one_mod_two, mod_2_not_eq_zero_eq_one_int ~> not_mod_2_eq_0_eq_1
   554     neq_one_mod_two, mod_2_not_eq_zero_eq_one_int ~> not_mod_2_eq_0_eq_1
       
   555 
   537 INCOMPATIBILITY.
   556 INCOMPATIBILITY.
   538 
   557 
   539 * Purely algebraic definition of even.  Fact generalization and consolidation:
   558 * Purely algebraic definition of even.  Fact generalization and
       
   559   consolidation:
   540     nat_even_iff_2_dvd, int_even_iff_2_dvd ~> even_iff_2_dvd
   560     nat_even_iff_2_dvd, int_even_iff_2_dvd ~> even_iff_2_dvd
   541     even_zero_(nat|int) ~> even_zero
   561     even_zero_(nat|int) ~> even_zero
       
   562 
   542 INCOMPATIBILITY.
   563 INCOMPATIBILITY.
   543 
   564 
   544 * Abolished neg_numeral.
   565 * Abolished neg_numeral.
   545   * Canonical representation for minus one is "- 1".
   566   - Canonical representation for minus one is "- 1".
   546   * Canonical representation for other negative numbers is "- (numeral _)".
   567   - Canonical representation for other negative numbers is "- (numeral _)".
   547   * When devising rule sets for number calculation, consider the
   568   - When devising rule sets for number calculation, consider the
   548     following canonical cases: 0, 1, numeral _, - 1, - numeral _.
   569     following canonical cases: 0, 1, numeral _, - 1, - numeral _.
   549   * HOLogic.dest_number also recognizes numerals in non-canonical forms
   570   - HOLogic.dest_number also recognizes numerals in non-canonical forms
   550     like "numeral One", "- numeral One", "- 0" and even "- ... - _".
   571     like "numeral One", "- numeral One", "- 0" and even "- ... - _".
   551   * Syntax for negative numerals is mere input syntax.
   572   - Syntax for negative numerals is mere input syntax.
       
   573 
   552 INCOMPATIBILITY.
   574 INCOMPATIBILITY.
   553 
   575 
   554 * Elimination of fact duplicates:
   576 * Elimination of fact duplicates:
   555     equals_zero_I ~> minus_unique
   577     equals_zero_I ~> minus_unique
   556     diff_eq_0_iff_eq ~> right_minus_eq
   578     diff_eq_0_iff_eq ~> right_minus_eq
   557     nat_infinite ~> infinite_UNIV_nat
   579     nat_infinite ~> infinite_UNIV_nat
   558     int_infinite ~> infinite_UNIV_int
   580     int_infinite ~> infinite_UNIV_int
       
   581 
   559 INCOMPATIBILITY.
   582 INCOMPATIBILITY.
   560 
   583 
   561 * Fact name consolidation:
   584 * Fact name consolidation:
   562     diff_def, diff_minus, ab_diff_minus ~> diff_conv_add_uminus
   585     diff_def, diff_minus, ab_diff_minus ~> diff_conv_add_uminus
   563     minus_le_self_iff ~> neg_less_eq_nonneg
   586     minus_le_self_iff ~> neg_less_eq_nonneg
   564     le_minus_self_iff ~> less_eq_neg_nonpos
   587     le_minus_self_iff ~> less_eq_neg_nonpos
   565     neg_less_nonneg ~> neg_less_pos
   588     neg_less_nonneg ~> neg_less_pos
   566     less_minus_self_iff ~> less_neg_neg [simp]
   589     less_minus_self_iff ~> less_neg_neg [simp]
       
   590 
   567 INCOMPATIBILITY.
   591 INCOMPATIBILITY.
   568 
   592 
   569 * More simplification rules on unary and binary minus:
   593 * More simplification rules on unary and binary minus:
   570 add_diff_cancel, add_diff_cancel_left, add_le_same_cancel1,
   594 add_diff_cancel, add_diff_cancel_left, add_le_same_cancel1,
   571 add_le_same_cancel2, add_less_same_cancel1, add_less_same_cancel2,
   595 add_le_same_cancel2, add_less_same_cancel1, add_less_same_cancel2,
   572 add_minus_cancel, diff_add_cancel, le_add_same_cancel1,
   596 add_minus_cancel, diff_add_cancel, le_add_same_cancel1,
   573 le_add_same_cancel2, less_add_same_cancel1, less_add_same_cancel2,
   597 le_add_same_cancel2, less_add_same_cancel1, less_add_same_cancel2,
   574 minus_add_cancel, uminus_add_conv_diff.  These correspondingly
   598 minus_add_cancel, uminus_add_conv_diff.  These correspondingly have
   575 have been taken away from fact collections algebra_simps and
   599 been taken away from fact collections algebra_simps and field_simps.
   576 field_simps.  INCOMPATIBILITY.
   600 INCOMPATIBILITY.
   577 
   601 
   578 To restore proofs, the following patterns are helpful:
   602 To restore proofs, the following patterns are helpful:
   579 
   603 
   580 a) Arbitrary failing proof not involving "diff_def":
   604 a) Arbitrary failing proof not involving "diff_def":
   581 Consider simplification with algebra_simps or field_simps.
   605 Consider simplification with algebra_simps or field_simps.
   586 c) Simplification with "diff_def": just drop "diff_def".
   610 c) Simplification with "diff_def": just drop "diff_def".
   587 Consider simplification with algebra_simps or field_simps;
   611 Consider simplification with algebra_simps or field_simps;
   588 or the brute way with
   612 or the brute way with
   589 "simp add: diff_conv_add_uminus del: add_uminus_conv_diff".
   613 "simp add: diff_conv_add_uminus del: add_uminus_conv_diff".
   590 
   614 
   591 * SUP and INF generalized to conditionally_complete_lattice
   615 * SUP and INF generalized to conditionally_complete_lattice.
   592 
   616 
   593 * Theory Lubs moved HOL image to HOL-Library. It is replaced by
   617 * Theory Lubs moved HOL image to HOL-Library. It is replaced by
   594 Conditionally_Complete_Lattices.   INCOMPATIBILITY.
   618 Conditionally_Complete_Lattices.  INCOMPATIBILITY.
   595 
   619 
   596 * Introduce bdd_above and bdd_below in Conditionally_Complete_Lattices, use them
   620 * Introduce bdd_above and bdd_below in theory
   597 instead of explicitly stating boundedness of sets.
   621 Conditionally_Complete_Lattices, use them instead of explicitly
   598 
   622 stating boundedness of sets.
   599 * ccpo.admissible quantifies only over non-empty chains to allow
   623 
   600 more syntax-directed proof rules; the case of the empty chain
   624 * ccpo.admissible quantifies only over non-empty chains to allow more
   601 shows up as additional case in fixpoint induction proofs.
   625 syntax-directed proof rules; the case of the empty chain shows up as
   602 INCOMPATIBILITY
   626 additional case in fixpoint induction proofs.  INCOMPATIBILITY.
   603 
   627 
   604 * Removed and renamed theorems in Series:
   628 * Removed and renamed theorems in Series:
   605   summable_le         ~>  suminf_le
   629   summable_le         ~>  suminf_le
   606   suminf_le           ~>  suminf_le_const
   630   suminf_le           ~>  suminf_le_const
   607   series_pos_le       ~>  setsum_le_suminf
   631   series_pos_le       ~>  setsum_le_suminf
   615   ratio_test          ~>  summable_ratio_test
   639   ratio_test          ~>  summable_ratio_test
   616 
   640 
   617   removed series_zero, replaced by sums_finite
   641   removed series_zero, replaced by sums_finite
   618 
   642 
   619   removed auxiliary lemmas:
   643   removed auxiliary lemmas:
       
   644 
   620     sumr_offset, sumr_offset2, sumr_offset3, sumr_offset4, sumr_group,
   645     sumr_offset, sumr_offset2, sumr_offset3, sumr_offset4, sumr_group,
   621     half, le_Suc_ex_iff, lemma_realpow_diff_sumr, real_setsum_nat_ivl_bounded,
   646     half, le_Suc_ex_iff, lemma_realpow_diff_sumr,
   622     summable_le2, ratio_test_lemma2, sumr_minus_one_realpow_zerom,
   647     real_setsum_nat_ivl_bounded, summable_le2, ratio_test_lemma2,
   623     sumr_one_lb_realpow_zero, summable_convergent_sumr_iff, sumr_diff_mult_const
   648     sumr_minus_one_realpow_zerom, sumr_one_lb_realpow_zero,
       
   649     summable_convergent_sumr_iff, sumr_diff_mult_const
       
   650 
   624 INCOMPATIBILITY.
   651 INCOMPATIBILITY.
   625 
   652 
   626 * Replace (F)DERIV syntax by has_derivative:
   653 * Replace (F)DERIV syntax by has_derivative:
   627   - "(f has_derivative f') (at x within s)" replaces "FDERIV f x : s : f'"
   654   - "(f has_derivative f') (at x within s)" replaces "FDERIV f x : s : f'"
   628 
   655 
   630 
   657 
   631   - "f differentiable at x within s" replaces "_ differentiable _ in _" syntax
   658   - "f differentiable at x within s" replaces "_ differentiable _ in _" syntax
   632 
   659 
   633   - removed constant isDiff
   660   - removed constant isDiff
   634 
   661 
   635   - "DERIV f x : f'" and "FDERIV f x : f'" syntax is only available as input
   662   - "DERIV f x : f'" and "FDERIV f x : f'" syntax is only available as
   636     syntax.
   663     input syntax.
   637 
   664 
   638   - "DERIV f x : s : f'" and "FDERIV f x : s : f'" syntax removed
   665   - "DERIV f x : s : f'" and "FDERIV f x : s : f'" syntax removed.
   639 
   666 
   640   - Renamed FDERIV_... lemmas to has_derivative_...
   667   - Renamed FDERIV_... lemmas to has_derivative_...
   641 
   668 
   642   - renamed deriv (the syntax constant used for "DERIV _ _ :> _") to DERIV
   669   - renamed deriv (the syntax constant used for "DERIV _ _ :> _") to DERIV
   643 
   670 
   644   - removed DERIV_intros, has_derivative_eq_intros
   671   - removed DERIV_intros, has_derivative_eq_intros
   645 
   672 
   646   - introduced derivative_intros and deriative_eq_intros which includes now rules for
   673   - introduced derivative_intros and deriative_eq_intros which
   647     DERIV, has_derivative and has_vector_derivative.
   674     includes now rules for DERIV, has_derivative and
       
   675     has_vector_derivative.
   648 
   676 
   649   - Other renamings:
   677   - Other renamings:
   650     differentiable_def        ~>  real_differentiable_def
   678     differentiable_def        ~>  real_differentiable_def
   651     differentiableE           ~>  real_differentiableE
   679     differentiableE           ~>  real_differentiableE
   652     fderiv_def                ~>  has_derivative_at
   680     fderiv_def                ~>  has_derivative_at
   653     field_fderiv_def          ~>  field_has_derivative_at
   681     field_fderiv_def          ~>  field_has_derivative_at
   654     isDiff_der                ~>  differentiable_def
   682     isDiff_der                ~>  differentiable_def
   655     deriv_fderiv              ~>  has_field_derivative_def
   683     deriv_fderiv              ~>  has_field_derivative_def
   656     deriv_def                 ~>  DERIV_def
   684     deriv_def                 ~>  DERIV_def
       
   685 
   657 INCOMPATIBILITY.
   686 INCOMPATIBILITY.
   658 
   687 
   659 * Include more theorems in continuous_intros. Remove the continuous_on_intros,
   688 * Include more theorems in continuous_intros. Remove the
   660   isCont_intros collections, these facts are now in continuous_intros.
   689 continuous_on_intros, isCont_intros collections, these facts are now
   661 
   690 in continuous_intros.
   662 * Theorems about complex numbers are now stated only using Re and Im, the Complex
   691 
   663   constructor is not used anymore. It is possible to use primcorec to defined the
   692 * Theorems about complex numbers are now stated only using Re and Im,
   664   behaviour of a complex-valued function.
   693 the Complex constructor is not used anymore. It is possible to use
   665 
   694 primcorec to defined the behaviour of a complex-valued function.
   666   Removed theorems about the Complex constructor from the simpset, they are
   695 
   667   available as the lemma collection legacy_Complex_simps. This especially
   696 Removed theorems about the Complex constructor from the simpset, they
   668   removes
   697 are available as the lemma collection legacy_Complex_simps. This
       
   698 especially removes
       
   699 
   669     i_complex_of_real: "ii * complex_of_real r = Complex 0 r".
   700     i_complex_of_real: "ii * complex_of_real r = Complex 0 r".
   670 
   701 
   671   Instead the reverse direction is supported with
   702 Instead the reverse direction is supported with
   672     Complex_eq: "Complex a b = a + \<i> * b"
   703     Complex_eq: "Complex a b = a + \<i> * b"
   673 
   704 
   674   Moved csqrt from Fundamental_Algebra_Theorem to Complex.
   705 Moved csqrt from Fundamental_Algebra_Theorem to Complex.
   675 
   706 
   676   Renamings:
   707   Renamings:
   677     Re/Im                  ~>  complex.sel
   708     Re/Im                  ~>  complex.sel
   678     complex_Re/Im_zero     ~>  zero_complex.sel
   709     complex_Re/Im_zero     ~>  zero_complex.sel
   679     complex_Re/Im_add      ~>  plus_complex.sel
   710     complex_Re/Im_add      ~>  plus_complex.sel
   699     complex_one_def
   730     complex_one_def
   700     complex_mult_def
   731     complex_mult_def
   701     complex_inverse_def
   732     complex_inverse_def
   702     complex_scaleR_def
   733     complex_scaleR_def
   703 
   734 
       
   735 INCOMPATIBILITY.
       
   736 
   704 * Removed solvers remote_cvc3 and remote_z3. Use cvc3 and z3 instead.
   737 * Removed solvers remote_cvc3 and remote_z3. Use cvc3 and z3 instead.
   705 
   738 
   706 * Nitpick:
   739 * Nitpick:
   707   - Fixed soundness bug whereby mutually recursive datatypes could take
   740   - Fixed soundness bug whereby mutually recursive datatypes could
   708     infinite values.
   741     take infinite values.
   709   - Fixed soundness bug with low-level number functions such as "Abs_Integ" and
   742   - Fixed soundness bug with low-level number functions such as
   710     "Rep_Integ".
   743     "Abs_Integ" and "Rep_Integ".
   711   - Removed "std" option.
   744   - Removed "std" option.
   712   - Renamed "show_datatypes" to "show_types" and "hide_datatypes" to
   745   - Renamed "show_datatypes" to "show_types" and "hide_datatypes" to
   713     "hide_types".
   746     "hide_types".
   714 
   747 
   715 * HOL-Multivariate_Analysis:
   748 * HOL-Multivariate_Analysis:
   716   - type class ordered_real_vector for ordered vector spaces
   749   - Type class ordered_real_vector for ordered vector spaces.
   717   - new theory Complex_Basic_Analysis defining complex derivatives,
   750   - New theory Complex_Basic_Analysis defining complex derivatives,
   718     holomorphic functions, etc., ported from HOL Light's canal.ml.
   751     holomorphic functions, etc., ported from HOL Light's canal.ml.
   719   - changed order of ordered_euclidean_space to be compatible with
   752   - Changed order of ordered_euclidean_space to be compatible with
   720     pointwise ordering on products. Therefore instance of
   753     pointwise ordering on products. Therefore instance of
   721     conditionally_complete_lattice and ordered_real_vector.
   754     conditionally_complete_lattice and ordered_real_vector.
   722     INCOMPATIBILITY: use box instead of greaterThanLessThan or
   755     INCOMPATIBILITY: use box instead of greaterThanLessThan or
   723     explicit set-comprehensions with eucl_less for other (half-) open
   756     explicit set-comprehensions with eucl_less for other (half-)open
   724     intervals.
   757     intervals.
   725 
       
   726   - renamed theorems:
   758   - renamed theorems:
   727     derivative_linear         ~>  has_derivative_bounded_linear
   759     derivative_linear         ~>  has_derivative_bounded_linear
   728     derivative_is_linear      ~>  has_derivative_linear
   760     derivative_is_linear      ~>  has_derivative_linear
   729     bounded_linear_imp_linear ~>  bounded_linear.linear
   761     bounded_linear_imp_linear ~>  bounded_linear.linear
   730 
   762 
   731 * HOL-Probability:
   763 * HOL-Probability:
   732   - replaced the Lebesgue integral on real numbers by the more general Bochner
   764   - replaced the Lebesgue integral on real numbers by the more general
   733     integral for functions into a real-normed vector space.
   765     Bochner integral for functions into a real-normed vector space.
   734 
   766 
   735     integral_zero               ~>  integral_zero / integrable_zero
   767     integral_zero               ~>  integral_zero / integrable_zero
   736     integral_minus              ~>  integral_minus / integrable_minus
   768     integral_minus              ~>  integral_minus / integrable_minus
   737     integral_add                ~>  integral_add / integrable_add
   769     integral_add                ~>  integral_add / integrable_add
   738     integral_diff               ~>  integral_diff / integrable_diff
   770     integral_diff               ~>  integral_diff / integrable_diff
   791     integral_cmul_indicator
   823     integral_cmul_indicator
   792     integral_real
   824     integral_real
   793 
   825 
   794   - Renamed positive_integral to nn_integral:
   826   - Renamed positive_integral to nn_integral:
   795 
   827 
   796     * Renamed all lemmas "*positive_integral*" to *nn_integral*"
   828     . Renamed all lemmas "*positive_integral*" to *nn_integral*"
   797       positive_integral_positive ~> nn_integral_nonneg
   829       positive_integral_positive ~> nn_integral_nonneg
   798 
   830 
   799     * Renamed abbreviation integral\<^sup>P to integral\<^sup>N.
   831     . Renamed abbreviation integral\<^sup>P to integral\<^sup>N.
   800 
   832 
   801   - Formalized properties about exponentially, Erlang, and normal distributed
   833   - Formalized properties about exponentially, Erlang, and normal
   802     random variables.
   834     distributed random variables.
   803 
   835 
   804 * Library/Kleene-Algebra was removed because AFP/Kleene_Algebra subsumes it.
   836 * Removed theory src/HOL/Library/Kleene_Algebra.thy; it is subsumed by
       
   837 session Kleene_Algebra in AFP.
       
   838 
   805 
   839 
   806 *** Scala ***
   840 *** Scala ***
   807 
   841 
   808 * The signature and semantics of Document.Snapshot.cumulate_markup /
   842 * The signature and semantics of Document.Snapshot.cumulate_markup /
   809 select_markup have been clarified.  Markup is now traversed in the
   843 select_markup have been clarified.  Markup is now traversed in the
   810 order of reports given by the prover: later markup is usually more
   844 order of reports given by the prover: later markup is usually more
   811 specific and may override results accumulated so far.  The elements
   845 specific and may override results accumulated so far.  The elements
   812 guard is mandatory and checked precisely.  Subtle INCOMPATIBILITY.
   846 guard is mandatory and checked precisely.  Subtle INCOMPATIBILITY.
   813 
   847 
       
   848 * Substantial reworking of internal PIDE protocol communication
       
   849 channels.  INCOMPATIBILITY.
       
   850 
   814 
   851 
   815 *** ML ***
   852 *** ML ***
   816 
   853 
   817 * Moved ML_Compiler.exn_trace and other operations on exceptions to
   854 * Moved ML_Compiler.exn_trace and other operations on exceptions to
   818 structure Runtime.  Minor INCOMPATIBILITY.
   855 structure Runtime.  Minor INCOMPATIBILITY.
   819 
   856 
   820 * Discontinued old Toplevel.debug in favour of system option
   857 * Discontinued old Toplevel.debug in favour of system option
   821 "ML_exception_trace", which may be also declared within the context via
   858 "ML_exception_trace", which may be also declared within the context
   822 "declare [[ML_exception_trace = true]]".  Minor INCOMPATIBILITY.
   859 via "declare [[ML_exception_trace = true]]".  Minor INCOMPATIBILITY.
   823 
   860 
   824 * Renamed configuration option "ML_trace" to "ML_source_trace". Minor
   861 * Renamed configuration option "ML_trace" to "ML_source_trace". Minor
   825 INCOMPATIBILITY.
   862 INCOMPATIBILITY.
   826 
   863 
   827 * Configuration option "ML_print_depth" controls the pretty-printing
   864 * Configuration option "ML_print_depth" controls the pretty-printing
   876 Isabelle component, e.g. ProofGeneral-4.2-2 from the Isabelle
   913 Isabelle component, e.g. ProofGeneral-4.2-2 from the Isabelle
   877 component repository http://isabelle.in.tum.de/components/.  See also
   914 component repository http://isabelle.in.tum.de/components/.  See also
   878 the "system" manual for general explanations about add-on components,
   915 the "system" manual for general explanations about add-on components,
   879 notably those that are not bundled with the normal release.
   916 notably those that are not bundled with the normal release.
   880 
   917 
   881 * Session ROOT specifications require explicit 'document_files' for
       
   882 robust dependencies on LaTeX sources.  Only these explicitly given
       
   883 files are copied to the document output directory, before document
       
   884 processing is started.
       
   885 
       
   886 * Simplified "isabelle display" tool.  Settings variables DVI_VIEWER
       
   887 and PDF_VIEWER now refer to the actual programs, not shell
       
   888 command-lines.  Discontinued option -c: invocation may be asynchronous
       
   889 via desktop environment, without any special precautions.  Potential
       
   890 INCOMPATIBILITY with ambitious private settings.
       
   891 
       
   892 * Improved 'display_drafts' concerning desktop integration and
       
   893 repeated invocation in PIDE front-end: re-use single file
       
   894 $ISABELLE_HOME_USER/tmp/drafts.pdf and corresponding views.
       
   895 
       
   896 * The raw Isabelle process executable has been renamed from
   918 * The raw Isabelle process executable has been renamed from
   897 "isabelle-process" to "isabelle_process", which conforms to common
   919 "isabelle-process" to "isabelle_process", which conforms to common
   898 shell naming conventions, and allows to define a shell function within
   920 shell naming conventions, and allows to define a shell function within
   899 the Isabelle environment to avoid dynamic path lookup.  Rare
   921 the Isabelle environment to avoid dynamic path lookup.  Rare
   900 incompatibility for old tools that do not use the $ISABELLE_PROCESS
   922 incompatibility for old tools that do not use the $ISABELLE_PROCESS
   902 
   924 
   903 * Former "isabelle tty" has been superseded by "isabelle console",
   925 * Former "isabelle tty" has been superseded by "isabelle console",
   904 with implicit build like "isabelle jedit", and without the mostly
   926 with implicit build like "isabelle jedit", and without the mostly
   905 obsolete Isar TTY loop.
   927 obsolete Isar TTY loop.
   906 
   928 
       
   929 * Simplified "isabelle display" tool.  Settings variables DVI_VIEWER
       
   930 and PDF_VIEWER now refer to the actual programs, not shell
       
   931 command-lines.  Discontinued option -c: invocation may be asynchronous
       
   932 via desktop environment, without any special precautions.  Potential
       
   933 INCOMPATIBILITY with ambitious private settings.
       
   934 
   907 * Removed obsolete "isabelle unsymbolize".  Note that the usual format
   935 * Removed obsolete "isabelle unsymbolize".  Note that the usual format
   908 for email communication is the Unicode rendering of Isabelle symbols,
   936 for email communication is the Unicode rendering of Isabelle symbols,
   909 as produced by Isabelle/jEdit, for example.
   937 as produced by Isabelle/jEdit, for example.
   910 
   938 
   911 * Retired the now unused Isabelle tool "wwwfind". Similar
   939 * Removed obsolete tool "wwwfind". Similar functionality may be
   912 functionality may be integrated into PIDE/jEdit at a later point.
   940 integrated into Isabelle/jEdit eventually.
       
   941 
       
   942 * Improved 'display_drafts' concerning desktop integration and
       
   943 repeated invocation in PIDE front-end: re-use single file
       
   944 $ISABELLE_HOME_USER/tmp/drafts.pdf and corresponding views.
   913 
   945 
   914 * Windows: support for regular TeX installation (e.g. MiKTeX) instead
   946 * Windows: support for regular TeX installation (e.g. MiKTeX) instead
   915 of TeX Live from Cygwin.
   947 of TeX Live from Cygwin.
       
   948 
       
   949 * Session ROOT specifications require explicit 'document_files' for
       
   950 robust dependencies on LaTeX sources.  Only these explicitly given
       
   951 files are copied to the document output directory, before document
       
   952 processing is started.
   916 
   953 
   917 
   954 
   918 
   955 
   919 New in Isabelle2013-2 (December 2013)
   956 New in Isabelle2013-2 (December 2013)
   920 -------------------------------------
   957 -------------------------------------