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 Isabelle2013-1 (November 2013) |
5 ---------------------------- |
5 ------------------------------------- |
6 |
6 |
7 *** General *** |
7 *** General *** |
|
8 |
|
9 * Discontinued obsolete 'uses' within theory header. Note that |
|
10 commands like 'ML_file' work without separate declaration of file |
|
11 dependencies. Minor INCOMPATIBILITY. |
|
12 |
|
13 * Discontinued redundant 'use' command, which was superseded by |
|
14 'ML_file' in Isabelle2013. Minor INCOMPATIBILITY. |
8 |
15 |
9 * Simplified subscripts within identifiers, using plain \<^sub> |
16 * Simplified subscripts within identifiers, using plain \<^sub> |
10 instead of the second copy \<^isub> and \<^isup>. Superscripts are |
17 instead of the second copy \<^isub> and \<^isup>. Superscripts are |
11 only for literal tokens within notation; explicit mixfix annotations |
18 only for literal tokens within notation; explicit mixfix annotations |
12 for consts or fixed variables may be used as fall-back for unusual |
19 for consts or fixed variables may be used as fall-back for unusual |
27 quick_and_dirty, instead of historical poking into mutable reference. |
34 quick_and_dirty, instead of historical poking into mutable reference. |
28 |
35 |
29 * Renamed command 'print_configs' to 'print_options'. Minor |
36 * Renamed command 'print_configs' to 'print_options'. Minor |
30 INCOMPATIBILITY. |
37 INCOMPATIBILITY. |
31 |
38 |
32 * Sessions may be organized via 'chapter' specifications in the ROOT |
|
33 file, which determines a two-level hierarchy of browser info. The old |
|
34 tree-like organization via implicit sub-session relation, with its |
|
35 tendency towards erratic fluctuation of URLs, has been discontinued. |
|
36 The default chapter is "Unsorted". Potential INCOMPATIBILITY for HTML |
|
37 presentation of theories. |
|
38 |
|
39 * Discontinued obsolete 'uses' within theory header. Note that |
|
40 commands like 'ML_file' work without separate declaration of file |
|
41 dependencies. Minor INCOMPATIBILITY. |
|
42 |
|
43 * Discontinued redundant 'use' command, which was superseded by |
|
44 'ML_file' in Isabelle2013. Minor INCOMPATIBILITY. |
|
45 |
|
46 * Updated and extended "isar-ref" and "implementation" manual, |
|
47 eliminated old "ref" manual. |
|
48 |
|
49 * Proper diagnostic command 'print_state'. Old 'pr' (with its |
39 * Proper diagnostic command 'print_state'. Old 'pr' (with its |
50 implicit change of some global references) is retained for now as |
40 implicit change of some global references) is retained for now as |
51 control command, e.g. for ProofGeneral 3.7.x. |
41 control command, e.g. for ProofGeneral 3.7.x. |
52 |
42 |
53 * Discontinued 'print_drafts' command with its old-fashioned PS output |
43 * Discontinued 'print_drafts' command with its old-fashioned PS output |
54 and Unix command-line print spooling. Minor INCOMPATIBILITY: use |
44 and Unix command-line print spooling. Minor INCOMPATIBILITY: use |
55 'display_drafts' instead and print via the regular document viewer. |
45 'display_drafts' instead and print via the regular document viewer. |
56 |
46 |
|
47 * Updated and extended "isar-ref" and "implementation" manual, |
|
48 eliminated old "ref" manual. |
|
49 |
57 |
50 |
58 *** Prover IDE -- Isabelle/Scala/jEdit *** |
51 *** Prover IDE -- Isabelle/Scala/jEdit *** |
59 |
52 |
60 * File specifications in jEdit (e.g. file browser) may refer to |
53 * New manual "jedit" for Isabelle/jEdit, see isabelle doc or |
61 $ISABELLE_HOME on all platforms. Discontinued obsolete |
|
62 $ISABELLE_HOME_WINDOWS variable. |
|
63 |
|
64 * Improved support of native Mac OS X functionality. |
|
65 |
|
66 * Separate manual "jedit" for Isabelle/jEdit, see isabelle doc or |
|
67 Documentation panel. |
54 Documentation panel. |
68 |
55 |
69 * Improved "Theories" panel: Continuous checking of proof document |
56 * Dockable window "Documentation" provides access to Isabelle |
70 (visible and required parts) may be controlled explicitly, using check |
57 documentation. |
71 box or shortcut "C+e ENTER". Individual theory nodes may be marked |
|
72 explicitly as required and checked in full, using check box or |
|
73 shortcut "C+e SPACE". |
|
74 |
|
75 * Strictly monotonic document update, without premature cancelation of |
|
76 running transactions that are still needed: avoid reset/restart of |
|
77 such command executions while editing. |
|
78 |
|
79 * Support for asynchronous print functions, as overlay to existing |
|
80 document content. |
|
81 |
|
82 * Support for automatic tools in HOL, which try to prove or disprove |
|
83 toplevel theorem statements. |
|
84 |
58 |
85 * Dockable window "Find" provides query operations for formal entities |
59 * Dockable window "Find" provides query operations for formal entities |
86 (GUI front-end to 'find_theorems' command). |
60 (GUI front-end to 'find_theorems' command). |
87 |
|
88 * Dockable window "Documentation" provides access to Isabelle |
|
89 documentation. |
|
90 |
61 |
91 * Dockable window "Sledgehammer" manages asynchronous / parallel |
62 * Dockable window "Sledgehammer" manages asynchronous / parallel |
92 sledgehammer runs over existing document sources, independently of |
63 sledgehammer runs over existing document sources, independently of |
93 normal editing and checking process. |
64 normal editing and checking process. |
94 |
65 |
95 * Dockable window "Timing" provides an overview of relevant command |
66 * Dockable window "Timing" provides an overview of relevant command |
96 timing information. |
67 timing information. |
97 |
68 |
98 * Action isabelle.reset-font-size resets main text area font size |
69 * Improved dockable window "Theories": Continuous checking of proof |
99 according to Isabelle/Scala plugin option "jedit_font_reset_size" |
70 document (visible and required parts) may be controlled explicitly, |
100 (cf. keyboard shortcut C+0). |
71 using check box or shortcut "C+e ENTER". Individual theory nodes may |
101 |
72 be marked explicitly as required and checked in full, using check box |
102 * Improved support for Linux look-and-feel "GTK+", see also "Utilities |
73 or shortcut "C+e SPACE". |
103 / Global Options / Appearance". |
74 |
|
75 * Strictly monotonic document update, without premature cancellation of |
|
76 running transactions that are still needed: avoid reset/restart of |
|
77 such command executions while editing. |
104 |
78 |
105 * Improved completion mechanism, which is now managed by the |
79 * Improved completion mechanism, which is now managed by the |
106 Isabelle/jEdit plugin instead of SideKick. |
80 Isabelle/jEdit plugin instead of SideKick. |
107 |
81 |
108 - Various Isabelle plugin options to control popup behaviour and |
82 - Various Isabelle plugin options to control popup behavior and |
109 immediate insertion into buffer. |
83 immediate insertion into buffer. |
110 |
84 |
111 - Light-weight popup, which avoids explicit window (more reactive |
85 - Light-weight popup, which avoids explicit window (more reactive |
112 and more robust). Interpreted key events include TAB, ESCAPE, UP, |
86 and more robust). Interpreted key events include TAB, ESCAPE, UP, |
113 DOWN, PAGE_UP, PAGE_DOWN. All other key events are passed to |
87 DOWN, PAGE_UP, PAGE_DOWN. All other key events are passed to |
132 \<forall> in its Unicode rendering. |
106 \<forall> in its Unicode rendering. |
133 |
107 |
134 - Refined table of Isabelle symbol abbreviations (see |
108 - Refined table of Isabelle symbol abbreviations (see |
135 $ISABELLE_HOME/etc/symbols). |
109 $ISABELLE_HOME/etc/symbols). |
136 |
110 |
|
111 * Support for asynchronous print functions, as overlay to existing |
|
112 document content. |
|
113 |
|
114 * Support for automatic tools in HOL, which try to prove or disprove |
|
115 toplevel theorem statements. |
|
116 |
|
117 * Action isabelle.reset-font-size resets main text area font size |
|
118 according to Isabelle/Scala plugin option "jedit_font_reset_size" |
|
119 (cf. keyboard shortcut C+0). |
|
120 |
|
121 * File specifications in jEdit (e.g. file browser) may refer to |
|
122 $ISABELLE_HOME on all platforms. Discontinued obsolete |
|
123 $ISABELLE_HOME_WINDOWS variable. |
|
124 |
|
125 * Improved support for Linux look-and-feel "GTK+", see also "Utilities |
|
126 / Global Options / Appearance". |
|
127 |
|
128 * Improved support of native Mac OS X functionality via "MacOSX" |
|
129 plugin, which is now enabled by default. |
|
130 |
137 |
131 |
138 *** Pure *** |
132 *** Pure *** |
139 |
133 |
140 * Former global reference trace_unify_fail is now available as |
134 * Target-sensitive commands 'interpretation' and 'sublocale'. |
141 configuration option "unify_trace_failure" (global context only). |
135 Particularly, 'interpretation' now allows for non-persistent |
142 |
136 interpretation within "context ... begin ... end" blocks. See |
143 * Type theory is now immutable, without any special treatment of |
137 "isar-ref" manual for details. |
144 drafts or linear updates (which could lead to "stale theory" errors in |
138 |
145 the past). Discontinued obsolete operations like Theory.copy, |
139 * Improved locales diagnostic command 'print_dependencies'. |
146 Theory.checkpoint, and the auxiliary type theory_ref. Minor |
140 |
|
141 * Discontinued obsolete 'axioms' command, which has been marked as |
|
142 legacy since Isabelle2009-2. INCOMPATIBILITY, use 'axiomatization' |
|
143 instead, while observing its uniform scope for polymorphism. |
|
144 |
|
145 * Discontinued empty name bindings in 'axiomatization'. |
147 INCOMPATIBILITY. |
146 INCOMPATIBILITY. |
148 |
147 |
149 * System option "proofs" has been discontinued. Instead the global |
148 * System option "proofs" has been discontinued. Instead the global |
150 state of Proofterm.proofs is persistently compiled into logic images |
149 state of Proofterm.proofs is persistently compiled into logic images |
151 as required, notably HOL-Proofs. Users no longer need to change |
150 as required, notably HOL-Proofs. Users no longer need to change |
153 |
152 |
154 * Syntax translation functions (print_translation etc.) always depend |
153 * Syntax translation functions (print_translation etc.) always depend |
155 on Proof.context. Discontinued former "(advanced)" option -- this is |
154 on Proof.context. Discontinued former "(advanced)" option -- this is |
156 now the default. Minor INCOMPATIBILITY. |
155 now the default. Minor INCOMPATIBILITY. |
157 |
156 |
158 * Target-sensitive commands 'interpretation' and 'sublocale'. |
157 * Former global reference trace_unify_fail is now available as |
159 Particulary, 'interpretation' now allows for non-persistent |
158 configuration option "unify_trace_failure" (global context only). |
160 interpretation within "context ... begin ... end" blocks. See |
|
161 "isar-ref" manual for details. |
|
162 |
|
163 * Improved locales diagnostic command 'print_dependencies'. |
|
164 |
|
165 * Discontinued obsolete 'axioms' command, which has been marked as |
|
166 legacy since Isabelle2009-2. INCOMPATIBILITY, use 'axiomatization' |
|
167 instead, while observing its uniform scope for polymorphism. |
|
168 |
|
169 * Discontinued empty name bindings in 'axiomatization'. |
|
170 INCOMPATIBILITY. |
|
171 |
159 |
172 * SELECT_GOAL now retains the syntactic context of the overall goal |
160 * SELECT_GOAL now retains the syntactic context of the overall goal |
173 state (schematic variables etc.). Potential INCOMPATIBILITY in rare |
161 state (schematic variables etc.). Potential INCOMPATIBILITY in rare |
174 situations. |
162 situations. |
175 |
163 |
419 with HOL's type classes for rings. INCOMPATIBILITY. |
407 with HOL's type classes for rings. INCOMPATIBILITY. |
420 |
408 |
421 |
409 |
422 *** ML *** |
410 *** ML *** |
423 |
411 |
|
412 * Spec_Check is a Quickcheck tool for Isabelle/ML. The ML function |
|
413 "check_property" allows to check specifications of the form "ALL x y |
|
414 z. prop x y z". See also ~~/src/Tools/Spec_Check/ with its |
|
415 Examples.thy in particular. |
|
416 |
424 * Improved printing of exception trace in Poly/ML 5.5.1, with regular |
417 * Improved printing of exception trace in Poly/ML 5.5.1, with regular |
425 tracing output in the command transaction context instead of physical |
418 tracing output in the command transaction context instead of physical |
426 stdout. See also Toplevel.debug, Toplevel.debugging and |
419 stdout. See also Toplevel.debug, Toplevel.debugging and |
427 ML_Compiler.exn_trace. |
420 ML_Compiler.exn_trace. |
428 |
421 |
429 * Spec_Check is a Quickcheck tool for Isabelle/ML. The ML function |
422 * ML type "theory" is now immutable, without any special treatment of |
430 "check_property" allows to check specifications of the form "ALL x y |
423 drafts or linear updates (which could lead to "stale theory" errors in |
431 z. prop x y z". See also ~~/src/Tools/Spec_Check/ with its |
424 the past). Discontinued obsolete operations like Theory.copy, |
432 Examples.thy in particular. |
425 Theory.checkpoint, and the auxiliary type theory_ref. Minor |
|
426 INCOMPATIBILITY. |
433 |
427 |
434 * More uniform naming of goal functions for skipped proofs: |
428 * More uniform naming of goal functions for skipped proofs: |
435 |
429 |
436 Skip_Proof.prove ~> Goal.prove_sorry |
430 Skip_Proof.prove ~> Goal.prove_sorry |
437 Skip_Proof.prove_global ~> Goal.prove_sorry_global |
431 Skip_Proof.prove_global ~> Goal.prove_sorry_global |
438 |
432 |
439 * Antiquotation @{theory_context A} is similar to @{theory A}, but |
433 Minor INCOMPATIBILITY. |
440 presents the result as initial Proof.context. |
|
441 |
|
442 * Modifiers for classical wrappers (e.g. addWrapper, delWrapper) |
|
443 operate on Proof.context instead of claset, for uniformity with addIs, |
|
444 addEs, addDs etc. Note that claset_of and put_claset allow to manage |
|
445 clasets separately from the context. |
|
446 |
434 |
447 * Simplifier tactics and tools use proper Proof.context instead of |
435 * Simplifier tactics and tools use proper Proof.context instead of |
448 historic type simpset. Old-style declarations like addsimps, |
436 historic type simpset. Old-style declarations like addsimps, |
449 addsimprocs etc. operate directly on Proof.context. Raw type simpset |
437 addsimprocs etc. operate directly on Proof.context. Raw type simpset |
450 retains its use as snapshot of the main Simplifier context, using |
438 retains its use as snapshot of the main Simplifier context, using |
451 simpset_of and put_simpset on Proof.context. INCOMPATIBILITY -- port |
439 simpset_of and put_simpset on Proof.context. INCOMPATIBILITY -- port |
452 old tools by making them depend on (ctxt : Proof.context) instead of |
440 old tools by making them depend on (ctxt : Proof.context) instead of |
453 (ss : simpset), then turn (simpset_of ctxt) into ctxt. |
441 (ss : simpset), then turn (simpset_of ctxt) into ctxt. |
454 |
442 |
|
443 * Modifiers for classical wrappers (e.g. addWrapper, delWrapper) |
|
444 operate on Proof.context instead of claset, for uniformity with addIs, |
|
445 addEs, addDs etc. Note that claset_of and put_claset allow to manage |
|
446 clasets separately from the context. |
|
447 |
455 * Discontinued obsolete ML antiquotations @{claset} and @{simpset}. |
448 * Discontinued obsolete ML antiquotations @{claset} and @{simpset}. |
456 INCOMPATIBILITY, use @{context} instead. |
449 INCOMPATIBILITY, use @{context} instead. |
|
450 |
|
451 * Antiquotation @{theory_context A} is similar to @{theory A}, but |
|
452 presents the result as initial Proof.context. |
457 |
453 |
458 |
454 |
459 *** System *** |
455 *** System *** |
460 |
456 |
461 * Discontinued obsolete isabelle usedir, mkdir, make -- superseded by |
457 * Discontinued obsolete isabelle usedir, mkdir, make -- superseded by |