64 |
64 |
65 |
65 |
66 *** Prover IDE -- Isabelle/Scala/jEdit *** |
66 *** Prover IDE -- Isabelle/Scala/jEdit *** |
67 |
67 |
68 * IDE support for the source-level debugger of Poly/ML, to work with |
68 * IDE support for the source-level debugger of Poly/ML, to work with |
69 Isabelle/ML and official Standard ML. Configuration option "ML_debugger" |
69 Isabelle/ML and official Standard ML. Option "ML_debugger" and commands |
70 and commands 'ML_file_debug', 'ML_file_no_debug', 'SML_file_debug', |
70 'ML_file_debug', 'ML_file_no_debug', 'SML_file_debug', |
71 'SML_file_no_debug' control compilation of sources with debugging |
71 'SML_file_no_debug' control compilation of sources with or without |
72 information. The Debugger panel allows to set breakpoints (via context |
72 debugging information. The Debugger panel allows to set breakpoints (via |
73 menu), step through stopped threads, evaluate local ML expressions etc. |
73 context menu), step through stopped threads, evaluate local ML |
74 At least one Debugger view needs to be active to have any effect on the |
74 expressions etc. At least one Debugger view needs to be active to have |
75 running ML program. |
75 any effect on the running ML program. |
76 |
76 |
77 * The State panel manages explicit proof state output, with dynamic |
77 * The State panel manages explicit proof state output, with dynamic |
78 auto-update according to cursor movement. Alternatively, the jEdit |
78 auto-update according to cursor movement. Alternatively, the jEdit |
79 action "isabelle.update-state" (shortcut S+ENTER) triggers manual |
79 action "isabelle.update-state" (shortcut S+ENTER) triggers manual |
80 update. |
80 update. |
93 situations. The text overview column takes over the role to indicate |
93 situations. The text overview column takes over the role to indicate |
94 unfinished edits in the PIDE pipeline. This avoids flashing text display |
94 unfinished edits in the PIDE pipeline. This avoids flashing text display |
95 due to ad-hoc updates by auxiliary GUI components, such as the State |
95 due to ad-hoc updates by auxiliary GUI components, such as the State |
96 panel. |
96 panel. |
97 |
97 |
98 * Improved scheduling for urgent print tasks (e.g. command state output, |
98 * Slightly improved scheduling for urgent print tasks (e.g. command |
99 interactive queries) wrt. long-running background tasks. |
99 state output, interactive queries) wrt. long-running background tasks. |
100 |
100 |
101 * Completion of symbols via prefix of \<name> or \<^name> or \name is |
101 * Completion of symbols via prefix of \<name> or \<^name> or \name is |
102 always possible, independently of the language context. It is never |
102 always possible, independently of the language context. It is never |
103 implicit: a popup will show up unconditionally. |
103 implicit: a popup will show up unconditionally. |
104 |
104 |
105 * Additional abbreviations for syntactic completion may be specified in |
105 * Additional abbreviations for syntactic completion may be specified in |
106 $ISABELLE_HOME/etc/abbrevs and $ISABELLE_HOME_USER/etc/abbrevs, with |
106 $ISABELLE_HOME/etc/abbrevs and $ISABELLE_HOME_USER/etc/abbrevs, with |
107 support for simple templates using ASCII 007 (bell) as placeholder. |
107 support for simple templates using ASCII 007 (bell) as placeholder. |
|
108 |
|
109 * Symbols \<oplus>, \<Oplus>, \<otimes>, \<Otimes>, \<odot>, \<Odot>, \<ominus>, \<oslash> no longer provide abbreviations for |
|
110 completion like "+o", "*o", ".o" etc. -- due to conflicts with other |
|
111 ASCII syntax. INCOMPATIBILITY, use plain backslash-completion or define |
|
112 suitable abbreviations in $ISABELLE_HOME_USER/etc/abbrevs. |
108 |
113 |
109 * Action "isabelle-emph" (with keyboard shortcut C+e LEFT) controls |
114 * Action "isabelle-emph" (with keyboard shortcut C+e LEFT) controls |
110 emphasized text style; the effect is visible in document output, not in |
115 emphasized text style; the effect is visible in document output, not in |
111 the editor. |
116 the editor. |
112 |
117 |
181 marked as \footnote{}. This may be used in the short form \<^footnote>\<open>...\<close>. |
186 marked as \footnote{}. This may be used in the short form \<^footnote>\<open>...\<close>. |
182 |
187 |
183 * Antiquotation @{verbatim [display]} supports option "indent". |
188 * Antiquotation @{verbatim [display]} supports option "indent". |
184 |
189 |
185 * Antiquotation @{theory_text} prints uninterpreted theory source text |
190 * Antiquotation @{theory_text} prints uninterpreted theory source text |
186 (outer syntax with command keywords etc.). This may be used in the short |
191 (Isar outer syntax with command keywords etc.). This may be used in the |
187 form \<^theory_text>\<open>...\<close>. @{theory_text [display]} supports option "indent". |
192 short form \<^theory_text>\<open>...\<close>. @{theory_text [display]} supports option "indent". |
188 |
193 |
189 * Antiquotation @{doc ENTRY} provides a reference to the given |
194 * Antiquotation @{doc ENTRY} provides a reference to the given |
190 documentation, with a hyperlink in the Prover IDE. |
195 documentation, with a hyperlink in the Prover IDE. |
191 |
196 |
192 * Antiquotations @{command}, @{method}, @{attribute} print checked |
197 * Antiquotations @{command}, @{method}, @{attribute} print checked |
592 |
597 |
593 * (Co)datatype package: |
598 * (Co)datatype package: |
594 - New commands "lift_bnf" and "copy_bnf" for lifting (copying) a BNF |
599 - New commands "lift_bnf" and "copy_bnf" for lifting (copying) a BNF |
595 structure on the raw type to an abstract type defined using typedef. |
600 structure on the raw type to an abstract type defined using typedef. |
596 - Always generate "case_transfer" theorem. |
601 - Always generate "case_transfer" theorem. |
597 - For mutual types, generate slightly stronger "rel_induct", "rel_coinduct", |
602 - For mutual types, generate slightly stronger "rel_induct", |
598 and "coinduct" theorems. INCOMPATIBLITY. |
603 "rel_coinduct", and "coinduct" theorems. INCOMPATIBLITY. |
599 - Allow discriminators and selectors with the same name as the type |
604 - Allow discriminators and selectors with the same name as the type |
600 being defined. |
605 being defined. |
601 - Avoid various internal name clashes (e.g., 'datatype f = f'). |
606 - Avoid various internal name clashes (e.g., 'datatype f = f'). |
602 |
607 |
603 * Transfer: new methods for interactive debugging of 'transfer' and |
608 * Transfer: new methods for interactive debugging of 'transfer' and |
680 mset_le_def ~> subseteq_mset_def |
685 mset_le_def ~> subseteq_mset_def |
681 mset_less_def ~> subset_mset_def |
686 mset_less_def ~> subset_mset_def |
682 less_eq_multiset.rep_eq ~> subseteq_mset_def |
687 less_eq_multiset.rep_eq ~> subseteq_mset_def |
683 INCOMPATIBILITY |
688 INCOMPATIBILITY |
684 - Removed lemmas generated by lift_definition: |
689 - Removed lemmas generated by lift_definition: |
685 less_eq_multiset.abs_eq, less_eq_multiset.rsp less_eq_multiset.transfer |
690 less_eq_multiset.abs_eq, less_eq_multiset.rsp, |
686 less_eq_multiset_def |
691 less_eq_multiset.transfer, less_eq_multiset_def |
687 INCOMPATIBILITY |
692 INCOMPATIBILITY |
688 |
693 |
689 * Library/Omega_Words_Fun: Infinite words modeled as functions nat \<Rightarrow> 'a. |
694 * Library/Omega_Words_Fun: Infinite words modeled as functions nat \<Rightarrow> 'a. |
690 |
695 |
691 * Library/Bourbaki_Witt_Fixpoint: Added formalisation of the |
696 * Library/Bourbaki_Witt_Fixpoint: Added formalisation of the |
705 * HOL-Imperative_HOL: obsolete theory Legacy_Mrec has been removed. |
710 * HOL-Imperative_HOL: obsolete theory Legacy_Mrec has been removed. |
706 |
711 |
707 * HOL-Statespace: command 'statespace' uses mandatory qualifier for |
712 * HOL-Statespace: command 'statespace' uses mandatory qualifier for |
708 import of parent, as for general 'locale' expressions. INCOMPATIBILITY, |
713 import of parent, as for general 'locale' expressions. INCOMPATIBILITY, |
709 remove '!' and add '?' as required. |
714 remove '!' and add '?' as required. |
|
715 |
|
716 * HOL-Decision_Procs: The "approximation" method works with "powr" |
|
717 (exponentiation on real numbers) again. |
710 |
718 |
711 * HOL-Multivariate_Analysis: theory Cauchy_Integral_Thm with Contour |
719 * HOL-Multivariate_Analysis: theory Cauchy_Integral_Thm with Contour |
712 integrals (= complex path integrals), Cauchy's integral theorem, winding |
720 integrals (= complex path integrals), Cauchy's integral theorem, winding |
713 numbers and Cauchy's integral formula, Liouville theorem, Fundamental |
721 numbers and Cauchy's integral formula, Liouville theorem, Fundamental |
714 Theorem of Algebra. Ported from HOL Light. |
722 Theorem of Algebra. Ported from HOL Light. |
1246 [approximation] for inequalities of transcendental functions. Uses |
1254 [approximation] for inequalities of transcendental functions. Uses |
1247 hardware floating point arithmetic to randomly discover potential |
1255 hardware floating point arithmetic to randomly discover potential |
1248 counterexamples. Counterexamples are certified with the "approximation" |
1256 counterexamples. Counterexamples are certified with the "approximation" |
1249 method. See HOL/Decision_Procs/ex/Approximation_Quickcheck_Ex.thy for |
1257 method. See HOL/Decision_Procs/ex/Approximation_Quickcheck_Ex.thy for |
1250 examples. |
1258 examples. |
1251 |
|
1252 * HOL-Decision_Procs: The "approximation" method works with "powr" |
|
1253 (exponentiation on real numbers) again. |
|
1254 |
1259 |
1255 * HOL-Probability: Reworked measurability prover |
1260 * HOL-Probability: Reworked measurability prover |
1256 - applies destructor rules repeatedly |
1261 - applies destructor rules repeatedly |
1257 - removed application splitting (replaced by destructor rule) |
1262 - removed application splitting (replaced by destructor rule) |
1258 - added congruence rules to rewrite measure spaces under the sets |
1263 - added congruence rules to rewrite measure spaces under the sets |