NEWS
changeset 53983 2fa984b202ae
parent 53981 1f4d6870b7b2
child 54010 5ac1495fed4e
equal deleted inserted replaced
53982:f0ee92285221 53983:2fa984b202ae
   146 * Code generator:
   146 * Code generator:
   147   - 'code_printing' unifies 'code_const' / 'code_type' / 'code_class' /
   147   - 'code_printing' unifies 'code_const' / 'code_type' / 'code_class' /
   148     'code_instance'.
   148     'code_instance'.
   149   - 'code_identifier' declares name hints for arbitrary identifiers in
   149   - 'code_identifier' declares name hints for arbitrary identifiers in
   150     generated code, subsuming 'code_modulename'.
   150     generated code, subsuming 'code_modulename'.
   151   See the isar-ref manual for syntax diagrams, and the HOL theories
   151 
   152   for examples.
   152 See the isar-ref manual for syntax diagrams, and the HOL theories for
       
   153 examples.
   153 
   154 
   154 * HOL/BNF:
   155 * HOL/BNF:
   155   - Various improvements to BNF-based (co)datatype package, including new
   156   - Various improvements to BNF-based (co)datatype package, including new
   156     commands "primrec_new", "primcorecursive", and "datatype_new_compat",
   157     commands "primrec_new", "primcorecursive", and "datatype_new_compat",
   157     as well as documentation. See "datatypes.pdf" for details.
   158     as well as documentation. See "datatypes.pdf" for details.
   175 
   176 
   176 * Function package: For each function f, new rules f.elims are
   177 * Function package: For each function f, new rules f.elims are
   177 automatically generated, which eliminate equalities of the form "f x =
   178 automatically generated, which eliminate equalities of the form "f x =
   178 t".
   179 t".
   179 
   180 
   180 * New command "fun_cases" derives ad-hoc elimination rules for
   181 * New command 'fun_cases' derives ad-hoc elimination rules for
   181 function equations as simplified instances of f.elims, analogous to
   182 function equations as simplified instances of f.elims, analogous to
   182 inductive_cases.  See HOL/ex/Fundefs.thy for some examples.
   183 inductive_cases.  See ~~/src/HOL/ex/Fundefs.thy for some examples.
   183 
   184 
   184 * Library/Polynomial.thy:
   185 * Library/Polynomial.thy:
   185   - Use lifting for primitive definitions.
   186   - Use lifting for primitive definitions.
   186   - Explicit conversions from and to lists of coefficients, used for
   187   - Explicit conversions from and to lists of coefficients, used for
   187     generated code.
   188     generated code.
   198     "Reification".
   199     "Reification".
   199   - Reflection now handles multiple lists with variables also.
   200   - Reflection now handles multiple lists with variables also.
   200   - The whole reflection stack has been decomposed into conversions.
   201   - The whole reflection stack has been decomposed into conversions.
   201 INCOMPATIBILITY.
   202 INCOMPATIBILITY.
   202 
   203 
   203 * Stronger precedence of syntax for big intersection and union on sets,
   204 * Stronger precedence of syntax for big intersection and union on
   204 in accordance with corresponding lattice operations.  INCOMPATIBILITY.
   205 sets, in accordance with corresponding lattice operations.
       
   206 INCOMPATIBILITY.
   205 
   207 
   206 * Nested case expressions are now translated in a separate check phase
   208 * Nested case expressions are now translated in a separate check phase
   207 rather than during parsing. The data for case combinators is separated
   209 rather than during parsing. The data for case combinators is separated
   208 from the datatype package. The declaration attribute
   210 from the datatype package. The declaration attribute
   209 "case_translation" can be used to register new case combinators:
   211 "case_translation" can be used to register new case combinators:
   228     See theory Big_Operators for canonical examples.
   230     See theory Big_Operators for canonical examples.
   229     Note that foundational constants comm_monoid_set.F and
   231     Note that foundational constants comm_monoid_set.F and
   230     semilattice_set.F correspond to former combinators fold_image
   232     semilattice_set.F correspond to former combinators fold_image
   231     and fold1 respectively.  These are now gone.  You may use
   233     and fold1 respectively.  These are now gone.  You may use
   232     those foundational constants as substitutes, but it is
   234     those foundational constants as substitutes, but it is
   233     preferable to interpret the above locales accordingly. 
   235     preferable to interpret the above locales accordingly.
   234   - Dropped class ab_semigroup_idem_mult (special case of lattice,
   236   - Dropped class ab_semigroup_idem_mult (special case of lattice,
   235     no longer needed in connection with Finite_Set.fold etc.)
   237     no longer needed in connection with Finite_Set.fold etc.)
   236   - Fact renames:
   238   - Fact renames:
   237       card.union_inter ~> card_Un_Int [symmetric]
   239       card.union_inter ~> card_Un_Int [symmetric]
   238       card.union_disjoint ~> card_Un_disjoint
   240       card.union_disjoint ~> card_Un_disjoint
   239 INCOMPATIBILITY.
   241 INCOMPATIBILITY.
   240 
   242 
   241 * Locale hierarchy for abstract orderings and (semi)lattices.
   243 * Locale hierarchy for abstract orderings and (semi)lattices.
   242 
   244 
   243 * Discontinued theory src/HOL/Library/Eval_Witness.  INCOMPATIBILITY.
   245 * Discontinued theory src/HOL/Library/Eval_Witness.  INCOMPATIBILITY.
   244 
       
   245 * Discontinued obsolete src/HOL/IsaMakefile (considered legacy since
       
   246 Isabelle2013).  Use "isabelle build" to operate on Isabelle sessions.
       
   247 
   246 
   248 * Numeric types mapped by default to target language numerals: natural
   247 * Numeric types mapped by default to target language numerals: natural
   249 (replaces former code_numeral) and integer (replaces former code_int).
   248 (replaces former code_numeral) and integer (replaces former code_int).
   250 Conversions are available as integer_of_natural / natural_of_integer /
   249 Conversions are available as integer_of_natural / natural_of_integer /
   251 integer_of_nat / nat_of_integer (in HOL) and
   250 integer_of_nat / nat_of_integer (in HOL) and
   273 
   272 
   274 * Introduce type class linear_continuum as combination of
   273 * Introduce type class linear_continuum as combination of
   275 conditionally-complete lattices and inner dense linorders which have
   274 conditionally-complete lattices and inner dense linorders which have
   276 more than one element.  INCOMPATIBILITY.
   275 more than one element.  INCOMPATIBILITY.
   277 
   276 
   278 * Introduced type classes order_top and order_bot. The old classes top 
   277 * Introduced type classes order_top and order_bot. The old classes top
   279 and bot only contain the syntax without assumptions. 
   278 and bot only contain the syntax without assumptions.  INCOMPATIBILITY:
   280 INCOMPATIBILITY: Rename bot -> order_bot, top -> order_top
   279 Rename bot -> order_bot, top -> order_top
   281 
   280 
   282 * Introduce type classes "no_top" and "no_bot" for orderings without
   281 * Introduce type classes "no_top" and "no_bot" for orderings without
   283 top and bottom elements.
   282 top and bottom elements.
   284 
   283 
   285 * Split dense_linorder into inner_dense_order and no_top, no_bot.
   284 * Split dense_linorder into inner_dense_order and no_top, no_bot.
   286 
   285 
   287 * Complex_Main: Unify and move various concepts from
   286 * Complex_Main: Unify and move various concepts from
   288 HOL-Multivariate_Analysis to HOL-Complex_Main.
   287 HOL-Multivariate_Analysis to HOL-Complex_Main.
   289 
   288 
   290  - Introduce type class (lin)order_topology and linear_continuum_topology.
   289  - Introduce type class (lin)order_topology and
   291    Allows to generalize theorems about limits and order.
   290    linear_continuum_topology.  Allows to generalize theorems about
   292    Instances are reals and extended reals.
   291    limits and order.  Instances are reals and extended reals.
   293 
   292 
   294  - continuous and continuos_on from Multivariate_Analysis:
   293  - continuous and continuos_on from Multivariate_Analysis:
   295    "continuous" is the continuity of a function at a filter.
   294    "continuous" is the continuity of a function at a filter.  "isCont"
   296    "isCont" is now an abbrevitation: "isCont x f == continuous (at _) f".
   295    is now an abbrevitation: "isCont x f == continuous (at _) f".
   297 
   296 
   298    Generalized continuity lemmas from isCont to continuous on an arbitrary
   297    Generalized continuity lemmas from isCont to continuous on an
   299    filter.
   298    arbitrary filter.
   300 
   299 
   301  - compact from Multivariate_Analysis. Use Bolzano's lemma
   300  - compact from Multivariate_Analysis. Use Bolzano's lemma to prove
   302    to prove compactness of closed intervals on reals. Continuous functions
   301    compactness of closed intervals on reals. Continuous functions
   303    attain infimum and supremum on compact sets. The inverse of a continuous
   302    attain infimum and supremum on compact sets. The inverse of a
   304    function is continuous, when the function is continuous on a compact set.
   303    continuous function is continuous, when the function is continuous
       
   304    on a compact set.
   305 
   305 
   306  - connected from Multivariate_Analysis. Use it to prove the
   306  - connected from Multivariate_Analysis. Use it to prove the
   307    intermediate value theorem. Show connectedness of intervals on
   307    intermediate value theorem. Show connectedness of intervals on
   308    linear_continuum_topology).
   308    linear_continuum_topology).
   309 
   309 
   310  - first_countable_topology from Multivariate_Analysis. Is used to
   310  - first_countable_topology from Multivariate_Analysis. Is used to
   311    show equivalence of properties on the neighbourhood filter of x and on
   311    show equivalence of properties on the neighbourhood filter of x and
   312    all sequences converging to x.
   312    on all sequences converging to x.
   313 
   313 
   314  - FDERIV: Definition of has_derivative moved to Deriv.thy. Moved theorems
   314  - FDERIV: Definition of has_derivative moved to Deriv.thy. Moved
   315    from Library/FDERIV.thy to Deriv.thy and base the definition of DERIV on
   315    theorems from Library/FDERIV.thy to Deriv.thy and base the
   316    FDERIV. Add variants of DERIV and FDERIV which are restricted to sets,
   316    definition of DERIV on FDERIV. Add variants of DERIV and FDERIV
   317    i.e. to represent derivatives from left or right.
   317    which are restricted to sets, i.e. to represent derivatives from
       
   318    left or right.
   318 
   319 
   319  - Removed the within-filter. It is replaced by the principal filter:
   320  - Removed the within-filter. It is replaced by the principal filter:
   320 
   321 
   321      F within X = inf F (principal X)
   322      F within X = inf F (principal X)
   322 
   323 
   323  - Introduce "at x within U" as a single constant, "at x" is now an
   324  - Introduce "at x within U" as a single constant, "at x" is now an
   324    abbreviation for "at x within UNIV"
   325    abbreviation for "at x within UNIV"
   325 
   326 
   326  - Introduce named theorem collections tendsto_intros, continuous_intros,
   327  - Introduce named theorem collections tendsto_intros,
   327    continuous_on_intros and FDERIV_intros. Theorems in tendsto_intros (or
   328    continuous_intros, continuous_on_intros and FDERIV_intros. Theorems
   328    FDERIV_intros) are also available as tendsto_eq_intros (or
   329    in tendsto_intros (or FDERIV_intros) are also available as
   329    FDERIV_eq_intros) where the right-hand side is replaced by a congruence
   330    tendsto_eq_intros (or FDERIV_eq_intros) where the right-hand side
   330    rule. This allows to apply them as intro rules and then proving
   331    is replaced by a congruence rule. This allows to apply them as
   331    equivalence by the simplifier.
   332    intro rules and then proving equivalence by the simplifier.
   332 
   333 
   333  - Restructured theories in HOL-Complex_Main:
   334  - Restructured theories in HOL-Complex_Main:
   334 
   335 
   335    + Moved RealDef and RComplete into Real
   336    + Moved RealDef and RComplete into Real
   336 
   337 
   337    + Introduced Topological_Spaces and moved theorems about
   338    + Introduced Topological_Spaces and moved theorems about
   338      topological spaces, filters, limits and continuity to it
   339      topological spaces, filters, limits and continuity to it
   339 
   340 
   340    + Renamed RealVector to Real_Vector_Spaces
   341    + Renamed RealVector to Real_Vector_Spaces
   341 
   342 
   342    + Split Lim, SEQ, Series into Topological_Spaces, Real_Vector_Spaces, and
   343    + Split Lim, SEQ, Series into Topological_Spaces,
   343      Limits
   344      Real_Vector_Spaces, and Limits
   344 
   345 
   345    + Moved Ln and Log to Transcendental
   346    + Moved Ln and Log to Transcendental
   346 
   347 
   347    + Moved theorems about continuity from Deriv to Topological_Spaces
   348    + Moved theorems about continuity from Deriv to Topological_Spaces
   348 
   349 
   371 
   372 
   372 * Imperative-HOL: The MREC combinator is considered legacy and no
   373 * Imperative-HOL: The MREC combinator is considered legacy and no
   373 longer included by default. INCOMPATIBILITY, use partial_function
   374 longer included by default. INCOMPATIBILITY, use partial_function
   374 instead, or import theory Legacy_Mrec as a fallback.
   375 instead, or import theory Legacy_Mrec as a fallback.
   375 
   376 
   376 * HOL-Algebra: Discontinued theories src/HOL/Algebra/abstract and
   377 * HOL-Algebra: Discontinued theories ~~/src/HOL/Algebra/abstract and
   377 .../poly.  Existing theories should be based on
   378 ~~/src/HOL/Algebra/poly.  Existing theories should be based on
   378 src/HOL/Library/Polynomial instead.  The latter provides integration
   379 ~~/src/HOL/Library/Polynomial instead.  The latter provides
   379 with HOL's type classes for rings.  INCOMPATIBILITY.
   380 integration with HOL's type classes for rings.  INCOMPATIBILITY.
   380 
   381 
   381 
   382 
   382 *** ML ***
   383 *** ML ***
   383 
   384 
   384 * Spec_Check is a Quickcheck tool for Isabelle/ML.  The ML function
   385 * Spec_Check is a Quickcheck tool for Isabelle/ML.  The ML function