2 ================================================= |
2 ================================================= |
3 |
3 |
4 (Note: Isabelle/jEdit shows a tree-view of the NEWS file in Sidekick.) |
4 (Note: Isabelle/jEdit shows a tree-view of the NEWS file in Sidekick.) |
5 |
5 |
6 |
6 |
7 New in this Isabelle version |
7 New in Isabelle2025 (March 2025) |
8 ---------------------------- |
8 -------------------------------- |
9 |
9 |
10 *** General *** |
10 *** General *** |
11 |
11 |
12 * The Simplifier now supports special "congprocs", using keyword |
12 * The Simplifier now supports special "congprocs", using keyword |
13 'congproc' or 'weak_congproc' in the 'simproc_setup' command (or ML |
13 'congproc' or 'weak_congproc' in the 'simproc_setup' command (or ML |
226 |
226 |
227 |
227 |
228 |
228 |
229 *** HOL *** |
229 *** HOL *** |
230 |
230 |
231 * Code generator: command 'code_reserved' now uses parentheses for |
|
232 target languages, similar to 'code_printing'. |
|
233 |
|
234 * Theory HOL.List: overloaded power operator (^^) on type list. |
|
235 |
|
236 * Theory HOL-Library.Code_Target_Bit_Shifts implemented bit shifts on numeric |
|
237 types by target-language operations; this is also used by |
|
238 HOL-Library.Code_Target_Numeral. |
|
239 |
|
240 * Theory HOL-Library.Code_Bit_Shifts_for_Arithmetic rewrites certain |
|
241 arithmetic operations on numerals to bit shifts. |
|
242 |
|
243 * Sledgehammer: |
231 * Sledgehammer: |
244 - Update of bundled provers: |
232 - Update of bundled provers: |
245 . E 3.1 -- with patch on Windows/Cygwin for proper interrupts |
233 . E 3.1 -- with patch on Windows/Cygwin for proper interrupts |
246 - Added instantiations of facts using the "of" attribute |
234 - Added instantiations of facts using the "of" attribute |
247 (e.g. "assms(1)[of x]"), which can be activated using the |
235 (e.g. "assms(1)[of x]"), which can be activated using the |
255 - Added inference of variable instantiations, which can be activated |
243 - Added inference of variable instantiations, which can be activated |
256 using the configuration option "metis_instantiate" (default: false). |
244 using the configuration option "metis_instantiate" (default: false). |
257 This outputs a suggestion with instantiations of the facts using the |
245 This outputs a suggestion with instantiations of the facts using the |
258 "of" attribute (e.g. "assms(1)[of x]"). |
246 "of" attribute (e.g. "assms(1)[of x]"). |
259 |
247 |
260 * Theory HOL-Library.Discrete has been renamed |
248 * Code generator: command 'code_reserved' now uses parentheses for |
261 HOL-Library.Discrete_Functions |
249 target languages, similar to 'code_printing'. |
262 |
250 |
263 Discrete.log -> floor_log |
251 * Theory HOL.List: overloaded power operator (^^) on type list. |
264 Discrete.sqrt -> floor_sqrt |
|
265 Renamed lemmas accordingly (...log/sqrt... -> ...floor_log/sqrt...) |
|
266 |
252 |
267 * Theory "HOL.Wellfounded": |
253 * Theory "HOL.Wellfounded": |
268 - Removed lemma wellorder.wfP_less. Use wellorder.wfp_on_less instead. |
254 - Removed lemma wellorder.wfP_less. Use wellorder.wfp_on_less instead. |
269 Minor INCOMPATIBILITY. |
255 Minor INCOMPATIBILITY. |
270 - Renamed lemmas. Minor INCOMPATIBILITY. |
256 - Renamed lemmas. Minor INCOMPATIBILITY. |
289 wf_acc_iff ~> wf_iff_acc |
275 wf_acc_iff ~> wf_iff_acc |
290 - Added lemmas. |
276 - Added lemmas. |
291 wf_on_antimono_stronger |
277 wf_on_antimono_stronger |
292 wfp_on_antimono_stronger |
278 wfp_on_antimono_stronger |
293 |
279 |
|
280 * Theory "HOL.Transcendental": the real-valued versions of ln, log, |
|
281 (powr) have been totalised by "ln 0 = x" and "ln (- x) = ln x". Many |
|
282 related theorems are now unconditional, with ln_mult_pos and |
|
283 ln_divide_pos introduced for legacy purposes. |
|
284 |
|
285 * Transitional theory "HOL.Divides" moved to "HOL-Library.Divides" and |
|
286 supposed to be removed in a future release. Minor INCOMPATIBILITY. |
|
287 Import "HOL-Library.Divides" and keep an eye on qualified names with |
|
288 prefix "Divides" to ease transition. |
|
289 |
|
290 * Theory HOL-Library.Code_Target_Bit_Shifts implemented bit shifts on |
|
291 numeric types by target-language operations; this is also used by |
|
292 HOL-Library.Code_Target_Numeral. |
|
293 |
|
294 * Theory HOL-Library.Code_Bit_Shifts_for_Arithmetic rewrites certain |
|
295 arithmetic operations on numerals to bit shifts. |
|
296 |
|
297 * Theory HOL-Library.Discrete has been renamed |
|
298 HOL-Library.Discrete_Functions to avoid name conflicts: |
|
299 |
|
300 Discrete.log -> floor_log |
|
301 Discrete.sqrt -> floor_sqrt |
|
302 Renamed lemmas accordingly (...log/sqrt... -> ...floor_log/sqrt...) |
|
303 |
294 * Theory "HOL-Library.Multiset": |
304 * Theory "HOL-Library.Multiset": |
295 - Renamed lemmas. Minor INCOMPATIBILITY. |
305 - Renamed lemmas. Minor INCOMPATIBILITY. |
296 wfP_less_multiset ~> wfp_less_multiset |
306 wfP_less_multiset ~> wfp_less_multiset |
297 wfP_multp ~> wfp_multp |
307 wfP_multp ~> wfp_multp |
298 wfP_subset_mset ~> wfp_subset_mset |
308 wfP_subset_mset ~> wfp_subset_mset |
299 - Added lemmas. |
309 - Added lemmas. |
300 image_mset_diff_if_inj |
310 image_mset_diff_if_inj |
301 minus_add_mset_if_not_in_lhs[simp] |
311 minus_add_mset_if_not_in_lhs[simp] |
302 |
312 |
303 * Theory "HOL-Library.Suc_Notation" provides compact notation for nested |
313 * Theory "HOL-Library.Suc_Notation" provides compact notation for |
304 Suc terms. |
314 iterated Suc terms. |
305 |
|
306 * Transitional theory "HOL.Divides" moved to "HOL-Library.Divides" and |
|
307 supposed to be removed in a future release. Minor INCOMPATIBILITY. |
|
308 Import "HOL-Library.Divides" and keep an eye on qualified names with prefix |
|
309 "Divides" to ease transition. |
|
310 |
|
311 * The real-valued versions of ln, log, powr have been totalised by "ln 0 |
|
312 = x" and "ln (- x) = ln x". Many related theorems are now unconditional, |
|
313 with ln_mult_pos and ln_divide_pos introduced for legacy purposes. |
|
314 |
315 |
315 |
316 |
316 *** ML *** |
317 *** ML *** |
317 |
318 |
318 * Term.variant_bounds replaces former Term.variant_frees for logical |
319 * Term.variant_bounds replaces former Term.variant_frees for logical |