NEWS
changeset 66472 1b7d66d62035
parent 66462 0a8277e9cfd6
child 66473 5928c6cc780f
equal deleted inserted replaced
66471:80736667cc2e 66472:1b7d66d62035
     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 Isabelle2017 (October 2017)
     8 ----------------------------
     8 ----------------------------------
     9 
     9 
    10 *** General ***
    10 *** General ***
    11 
    11 
    12 * Experimental support for Visual Studio Code (VSCode) as alternative
    12 * Experimental support for Visual Studio Code (VSCode) as alternative
    13 Isabelle/PIDE front-end, see also
    13 Isabelle/PIDE front-end, see also
    27 just the theory base name as before).
    27 just the theory base name as before).
    28 
    28 
    29 In order to import theories from other sessions, the ROOT file format
    29 In order to import theories from other sessions, the ROOT file format
    30 provides a new 'sessions' keyword. In contrast, a theory that is
    30 provides a new 'sessions' keyword. In contrast, a theory that is
    31 imported in the old-fashioned manner via an explicit file-system path
    31 imported in the old-fashioned manner via an explicit file-system path
    32 belongs to the current session, and might cause theory name confusion
    32 belongs to the current session, and might cause theory name conflicts
    33 later on. Theories that are imported from other sessions are excluded
    33 later on. Theories that are imported from other sessions are excluded
    34 from the current session document. The command-line tool "isabelle
    34 from the current session document. The command-line tool "isabelle
    35 imports" helps to update theory imports.
    35 imports" helps to update theory imports.
    36 
       
    37 Properly qualified imports allow the Prover IDE to process arbitrary
       
    38 theory hierarchies independently of the underlying logic session image
       
    39 (e.g. option "isabelle jedit -l"), but the directory structure needs to
       
    40 be known in advance (e.g. option "isabelle jedit -d" or a line in the
       
    41 file $ISABELLE_HOME_USER/ROOTS).
       
    42 
    36 
    43 * The main theory entry points for some non-HOL sessions have changed,
    37 * The main theory entry points for some non-HOL sessions have changed,
    44 to avoid confusion with the global name "Main" of the session HOL. This
    38 to avoid confusion with the global name "Main" of the session HOL. This
    45 leads to the follow renamings:
    39 leads to the follow renamings:
    46 
    40 
    50   ZF/Main_ZFC.thy ~>  ZF/ZFC.thy
    44   ZF/Main_ZFC.thy ~>  ZF/ZFC.thy
    51   ZF/ZF.thy       ~>  ZF/ZF_Base.thy
    45   ZF/ZF.thy       ~>  ZF/ZF_Base.thy
    52 
    46 
    53 INCOMPATIBILITY.
    47 INCOMPATIBILITY.
    54 
    48 
       
    49 * Commands 'alias' and 'type_alias' introduce aliases for constants and
       
    50 type constructors, respectively. This allows adhoc changes to name-space
       
    51 accesses within global or local theory contexts, e.g. within a 'bundle'.
       
    52 
    55 * Document antiquotations @{prf} and @{full_prf} output proof terms
    53 * Document antiquotations @{prf} and @{full_prf} output proof terms
    56 (again) in the same way as commands 'prf' and 'full_prf'.
    54 (again) in the same way as commands 'prf' and 'full_prf'.
    57 
    55 
    58 * Computations generated by the code generator can be embedded directly
    56 * Computations generated by the code generator can be embedded directly
    59 into ML, alongside with @{code} antiquotations, using the following
    57 into ML, alongside with @{code} antiquotations, using the following
    68 See src/HOL/ex/Computations.thy,
    66 See src/HOL/ex/Computations.thy,
    69 src/HOL/Decision_Procs/Commutative_Ring.thy and
    67 src/HOL/Decision_Procs/Commutative_Ring.thy and
    70 src/HOL/Decision_Procs/Reflective_Field.thy for examples and the
    68 src/HOL/Decision_Procs/Reflective_Field.thy for examples and the
    71 tutorial on code generation.
    69 tutorial on code generation.
    72 
    70 
    73 * Commands 'alias' and 'type_alias' introduce aliases for constants and
       
    74 type constructors, respectively. This allows adhoc changes to name-space
       
    75 accesses within global or local theory contexts, e.g. within a 'bundle'.
       
    76 
       
    77 
    71 
    78 *** Prover IDE -- Isabelle/Scala/jEdit ***
    72 *** Prover IDE -- Isabelle/Scala/jEdit ***
    79 
    73 
    80 * Automatic indentation is more careful to avoid redundant spaces in
    74 * Session-qualified theory imports allow the Prover IDE to process
    81 intermediate situations. Keywords are indented after input (via typed
    75 arbitrary theory hierarchies independently of the underlying logic
    82 characters or completion); see also option "jedit_indent_input".
    76 session image (e.g. option "isabelle jedit -l"), but the directory
    83 
    77 structure needs to be known in advance (e.g. option "isabelle jedit -d"
    84 * Action "isabelle.preview" opens an HTML preview of the current theory
    78 or a line in the file $ISABELLE_HOME_USER/ROOTS).
    85 document in the default web browser.
       
    86 
       
    87 * Command-line invocation "isabelle jedit -R -l SESSION" uses the parent
       
    88 image of the SESSION, with qualified theory imports restricted to that
       
    89 portion of the session graph. Moreover, the ROOT entry of the SESSION is
       
    90 opened in the editor.
       
    91 
    79 
    92 * The PIDE document model maintains file content independently of the
    80 * The PIDE document model maintains file content independently of the
    93 status of jEdit editor buffers. Reloading jEdit buffers no longer causes
    81 status of jEdit editor buffers. Reloading jEdit buffers no longer causes
    94 changes of formal document content. Theory dependencies are always
    82 changes of formal document content. Theory dependencies are always
    95 resolved internally, without the need for corresponding editor buffers.
    83 resolved internally, without the need for corresponding editor buffers.
   103 * The Theories dockable indicates the overall status of checking of each
    91 * The Theories dockable indicates the overall status of checking of each
   104 entry. When all forked tasks of a theory are finished, the border is
    92 entry. When all forked tasks of a theory are finished, the border is
   105 painted with thick lines; remaining errors in this situation are
    93 painted with thick lines; remaining errors in this situation are
   106 represented by a different border color.
    94 represented by a different border color.
   107 
    95 
       
    96 * Automatic indentation is more careful to avoid redundant spaces in
       
    97 intermediate situations. Keywords are indented after input (via typed
       
    98 characters or completion); see also option "jedit_indent_input".
       
    99 
       
   100 * Action "isabelle.preview" opens an HTML preview of the current theory
       
   101 document in the default web browser.
       
   102 
       
   103 * Command-line invocation "isabelle jedit -R -l SESSION" uses the parent
       
   104 image of the SESSION, with qualified theory imports restricted to that
       
   105 portion of the session graph. Moreover, the ROOT entry of the SESSION is
       
   106 opened in the editor.
       
   107 
   108 * The main Isabelle/jEdit plugin may be restarted manually (using the
   108 * The main Isabelle/jEdit plugin may be restarted manually (using the
   109 jEdit Plugin Manager), as long as the "Isabelle Base" plugin remains
   109 jEdit Plugin Manager), as long as the "Isabelle Base" plugin remains
   110 enabled at all times.
   110 enabled at all times.
   111 
   111 
   112 * Update to jedit-5.4.0.
   112 * Update to current jedit-5.4.0.
   113 
   113 
   114 
   114 
   115 *** Pure ***
   115 *** Pure ***
   116 
   116 
   117 * Deleting the last code equations for a particular function using
   117 * Deleting the last code equations for a particular function using
   118 [code del] results in function with no equations (runtime abort) rather
   118 [code del] results in function with no equations (runtime abort) rather
   119 than an unimplemented function (generation time abort).  Use explicit
   119 than an unimplemented function (generation time abort). Use explicit
   120 [[code drop:]] to enforce the latter.  Minor INCOMPATIBILTIY.
   120 [[code drop:]] to enforce the latter. Minor INCOMPATIBILTIY.
   121 
   121 
   122 * Proper concept of code declarations in code.ML:
   122 * Proper concept of code declarations in code.ML:
   123   - Regular code declarations act only on the global theory level,
   123   - Regular code declarations act only on the global theory level, being
   124     being ignored with warnings if syntactically malformed.
   124     ignored with warnings if syntactically malformed.
   125   - Explicitly global code declarations yield errors if syntactically malformed.
   125   - Explicitly global code declarations yield errors if syntactically
   126   - Default code declarations are silently ignored if syntactically malformed.
   126     malformed.
       
   127   - Default code declarations are silently ignored if syntactically
       
   128     malformed.
   127 Minor INCOMPATIBILITY.
   129 Minor INCOMPATIBILITY.
   128 
   130 
   129 * Clarified and standardized internal data bookkeeping of code declarations:
   131 * Clarified and standardized internal data bookkeeping of code
   130 history of serials allows to track potentially non-monotonous declarations
   132 declarations: history of serials allows to track potentially
   131 appropriately.  Minor INCOMPATIBILITY.
   133 non-monotonous declarations appropriately. Minor INCOMPATIBILITY.
   132 
   134 
   133 
   135 
   134 *** HOL ***
   136 *** HOL ***
   135 
   137 
   136 * Theory Library/Pattern_Aliases provides input syntax for pattern
   138 * SMT module:
   137 aliases as known from Haskell, Scala and ML.
   139   - A new option, 'smt_nat_as_int', has been added to translate 'nat' to
   138 
   140     'int' and benefit from the SMT solver's theory reasoning. It is
   139 * Constant "subseq" in Topological_Spaces removed and subsumed by
   141     disabled by default.
   140 "strict_mono". Some basic lemmas specific to "subseq" have been renamed
   142   - The legacy module "src/HOL/Library/Old_SMT.thy" has been removed.
   141 accordingly, e.g. "subseq_o" -> "strict_mono_o" etc.
   143   - Several small issues have been rectified in the 'smt' command.
       
   144 
       
   145 * (Co)datatype package: The 'size_gen_o_map' lemma is no longer
       
   146 generated for datatypes with type class annotations. As a result, the
       
   147 tactic that derives it no longer fails on nested datatypes. Slight
       
   148 INCOMPATIBILITY.
   142 
   149 
   143 * Command and antiquotation "value" with modified default strategy:
   150 * Command and antiquotation "value" with modified default strategy:
   144 terms without free variables are always evaluated using plain evaluation
   151 terms without free variables are always evaluated using plain evaluation
   145 only, with no fallback on normalization by evaluation.
   152 only, with no fallback on normalization by evaluation. Minor
   146 Minor INCOMPATIBILITY.
   153 INCOMPATIBILITY.
   147 
       
   148 * Notions of squarefreeness, n-th powers, and prime powers in
       
   149 HOL-Computational_Algebra and HOL-Number_Theory.
       
   150 
       
   151 * Material on infinite products in HOL-Analysis
       
   152 
       
   153 * Theory List:
       
   154   "sublist" renamed to "nths" in analogy with "nth".
       
   155   "sublisteq" renamed to "subseq".
       
   156   Minor INCOMPATIBILITY.
       
   157   New generic function "sorted_wrt"
       
   158 
   154 
   159 * Theories "GCD" and "Binomial" are already included in "Main" (instead
   155 * Theories "GCD" and "Binomial" are already included in "Main" (instead
   160 of "Complex_Main").
   156 of "Complex_Main").
   161 
   157 
   162 * Constants E/L/F in Library/Formal_Power_Series were renamed to
       
   163 fps_exp/fps_ln/fps_hypergeo to avoid polluting the name space.
       
   164 INCOMPATIBILITY.
       
   165 
       
   166 * Theory Totient in session Number_Theory introduces basic notions
       
   167 about Euler's totient function previously hidden as solitary example
       
   168 in theory Residues. Definition changed so that "totient 1 = 1" in
       
   169 agreement with the literature.  Minor INCOMPATIBILITY.
       
   170 
       
   171 * Session "Computional_Algebra" covers many previously scattered
       
   172 theories, notably Euclidean_Algorithm, Factorial_Ring, Formal_Power_Series,
       
   173 Fraction_Field, Fundamental_Theorem_Algebra, Normalized_Fraction,
       
   174 Polynomial_FPS, Polynomial, Primes.  Minor INCOMPATIBILITY.
       
   175 
       
   176 * Constant "surj" is a full input/output abbreviation (again).
   158 * Constant "surj" is a full input/output abbreviation (again).
   177 Minor INCOMPATIBILITY.
   159 Minor INCOMPATIBILITY.
   178 
   160 
   179 * Theory Library/FinFun has been moved to AFP (again).  INCOMPATIBILITY.
       
   180 
       
   181 * Some old and rarely used ASCII replacement syntax has been removed.
       
   182 INCOMPATIBILITY, standard syntax with symbols should be used instead.
       
   183 The subsequent commands help to reproduce the old forms, e.g. to
       
   184 simplify porting old theories:
       
   185 
       
   186 syntax (ASCII)
       
   187   "_PiE" :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b set \<Rightarrow> ('a \<Rightarrow> 'b) set"  ("(3PIE _:_./ _)" 10)
       
   188   "_Pi"  :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b set \<Rightarrow> ('a \<Rightarrow> 'b) set"  ("(3PI _:_./ _)" 10)
       
   189   "_lam" :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'a \<Rightarrow> 'b \<Rightarrow> ('a \<Rightarrow> 'b)"  ("(3%_:_./ _)" [0,0,3] 3)
       
   190 
       
   191 * Dropped aliasses RangeP, DomainP for Rangep, Domainp respectively.
   161 * Dropped aliasses RangeP, DomainP for Rangep, Domainp respectively.
   192 INCOMPATIBILITY.
   162 INCOMPATIBILITY.
   193 
   163 
   194 * Renamed ii to imaginary_unit in order to free up ii as a variable name.
   164 * Renamed ii to imaginary_unit in order to free up ii as a variable
   195 The syntax \<i> remains available.
   165 name. The syntax \<i> remains available. INCOMPATIBILITY.
   196 INCOMPATIBILITY.
   166 
   197 
   167 * Dropped abbreviations transP, antisymP, single_valuedP; use constants
   198 * Dropped abbreviations transP, antisymP, single_valuedP;
   168 transp, antisymp, single_valuedp instead. INCOMPATIBILITY.
   199 use constants transp, antisymp, single_valuedp instead.
   169 
   200 INCOMPATIBILITY.
   170 * Constant "subseq" in Topological_Spaces has been removed -- it is
   201 
   171 subsumed by "strict_mono". Some basic lemmas specific to "subseq" have
   202 * Algebraic type class hierarchy of euclidean (semi)rings in HOL:
   172 been renamed accordingly, e.g. "subseq_o" -> "strict_mono_o" etc.
   203 euclidean_(semi)ring, euclidean_(semi)ring_cancel,
   173 
   204 unique_euclidean_(semi)ring; instantiation requires
   174 * Theory List: "sublist" renamed to "nths" in analogy with "nth", and
   205 provision of a euclidean size.
   175 "sublisteq" renamed to "subseq". Minor INCOMPATIBILITY.
   206 
   176 
   207 * Reworking of theory Euclidean_Algorithm in session HOL-Number_Theory:
   177 * Theory List: new generic function "sorted_wrt".
   208   - Euclidean induction is available as rule eucl_induct;
   178 
   209   - Constants Euclidean_Algorithm.gcd, Euclidean_Algorithm.lcm,
   179 * Named theorems mod_simps covers various congruence rules concerning
   210     Euclidean_Algorithm.Gcd and Euclidean_Algorithm.Lcm allow
   180 mod, replacing former zmod_simps. INCOMPATIBILITY.
   211     easy instantiation of euclidean (semi)rings as GCD (semi)rings.
       
   212   - Coefficients obtained by extended euclidean algorithm are
       
   213     available as "bezout_coefficients".
       
   214 INCOMPATIBILITY.
       
   215 
       
   216 * Named collection mod_simps covers various congruence rules
       
   217 concerning mod, replacing former zmod_simps.
       
   218 INCOMPATIBILITY.
       
   219 
   181 
   220 * Swapped orientation of congruence rules mod_add_left_eq,
   182 * Swapped orientation of congruence rules mod_add_left_eq,
   221 mod_add_right_eq, mod_add_eq, mod_mult_left_eq, mod_mult_right_eq,
   183 mod_add_right_eq, mod_add_eq, mod_mult_left_eq, mod_mult_right_eq,
   222 mod_mult_eq, mod_minus_eq, mod_diff_left_eq, mod_diff_right_eq,
   184 mod_mult_eq, mod_minus_eq, mod_diff_left_eq, mod_diff_right_eq,
   223 mod_diff_eq.  INCOMPATIBILITY.
   185 mod_diff_eq. INCOMPATIBILITY.
   224 
   186 
   225 * Generalized some facts:
   187 * Generalized some facts:
   226     measure_induct_rule
   188     measure_induct_rule
   227     measure_induct
   189     measure_induct
   228     zminus_zmod ~> mod_minus_eq
   190     zminus_zmod ~> mod_minus_eq
   229     zdiff_zmod_left ~> mod_diff_left_eq
   191     zdiff_zmod_left ~> mod_diff_left_eq
   230     zdiff_zmod_right ~> mod_diff_right_eq
   192     zdiff_zmod_right ~> mod_diff_right_eq
   231     zmod_eq_dvd_iff ~> mod_eq_dvd_iff
   193     zmod_eq_dvd_iff ~> mod_eq_dvd_iff
   232 INCOMPATIBILITY.
   194 INCOMPATIBILITY.
   233 
   195 
   234 * (Co)datatype package:
   196 * Algebraic type class hierarchy of euclidean (semi)rings in HOL:
   235   - The 'size_gen_o_map' lemma is no longer generated for datatypes
   197 euclidean_(semi)ring, euclidean_(semi)ring_cancel,
   236     with type class annotations. As a result, the tactic that derives
   198 unique_euclidean_(semi)ring; instantiation requires provision of a
   237     it no longer fails on nested datatypes. Slight INCOMPATIBILITY.
   199 euclidean size.
   238 
   200 
   239 * Session HOL-Algebra extended by additional lattice theory: the
   201 * Theory "HOL-Number_Theory.Euclidean_Algorithm" has been reworked:
   240 Knaster-Tarski fixed point theorem and Galois Connections.
   202   - Euclidean induction is available as rule eucl_induct.
   241 
   203   - Constants Euclidean_Algorithm.gcd, Euclidean_Algorithm.lcm,
   242 * SMT module:
   204     Euclidean_Algorithm.Gcd and Euclidean_Algorithm.Lcm allow
   243   - A new option, 'smt_nat_as_int', has been added to translate 'nat' to
   205     easy instantiation of euclidean (semi)rings as GCD (semi)rings.
   244     'int' and benefit from the SMT solver's theory reasoning. It is disabled
   206   - Coefficients obtained by extended euclidean algorithm are
   245     by default.
   207     available as "bezout_coefficients".
   246   - The legacy module 'src/HOL/Library/Old_SMT.thy' has been removed.
   208 INCOMPATIBILITY.
   247   - Several small issues have been rectified in the 'smt' command.
   209 
   248 
   210 * Theory "Number_Theory.Totient" introduces basic notions about Euler's
   249 * Session HOL-Analysis: more material involving arcs, paths, covering
   211 totient function previously hidden as solitary example in theory
   250 spaces, innessential maps, retracts. Major results include the Jordan
   212 Residues. Definition changed so that "totient 1 = 1" in agreement with
   251 Curve Theorem and the Great Picard Theorem.
   213 the literature. Minor INCOMPATIBILITY.
   252 
   214 
   253 * The theorem in Permutations has been renamed:
   215 * Theory "HOL-Library.Permutations": theorem bij_swap_ompose_bij has
   254   bij_swap_ompose_bij ~> bij_swap_compose_bij
   216 been renamed to bij_swap_compose_bij. INCOMPATIBILITY.
   255 
   217 
   256 * Session HOL-Library: The simprocs on subsets operators of multisets
   218 * Theory "HOL-Library.Formal_Power_Series": constants E/L/F have been
   257 have been renamed:
   219 renamed to fps_exp/fps_ln/fps_hypergeo to avoid polluting the name
       
   220 space. INCOMPATIBILITY.
       
   221 
       
   222 * Theory "HOL-Library.FinFun" has been moved to AFP (again).
       
   223 INCOMPATIBILITY.
       
   224 
       
   225 * Theory "HOL-Library.FuncSet": some old and rarely used ASCII
       
   226 replacement syntax has been removed. INCOMPATIBILITY, standard syntax
       
   227 with symbols should be used instead. The subsequent commands help to
       
   228 reproduce the old forms, e.g. to simplify porting old theories:
       
   229 
       
   230 syntax (ASCII)
       
   231   "_PiE" :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b set \<Rightarrow> ('a \<Rightarrow> 'b) set"  ("(3PIE _:_./ _)" 10)
       
   232   "_Pi"  :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'b set \<Rightarrow> ('a \<Rightarrow> 'b) set"  ("(3PI _:_./ _)" 10)
       
   233   "_lam" :: "pttrn \<Rightarrow> 'a set \<Rightarrow> 'a \<Rightarrow> 'b \<Rightarrow> ('a \<Rightarrow> 'b)"  ("(3%_:_./ _)" [0,0,3] 3)
       
   234 
       
   235 * Theory "HOL-Library.Multiset": the simprocs on subsets operators of
       
   236 multisets have been renamed:
       
   237 
   258   msetless_cancel_numerals ~> msetsubset_cancel
   238   msetless_cancel_numerals ~> msetsubset_cancel
   259   msetle_cancel_numerals ~> msetsubset_eq_cancel
   239   msetle_cancel_numerals ~> msetsubset_eq_cancel
   260 INCOMPATIBILITY.
   240 
   261 
   241 INCOMPATIBILITY.
   262 * Session HOL-Library: The suffix _numerals has been removed from the
   242 
   263 name of the simprocs on multisets. INCOMPATIBILITY.
   243 * Theory "HOL-Library.Pattern_Aliases" provides input syntax for pattern
       
   244 aliases as known from Haskell, Scala and ML.
       
   245 
       
   246 * Session HOL-Analysis: more material involving arcs, paths, covering
       
   247 spaces, innessential maps, retracts, material on infinite products.
       
   248 Major results include the Jordan Curve Theorem and the Great Picard
       
   249 Theorem.
       
   250 
       
   251 * Session HOL-Algebra has been extended by additional lattice theory:
       
   252 the Knaster-Tarski fixed point theorem and Galois Connections.
       
   253 
       
   254 * Sessions HOL-Computational_Algebra and HOL-Number_Theory: new notions
       
   255 of squarefreeness, n-th powers, and prime powers.
       
   256 
       
   257 * Session "HOL-Computional_Algebra" covers many previously scattered
       
   258 theories, notably Euclidean_Algorithm, Factorial_Ring,
       
   259 Formal_Power_Series, Fraction_Field, Fundamental_Theorem_Algebra,
       
   260 Normalized_Fraction, Polynomial_FPS, Polynomial, Primes. Minor
       
   261 INCOMPATIBILITY.
   264 
   262 
   265 
   263 
   266 *** System ***
   264 *** System ***
   267 
       
   268 * Option parallel_proofs is 1 by default (instead of more aggressive 2).
       
   269 This requires less heap space and avoids burning parallel CPU cycles,
       
   270 while full subproof parallelization is enabled for repeated builds
       
   271 (according to parallel_subproofs_threshold).
       
   272 
   265 
   273 * Prover IDE support for the Visual Studio Code editor and language
   266 * Prover IDE support for the Visual Studio Code editor and language
   274 server protocol, via the "isabelle vscode_server" tool (see also
   267 server protocol, via the "isabelle vscode_server" tool (see also
   275 src/Tools/VSCode/README.md). The example application within the VS code
   268 src/Tools/VSCode/README.md). The example application within the VS code
   276 editor is called "Isabelle" and available from its online repository
   269 editor is called "Isabelle" and available from its online repository
   277 (the "Marketplace"). It serves as example for further potential IDE
   270 (the "Marketplace"). It serves as example for further potential IDE
   278 front-ends.
   271 front-ends.
   279 
   272 
   280 * ISABELLE_SCALA_BUILD_OPTIONS has been renamed to
   273 * System option "parallel_proofs" is 1 by default (instead of more
   281 ISABELLE_SCALAC_OPTIONS. Rare INCOMPATIBILITY.
   274 aggressive 2). This requires less heap space and avoids burning parallel
   282 
   275 CPU cycles, while full subproof parallelization is enabled for repeated
   283 * Isabelle settings ISABELLE_WINDOWS_PLATFORM,
   276 builds (according to parallel_subproofs_threshold).
       
   277 
       
   278 * System option "record_proofs" allows to change the global
       
   279 Proofterm.proofs variable for a session. Regular values are are 0, 1, 2;
       
   280 a negative value means the current state in the ML heap image remains
       
   281 unchanged.
       
   282 
       
   283 * Isabelle settings variable ISABELLE_SCALA_BUILD_OPTIONS has been
       
   284 renamed to ISABELLE_SCALAC_OPTIONS. Rare INCOMPATIBILITY.
       
   285 
       
   286 * Isabelle settings variables ISABELLE_WINDOWS_PLATFORM,
   284 ISABELLE_WINDOWS_PLATFORM32, ISABELLE_WINDOWS_PLATFORM64 indicate the
   287 ISABELLE_WINDOWS_PLATFORM32, ISABELLE_WINDOWS_PLATFORM64 indicate the
   285 native Windows platform (independently of the Cygwin installation). This
   288 native Windows platform (independently of the Cygwin installation). This
   286 is analogous to ISABELLE_PLATFORM, ISABELLE_PLATFORM32,
   289 is analogous to ISABELLE_PLATFORM, ISABELLE_PLATFORM32,
   287 ISABELLE_PLATFORM64.
   290 ISABELLE_PLATFORM64.
   288 
   291 
   289 * System option "record_proofs" allows to change the global
   292 * Isabelle/Scala: the SQL module supports access to relational
   290 Proofterm.proofs variable for a session. Regular values are are 0, 1, 2;
   293 databases, either as plain file (SQLite) or full-scale server
   291 a negative value means the current state in the ML heap image remains
   294 (PostgreSQL via local port or remote ssh connection).
   292 unchanged.
   295 
       
   296 * Results of "isabelle build" are recorded as SQLite database (i.e.
       
   297 "Application File Format" in the sense of
       
   298 https://www.sqlite.org/appfileformat.html). This allows systematic
       
   299 access via operations from module Sessions.Store in Isabelle/Scala.
   293 
   300 
   294 * Command-line tool "isabelle imports" helps to maintain theory imports
   301 * Command-line tool "isabelle imports" helps to maintain theory imports
   295 wrt. session structure. Examples:
   302 wrt. session structure. Examples:
   296 
   303 
   297   isabelle imports -I -a
   304   isabelle imports -I -a
   298   isabelle imports -U -a
   305   isabelle imports -U -a
   299   isabelle imports -U -i -a
   306   isabelle imports -U -i -a
   300   isabelle imports -M -a -d '~~/src/Benchmarks'
   307   isabelle imports -M -a -d '~~/src/Benchmarks'
   301 
       
   302 * Isabelle/Scala: the SQL module supports access to relational
       
   303 databases, either as plain file (SQLite) or full-scale server
       
   304 (PostgreSQL via local port or remote ssh connection).
       
   305 
       
   306 * Results of "isabelle build" are recorded as SQLite database (i.e.
       
   307 "Application File Format" in the sense of
       
   308 https://www.sqlite.org/appfileformat.html). This allows systematic
       
   309 access via operations from module Sessions.Store in Isabelle/Scala.
       
   310 
   308 
   311 
   309 
   312 New in Isabelle2016-1 (December 2016)
   310 New in Isabelle2016-1 (December 2016)
   313 -------------------------------------
   311 -------------------------------------
   314 
   312