NEWS
author wenzelm
Mon, 29 Jun 2015 20:55:46 +0200
changeset 60610 f52b4b0c10c4
parent 60595 804dfdc82835
child 60617 0eb41780449b
permissions -rw-r--r--
improved scheduling for urgent tasks, using farm of replacement threads (may lead to factor 2 overloading, but CPUs are usually hyperthreaded);
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
57491
9eedaafc05c8 tuned grammar and spelling (cf. 0cf15843b82f);
wenzelm
parents: 57476
diff changeset
     1
Isabelle NEWS -- history of user-relevant changes
9eedaafc05c8 tuned grammar and spelling (cf. 0cf15843b82f);
wenzelm
parents: 57476
diff changeset
     2
=================================================
2553
ed941505cab7 Isabelle NEWS -- history of user-visible changes;
wenzelm
parents:
diff changeset
     3
60006
wenzelm
parents: 59998
diff changeset
     4
(Note: Isabelle/jEdit shows a tree-view of this file in Sidekick.)
wenzelm
parents: 59998
diff changeset
     5
60331
f215fd466e30 discontinued legacy;
wenzelm
parents: 60310
diff changeset
     6
60138
b11401808dac back to post-release mode -- after fork point;
wenzelm
parents: 60119
diff changeset
     7
New in this Isabelle version
b11401808dac back to post-release mode -- after fork point;
wenzelm
parents: 60119
diff changeset
     8
----------------------------
b11401808dac back to post-release mode -- after fork point;
wenzelm
parents: 60119
diff changeset
     9
60610
f52b4b0c10c4 improved scheduling for urgent tasks, using farm of replacement threads (may lead to factor 2 overloading, but CPUs are usually hyperthreaded);
wenzelm
parents: 60595
diff changeset
    10
*** Prover IDE -- Isabelle/Scala/jEdit ***
f52b4b0c10c4 improved scheduling for urgent tasks, using farm of replacement threads (may lead to factor 2 overloading, but CPUs are usually hyperthreaded);
wenzelm
parents: 60595
diff changeset
    11
f52b4b0c10c4 improved scheduling for urgent tasks, using farm of replacement threads (may lead to factor 2 overloading, but CPUs are usually hyperthreaded);
wenzelm
parents: 60595
diff changeset
    12
* Improved scheduling for urgent print tasks (e.g. command state output,
f52b4b0c10c4 improved scheduling for urgent tasks, using farm of replacement threads (may lead to factor 2 overloading, but CPUs are usually hyperthreaded);
wenzelm
parents: 60595
diff changeset
    13
interactive queries) wrt. long-running background tasks.
f52b4b0c10c4 improved scheduling for urgent tasks, using farm of replacement threads (may lead to factor 2 overloading, but CPUs are usually hyperthreaded);
wenzelm
parents: 60595
diff changeset
    14
f52b4b0c10c4 improved scheduling for urgent tasks, using farm of replacement threads (may lead to factor 2 overloading, but CPUs are usually hyperthreaded);
wenzelm
parents: 60595
diff changeset
    15
60406
12cc54fac9b0 allow for_fixes for 'have', 'show' etc.;
wenzelm
parents: 60404
diff changeset
    16
*** Isar ***
12cc54fac9b0 allow for_fixes for 'have', 'show' etc.;
wenzelm
parents: 60404
diff changeset
    17
12cc54fac9b0 allow for_fixes for 'have', 'show' etc.;
wenzelm
parents: 60404
diff changeset
    18
* Command 'obtain' binds term abbreviations (via 'is' patterns) in the
12cc54fac9b0 allow for_fixes for 'have', 'show' etc.;
wenzelm
parents: 60404
diff changeset
    19
proof body as well, abstracted over relevant parameters.
12cc54fac9b0 allow for_fixes for 'have', 'show' etc.;
wenzelm
parents: 60404
diff changeset
    20
60477
051b200f7578 improved treatment of Element.Obtains via Expression.prepare_stmt;
wenzelm
parents: 60460
diff changeset
    21
* Improved type-inference for theorem statement 'obtains': separate
051b200f7578 improved treatment of Element.Obtains via Expression.prepare_stmt;
wenzelm
parents: 60460
diff changeset
    22
parameter scope for of each clause.
051b200f7578 improved treatment of Element.Obtains via Expression.prepare_stmt;
wenzelm
parents: 60460
diff changeset
    23
60408
1fd46ced2fa8 more uniform treatment of auto bindings vs. explicit user bindings;
wenzelm
parents: 60406
diff changeset
    24
* Term abbreviations via 'is' patterns also work for schematic
1fd46ced2fa8 more uniform treatment of auto bindings vs. explicit user bindings;
wenzelm
parents: 60406
diff changeset
    25
statements: result is abstracted over unknowns.
1fd46ced2fa8 more uniform treatment of auto bindings vs. explicit user bindings;
wenzelm
parents: 60406
diff changeset
    26
60414
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    27
* Local goals ('have', 'show', 'hence', 'thus') allow structured
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    28
statements like fixes/assumes/shows in theorem specifications, but the
60555
51a6997b1384 support 'when' statement, which corresponds to 'presume';
wenzelm
parents: 60554
diff changeset
    29
notation is postfix with keywords 'if' (or 'when') and 'for'. For
51a6997b1384 support 'when' statement, which corresponds to 'presume';
wenzelm
parents: 60554
diff changeset
    30
example:
60414
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    31
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    32
  have result: "C x y"
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    33
    if "A x" and "B y"
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    34
    for x :: 'a and y :: 'a
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    35
    <proof>
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    36
60449
229bad93377e renamed "prems" to "that";
wenzelm
parents: 60418
diff changeset
    37
The local assumptions are bound to the name "that". The result is
229bad93377e renamed "prems" to "that";
wenzelm
parents: 60418
diff changeset
    38
exported from context of the statement as usual. The above roughly
60414
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    39
corresponds to a raw proof block like this:
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    40
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    41
  {
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    42
    fix x :: 'a and y :: 'a
60449
229bad93377e renamed "prems" to "that";
wenzelm
parents: 60418
diff changeset
    43
    assume that: "A x" "B y"
60414
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    44
    have "C x y" <proof>
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    45
  }
f25f2f2ba48c support for "if prems" in local goal statements;
wenzelm
parents: 60408
diff changeset
    46
  note result = this
60406
12cc54fac9b0 allow for_fixes for 'have', 'show' etc.;
wenzelm
parents: 60404
diff changeset
    47
60555
51a6997b1384 support 'when' statement, which corresponds to 'presume';
wenzelm
parents: 60554
diff changeset
    48
The keyword 'when' may be used instead of 'if', to indicate 'presume'
51a6997b1384 support 'when' statement, which corresponds to 'presume';
wenzelm
parents: 60554
diff changeset
    49
instead of 'assume' above.
51a6997b1384 support 'when' statement, which corresponds to 'presume';
wenzelm
parents: 60554
diff changeset
    50
60595
804dfdc82835 premises in 'show' are treated like 'assume';
wenzelm
parents: 60584
diff changeset
    51
* The meaning of 'show' with Pure rule statements has changed: premises
804dfdc82835 premises in 'show' are treated like 'assume';
wenzelm
parents: 60584
diff changeset
    52
are treated in the sense of 'assume', instead of 'presume'. This means,
804dfdc82835 premises in 'show' are treated like 'assume';
wenzelm
parents: 60584
diff changeset
    53
a goal like "\<And>x. A x \<Longrightarrow> B x \<Longrightarrow> C x" can be solved completely as follows:
804dfdc82835 premises in 'show' are treated like 'assume';
wenzelm
parents: 60584
diff changeset
    54
804dfdc82835 premises in 'show' are treated like 'assume';
wenzelm
parents: 60584
diff changeset
    55
  show "\<And>x. A x \<Longrightarrow> B x \<Longrightarrow> C x"
804dfdc82835 premises in 'show' are treated like 'assume';
wenzelm
parents: 60584
diff changeset
    56
804dfdc82835 premises in 'show' are treated like 'assume';
wenzelm
parents: 60584
diff changeset
    57
or:
804dfdc82835 premises in 'show' are treated like 'assume';
wenzelm
parents: 60584
diff changeset
    58
804dfdc82835 premises in 'show' are treated like 'assume';
wenzelm
parents: 60584
diff changeset
    59
  show "C x" if "A x" "B x" for x
804dfdc82835 premises in 'show' are treated like 'assume';
wenzelm
parents: 60584
diff changeset
    60
804dfdc82835 premises in 'show' are treated like 'assume';
wenzelm
parents: 60584
diff changeset
    61
Rare INCOMPATIBILITY, the old behaviour may be recovered as follows:
804dfdc82835 premises in 'show' are treated like 'assume';
wenzelm
parents: 60584
diff changeset
    62
804dfdc82835 premises in 'show' are treated like 'assume';
wenzelm
parents: 60584
diff changeset
    63
  show "C x" when "A x" "B x" for x
804dfdc82835 premises in 'show' are treated like 'assume';
wenzelm
parents: 60584
diff changeset
    64
60406
12cc54fac9b0 allow for_fixes for 'have', 'show' etc.;
wenzelm
parents: 60404
diff changeset
    65
* New command 'supply' supports fact definitions during goal refinement
12cc54fac9b0 allow for_fixes for 'have', 'show' etc.;
wenzelm
parents: 60404
diff changeset
    66
('apply' scripts).
12cc54fac9b0 allow for_fixes for 'have', 'show' etc.;
wenzelm
parents: 60404
diff changeset
    67
60459
2761a2249c83 more on 'consider' and related concepts;
wenzelm
parents: 60455
diff changeset
    68
* New command 'consider' states rules for generalized elimination and
2761a2249c83 more on 'consider' and related concepts;
wenzelm
parents: 60455
diff changeset
    69
case splitting. This is like a toplevel statement "theorem obtains" used
2761a2249c83 more on 'consider' and related concepts;
wenzelm
parents: 60455
diff changeset
    70
within a proof body; or like a multi-branch 'obtain' without activation
2761a2249c83 more on 'consider' and related concepts;
wenzelm
parents: 60455
diff changeset
    71
of the local context elements yet.
2761a2249c83 more on 'consider' and related concepts;
wenzelm
parents: 60455
diff changeset
    72
60455
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    73
* Proof method "cases" allows to specify the rule as first entry of
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    74
chained facts.  This is particularly useful with 'consider':
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    75
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    76
  consider (a) A | (b) B | (c) C <proof>
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    77
  then have something
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    78
  proof cases
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    79
    case a
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    80
    then show ?thesis <proof>
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    81
  next
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    82
    case b
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    83
    then show ?thesis <proof>
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    84
  next
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    85
    case c
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    86
    then show ?thesis <proof>
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    87
  qed
0c4077939278 implicit rule for method "cases";
wenzelm
parents: 60449
diff changeset
    88
60565
b7ee41f72add clarified 'case' command;
wenzelm
parents: 60555
diff changeset
    89
* Command 'case' allows fact name and attribute specification like this:
b7ee41f72add clarified 'case' command;
wenzelm
parents: 60555
diff changeset
    90
b7ee41f72add clarified 'case' command;
wenzelm
parents: 60555
diff changeset
    91
  case a: (c xs)
b7ee41f72add clarified 'case' command;
wenzelm
parents: 60555
diff changeset
    92
  case a [attributes]: (c xs)
b7ee41f72add clarified 'case' command;
wenzelm
parents: 60555
diff changeset
    93
b7ee41f72add clarified 'case' command;
wenzelm
parents: 60555
diff changeset
    94
Facts that are introduced by invoking the case context are uniformly
b7ee41f72add clarified 'case' command;
wenzelm
parents: 60555
diff changeset
    95
qualified by "a"; the same name is used for the cumulative fact. The old
b7ee41f72add clarified 'case' command;
wenzelm
parents: 60555
diff changeset
    96
form "case (c xs) [attributes]" is no longer supported. Rare
b7ee41f72add clarified 'case' command;
wenzelm
parents: 60555
diff changeset
    97
INCOMPATIBILITY, need to adapt uses of case facts in exotic situations,
b7ee41f72add clarified 'case' command;
wenzelm
parents: 60555
diff changeset
    98
and always put attributes in front.
b7ee41f72add clarified 'case' command;
wenzelm
parents: 60555
diff changeset
    99
60578
c708dafe2220 added method "goals" for proper subgoal cases;
wenzelm
parents: 60565
diff changeset
   100
* Proof method "goals" turns the current subgoals into cases within the
c708dafe2220 added method "goals" for proper subgoal cases;
wenzelm
parents: 60565
diff changeset
   101
context; the conclusion is bound to variable ?case in each case.
c708dafe2220 added method "goals" for proper subgoal cases;
wenzelm
parents: 60565
diff changeset
   102
60581
d2fbc021a44d implicit goal cases are legacy;
wenzelm
parents: 60578
diff changeset
   103
* The undocumented feature of implicit cases goal1, goal2, goal3, etc.
d2fbc021a44d implicit goal cases are legacy;
wenzelm
parents: 60578
diff changeset
   104
is marked as legacy, and will be removed eventually. Note that proof
d2fbc021a44d implicit goal cases are legacy;
wenzelm
parents: 60578
diff changeset
   105
method "goals" achieves a similar effect within regular Isar.
d2fbc021a44d implicit goal cases are legacy;
wenzelm
parents: 60578
diff changeset
   106
60551
2b8342b0d98c clarified nesting of Isar goal structure;
wenzelm
parents: 60525
diff changeset
   107
* Nesting of Isar goal structure has been clarified: the context after
2b8342b0d98c clarified nesting of Isar goal structure;
wenzelm
parents: 60525
diff changeset
   108
the initial backwards refinement is retained for the whole proof, within
2b8342b0d98c clarified nesting of Isar goal structure;
wenzelm
parents: 60525
diff changeset
   109
all its context sections (as indicated via 'next'). This is e.g.
2b8342b0d98c clarified nesting of Isar goal structure;
wenzelm
parents: 60525
diff changeset
   110
relevant for 'using', 'including', 'supply':
2b8342b0d98c clarified nesting of Isar goal structure;
wenzelm
parents: 60525
diff changeset
   111
2b8342b0d98c clarified nesting of Isar goal structure;
wenzelm
parents: 60525
diff changeset
   112
  have "A \<and> A" if a: A for A
2b8342b0d98c clarified nesting of Isar goal structure;
wenzelm
parents: 60525
diff changeset
   113
    supply [simp] = a
2b8342b0d98c clarified nesting of Isar goal structure;
wenzelm
parents: 60525
diff changeset
   114
  proof
2b8342b0d98c clarified nesting of Isar goal structure;
wenzelm
parents: 60525
diff changeset
   115
    show A by simp
2b8342b0d98c clarified nesting of Isar goal structure;
wenzelm
parents: 60525
diff changeset
   116
  next
2b8342b0d98c clarified nesting of Isar goal structure;
wenzelm
parents: 60525
diff changeset
   117
    show A by simp
2b8342b0d98c clarified nesting of Isar goal structure;
wenzelm
parents: 60525
diff changeset
   118
  qed
2b8342b0d98c clarified nesting of Isar goal structure;
wenzelm
parents: 60525
diff changeset
   119
60554
c0e1c121c7c0 added method "sleep";
wenzelm
parents: 60551
diff changeset
   120
* Method "sleep" succeeds after a real-time delay (in seconds). This is
c0e1c121c7c0 added method "sleep";
wenzelm
parents: 60551
diff changeset
   121
occasionally useful for demonstration and testing purposes.
c0e1c121c7c0 added method "sleep";
wenzelm
parents: 60551
diff changeset
   122
60406
12cc54fac9b0 allow for_fixes for 'have', 'show' etc.;
wenzelm
parents: 60404
diff changeset
   123
60331
f215fd466e30 discontinued legacy;
wenzelm
parents: 60310
diff changeset
   124
*** Pure ***
f215fd466e30 discontinued legacy;
wenzelm
parents: 60310
diff changeset
   125
60489
bfd9b7302a82 vacuous fact `TERM x`;
wenzelm
parents: 60479
diff changeset
   126
* The vacuous fact "TERM x" may be established "by fact" or as `TERM x`
bfd9b7302a82 vacuous fact `TERM x`;
wenzelm
parents: 60479
diff changeset
   127
as well, not just "by this" or "." as before.
bfd9b7302a82 vacuous fact `TERM x`;
wenzelm
parents: 60479
diff changeset
   128
60331
f215fd466e30 discontinued legacy;
wenzelm
parents: 60310
diff changeset
   129
* Configuration option rule_insts_schematic has been discontinued
f215fd466e30 discontinued legacy;
wenzelm
parents: 60310
diff changeset
   130
(intermediate legacy feature in Isabelle2015).  INCOMPATIBILITY.
f215fd466e30 discontinued legacy;
wenzelm
parents: 60310
diff changeset
   131
60347
7d64ad9910e2 explicit argument expansion of uncheck rules;
haftmann
parents: 60331
diff changeset
   132
* Abbreviations in type classes now carry proper sort constraint.
7d64ad9910e2 explicit argument expansion of uncheck rules;
haftmann
parents: 60331
diff changeset
   133
Rare INCOMPATIBILITY in situations where the previous misbehaviour
7d64ad9910e2 explicit argument expansion of uncheck rules;
haftmann
parents: 60331
diff changeset
   134
has been exploited previously.
7d64ad9910e2 explicit argument expansion of uncheck rules;
haftmann
parents: 60331
diff changeset
   135
7d64ad9910e2 explicit argument expansion of uncheck rules;
haftmann
parents: 60331
diff changeset
   136
* Refinement of user-space type system in type classes: pseudo-local
7d64ad9910e2 explicit argument expansion of uncheck rules;
haftmann
parents: 60331
diff changeset
   137
operations behave more similar to abbreviations.  Potential
7d64ad9910e2 explicit argument expansion of uncheck rules;
haftmann
parents: 60331
diff changeset
   138
INCOMPATIBILITY in exotic situations.
7d64ad9910e2 explicit argument expansion of uncheck rules;
haftmann
parents: 60331
diff changeset
   139
7d64ad9910e2 explicit argument expansion of uncheck rules;
haftmann
parents: 60331
diff changeset
   140
60171
b3be7677461e no more simp_legacy_precond
nipkow
parents: 60138
diff changeset
   141
*** HOL ***
b3be7677461e no more simp_legacy_precond
nipkow
parents: 60138
diff changeset
   142
b3be7677461e no more simp_legacy_precond
nipkow
parents: 60138
diff changeset
   143
* Discontinued simp_legacy_precond. Potential INCOMPATIBILITY.
60138
b11401808dac back to post-release mode -- after fork point;
wenzelm
parents: 60119
diff changeset
   144
60306
6b7c64ab8bd2 made Auto Sledgehammer behave more like the real thing
blanchet
parents: 60301
diff changeset
   145
* Sledgehammer:
6b7c64ab8bd2 made Auto Sledgehammer behave more like the real thing
blanchet
parents: 60301
diff changeset
   146
  - Proof reconstruction has been improved, to minimize the incidence of
6b7c64ab8bd2 made Auto Sledgehammer behave more like the real thing
blanchet
parents: 60301
diff changeset
   147
    cases where Sledgehammer gives a proof that does not work.
6b7c64ab8bd2 made Auto Sledgehammer behave more like the real thing
blanchet
parents: 60301
diff changeset
   148
  - Auto Sledgehammer now minimizes and preplays the results.
60584
6ac3172985d4 updated SystemOnTPTP URL
blanchet
parents: 60581
diff changeset
   149
  - The URL for remote provers on SystemOnTPTP has been updated.
60306
6b7c64ab8bd2 made Auto Sledgehammer behave more like the real thing
blanchet
parents: 60301
diff changeset
   150
60310
932221b62e89 removed model checks from Nitpick
blanchet
parents: 60306
diff changeset
   151
* Nitpick:
932221b62e89 removed model checks from Nitpick
blanchet
parents: 60306
diff changeset
   152
  - Removed "check_potential" and "check_genuine" options.
932221b62e89 removed model checks from Nitpick
blanchet
parents: 60306
diff changeset
   153
60516
0826b7025d07 generalized some theorems about integral domains and moved to HOL theories
haftmann
parents: 60515
diff changeset
   154
* Tightened specification of class semiring_no_zero_divisors.  Slight
0826b7025d07 generalized some theorems about integral domains and moved to HOL theories
haftmann
parents: 60515
diff changeset
   155
INCOMPATIBILITY.
0826b7025d07 generalized some theorems about integral domains and moved to HOL theories
haftmann
parents: 60515
diff changeset
   156
60517
f16e4fb20652 separate class for notions specific for integral (semi)domains, in contrast to fields where these are trivial
haftmann
parents: 60516
diff changeset
   157
* Class algebraic_semidom introduced common algebraic notions of
f16e4fb20652 separate class for notions specific for integral (semi)domains, in contrast to fields where these are trivial
haftmann
parents: 60516
diff changeset
   158
integral (semi)domains like units and associated elements.  Although
f16e4fb20652 separate class for notions specific for integral (semi)domains, in contrast to fields where these are trivial
haftmann
parents: 60516
diff changeset
   159
logically subsumed by fields, is is not a super class of these
f16e4fb20652 separate class for notions specific for integral (semi)domains, in contrast to fields where these are trivial
haftmann
parents: 60516
diff changeset
   160
in order not to burden fields with notions that are trivial there.
f16e4fb20652 separate class for notions specific for integral (semi)domains, in contrast to fields where these are trivial
haftmann
parents: 60516
diff changeset
   161
INCOMPATIBILITY.
f16e4fb20652 separate class for notions specific for integral (semi)domains, in contrast to fields where these are trivial
haftmann
parents: 60516
diff changeset
   162
60429
d3d1e185cd63 uniform _ div _ as infix syntax for ring division
haftmann
parents: 60418
diff changeset
   163
* Former constants Fields.divide (_ / _) and Divides.div (_ div _)
60352
d46de31a50c4 separate class for division operator, with particular syntax added in more specific classes
haftmann
parents: 60347
diff changeset
   164
are logically unified to Rings.divide in syntactic type class
60429
d3d1e185cd63 uniform _ div _ as infix syntax for ring division
haftmann
parents: 60418
diff changeset
   165
Rings.divide, with infix syntax (_ div _).  Infix syntax (_ / _)
d3d1e185cd63 uniform _ div _ as infix syntax for ring division
haftmann
parents: 60418
diff changeset
   166
for field division is added later as abbreviation in class Fields.inverse.
60516
0826b7025d07 generalized some theorems about integral domains and moved to HOL theories
haftmann
parents: 60515
diff changeset
   167
INCOMPATIBILITY,  instantiations must refer to Rings.divide rather
60429
d3d1e185cd63 uniform _ div _ as infix syntax for ring division
haftmann
parents: 60418
diff changeset
   168
than the former separate constants, hence infix syntax (_ / _) is usually
d3d1e185cd63 uniform _ div _ as infix syntax for ring division
haftmann
parents: 60418
diff changeset
   169
not available during instantiation.
60352
d46de31a50c4 separate class for division operator, with particular syntax added in more specific classes
haftmann
parents: 60347
diff changeset
   170
60397
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   171
* Library/Multiset:
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   172
  - Renamed multiset inclusion operators:
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   173
      < ~> <#
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   174
      \<subset> ~> \<subset>#
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   175
      <= ~> <=#
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   176
      \<le> ~> \<le>#
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   177
      \<subseteq> ~> \<subseteq>#
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   178
    INCOMPATIBILITY.
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   179
  - "'a multiset" is no longer an instance of the "order",
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   180
    "ordered_ab_semigroup_add_imp_le", "ordered_cancel_comm_monoid_diff",
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   181
    "semilattice_inf", and "semilattice_sup" type classes. The theorems
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   182
    previously provided by these type classes (directly or indirectly)
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   183
    are now available through the "subset_mset" interpretation
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   184
    (e.g. add_mono ~> subset_mset.add_mono).
f8a513fedb31 Renaming multiset operators < ~> <#,...
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60390
diff changeset
   185
    INCOMPATIBILITY.
60497
nipkow
parents: 60489
diff changeset
   186
  - Renamed conversions:
60515
484559628038 renamed multiset_of -> mset
nipkow
parents: 60514
diff changeset
   187
      multiset_of ~> mset
484559628038 renamed multiset_of -> mset
nipkow
parents: 60514
diff changeset
   188
      multiset_of_set ~> mset_set
60497
nipkow
parents: 60489
diff changeset
   189
      set_of ~> set_mset
nipkow
parents: 60489
diff changeset
   190
    INCOMPATIBILITY
60398
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60397
diff changeset
   191
  - Renamed lemmas:
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60397
diff changeset
   192
      mset_le_def ~> subseteq_mset_def
Mathias Fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60397
diff changeset
   193
      mset_less_def ~> subset_mset_def
60400
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60398
diff changeset
   194
      less_eq_multiset.rep_eq ~> subseteq_mset_def
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60398
diff changeset
   195
    INCOMPATIBILITY
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60398
diff changeset
   196
  - Removed lemmas generated by lift_definition:
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60398
diff changeset
   197
    less_eq_multiset.abs_eq, less_eq_multiset.rsp less_eq_multiset.transfer
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60398
diff changeset
   198
    less_eq_multiset_def
fleury <Mathias.Fleury@mpi-inf.mpg.de>
parents: 60398
diff changeset
   199
    INCOMPATIBILITY
60006
wenzelm
parents: 59998
diff changeset
   200
60523
be2d9f5ddc76 discontinued unused 'defer_recdef';
wenzelm
parents: 60514
diff changeset
   201
* Theory Library/Old_Recdef: discontinued obsolete 'defer_recdef'
be2d9f5ddc76 discontinued unused 'defer_recdef';
wenzelm
parents: 60514
diff changeset
   202
command. Minor INCOMPATIBILITY, use 'function' instead.
be2d9f5ddc76 discontinued unused 'defer_recdef';
wenzelm
parents: 60514
diff changeset
   203
60479
db238135f386 tuned whitespace;
wenzelm
parents: 60477
diff changeset
   204
db238135f386 tuned whitespace;
wenzelm
parents: 60477
diff changeset
   205
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   206
New in Isabelle2015 (May 2015)
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   207
------------------------------
57695
987c9ceeaafd back to post-release mode -- after fork point;
wenzelm
parents: 57693
diff changeset
   208
57941
57200bdc2aa7 localized command 'method_setup' and 'attribute_setup';
wenzelm
parents: 57882
diff changeset
   209
*** General ***
57200bdc2aa7 localized command 'method_setup' and 'attribute_setup';
wenzelm
parents: 57882
diff changeset
   210
59939
7d46aa03696e support for 'restricted' modifier: only qualified accesses outside the local scope;
wenzelm
parents: 59936
diff changeset
   211
* Local theory specification commands may have a 'private' or
59990
a81dc82ecba3 clarified keyword 'qualified' in accordance to a similar keyword from Haskell (despite unrelated Binding.qualified in Isabelle/ML);
wenzelm
parents: 59967
diff changeset
   212
'qualified' modifier to restrict name space accesses to the local scope,
59939
7d46aa03696e support for 'restricted' modifier: only qualified accesses outside the local scope;
wenzelm
parents: 59936
diff changeset
   213
as provided by some "context begin ... end" block. For example:
59926
003dbac78546 some explanation of 'private';
wenzelm
parents: 59903
diff changeset
   214
003dbac78546 some explanation of 'private';
wenzelm
parents: 59903
diff changeset
   215
  context
003dbac78546 some explanation of 'private';
wenzelm
parents: 59903
diff changeset
   216
  begin
003dbac78546 some explanation of 'private';
wenzelm
parents: 59903
diff changeset
   217
003dbac78546 some explanation of 'private';
wenzelm
parents: 59903
diff changeset
   218
  private definition ...
003dbac78546 some explanation of 'private';
wenzelm
parents: 59903
diff changeset
   219
  private lemma ...
003dbac78546 some explanation of 'private';
wenzelm
parents: 59903
diff changeset
   220
59990
a81dc82ecba3 clarified keyword 'qualified' in accordance to a similar keyword from Haskell (despite unrelated Binding.qualified in Isabelle/ML);
wenzelm
parents: 59967
diff changeset
   221
  qualified definition ...
a81dc82ecba3 clarified keyword 'qualified' in accordance to a similar keyword from Haskell (despite unrelated Binding.qualified in Isabelle/ML);
wenzelm
parents: 59967
diff changeset
   222
  qualified lemma ...
a81dc82ecba3 clarified keyword 'qualified' in accordance to a similar keyword from Haskell (despite unrelated Binding.qualified in Isabelle/ML);
wenzelm
parents: 59967
diff changeset
   223
59926
003dbac78546 some explanation of 'private';
wenzelm
parents: 59903
diff changeset
   224
  lemma ...
003dbac78546 some explanation of 'private';
wenzelm
parents: 59903
diff changeset
   225
  theorem ...
003dbac78546 some explanation of 'private';
wenzelm
parents: 59903
diff changeset
   226
003dbac78546 some explanation of 'private';
wenzelm
parents: 59903
diff changeset
   227
  end
003dbac78546 some explanation of 'private';
wenzelm
parents: 59903
diff changeset
   228
59901
840d03805755 added command 'experiment';
wenzelm
parents: 59899
diff changeset
   229
* Command 'experiment' opens an anonymous locale context with private
840d03805755 added command 'experiment';
wenzelm
parents: 59899
diff changeset
   230
naming policy.
840d03805755 added command 'experiment';
wenzelm
parents: 59899
diff changeset
   231
59951
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   232
* Command 'notepad' requires proper nesting of begin/end and its proof
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   233
structure in the body: 'oops' is no longer supported here. Minor
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   234
INCOMPATIBILITY, use 'sorry' instead.
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   235
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   236
* Command 'named_theorems' declares a dynamic fact within the context,
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   237
together with an attribute to maintain the content incrementally. This
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   238
supersedes functor Named_Thms in Isabelle/ML, but with a subtle change
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   239
of semantics due to external visual order vs. internal reverse order.
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   240
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   241
* 'find_theorems': search patterns which are abstractions are
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   242
schematically expanded before search. Search results match the naive
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   243
expectation more closely, particularly wrt. abbreviations.
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   244
INCOMPATIBILITY.
59648
wenzelm
parents: 59621
diff changeset
   245
59569
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   246
* Commands 'method_setup' and 'attribute_setup' now work within a local
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   247
theory context.
57941
57200bdc2aa7 localized command 'method_setup' and 'attribute_setup';
wenzelm
parents: 57882
diff changeset
   248
58928
23d0ffd48006 plain value Keywords.keywords, which might be used outside theory for bootstrap purposes;
wenzelm
parents: 58872
diff changeset
   249
* Outer syntax commands are managed authentically within the theory
59569
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   250
context, without implicit global state. Potential for accidental
58928
23d0ffd48006 plain value Keywords.keywords, which might be used outside theory for bootstrap purposes;
wenzelm
parents: 58872
diff changeset
   251
INCOMPATIBILITY, make sure that required theories are really imported.
23d0ffd48006 plain value Keywords.keywords, which might be used outside theory for bootstrap purposes;
wenzelm
parents: 58872
diff changeset
   252
60115
wenzelm
parents: 60114
diff changeset
   253
* Historical command-line terminator ";" is no longer accepted (and
wenzelm
parents: 60114
diff changeset
   254
already used differently in Isar). Minor INCOMPATIBILITY, use "isabelle
wenzelm
parents: 60114
diff changeset
   255
update_semicolons" to remove obsolete semicolons from old theory
wenzelm
parents: 60114
diff changeset
   256
sources.
wenzelm
parents: 60114
diff changeset
   257
59951
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   258
* Structural composition of proof methods (meth1; meth2) in Isar
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   259
corresponds to (tac1 THEN_ALL_NEW tac2) in ML.
59105
haftmann
parents: 59058
diff changeset
   260
60119
54bea620e54f added Eisbach, using version 3752768caa17 of its Bitbucket repository;
wenzelm
parents: 60115
diff changeset
   261
* The Eisbach proof method language allows to define new proof methods
54bea620e54f added Eisbach, using version 3752768caa17 of its Bitbucket repository;
wenzelm
parents: 60115
diff changeset
   262
by combining existing ones with their usual syntax. The "match" proof
54bea620e54f added Eisbach, using version 3752768caa17 of its Bitbucket repository;
wenzelm
parents: 60115
diff changeset
   263
method provides basic fact/term matching in addition to
54bea620e54f added Eisbach, using version 3752768caa17 of its Bitbucket repository;
wenzelm
parents: 60115
diff changeset
   264
premise/conclusion matching through Subgoal.focus, and binds fact names
60288
d7f636331176 added Eisbach manual, using version 8845c4cb28b6 of its Bitbucket repository;
wenzelm
parents: 60273
diff changeset
   265
from matches as well as term patterns within matches. The Isabelle
d7f636331176 added Eisbach manual, using version 8845c4cb28b6 of its Bitbucket repository;
wenzelm
parents: 60273
diff changeset
   266
documentation provides an entry "eisbach" for the Eisbach User Manual.
d7f636331176 added Eisbach manual, using version 8845c4cb28b6 of its Bitbucket repository;
wenzelm
parents: 60273
diff changeset
   267
Sources and various examples are in ~~/src/HOL/Eisbach/.
60119
54bea620e54f added Eisbach, using version 3752768caa17 of its Bitbucket repository;
wenzelm
parents: 60115
diff changeset
   268
57941
57200bdc2aa7 localized command 'method_setup' and 'attribute_setup';
wenzelm
parents: 57882
diff changeset
   269
58524
f805b366a497 context menu for bibtex entries;
wenzelm
parents: 58421
diff changeset
   270
*** Prover IDE -- Isabelle/Scala/jEdit ***
f805b366a497 context menu for bibtex entries;
wenzelm
parents: 58421
diff changeset
   271
59569
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   272
* Improved folding mode "isabelle" based on Isar syntax. Alternatively,
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   273
the "sidekick" mode may be used for document structure.
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   274
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   275
* Extended bracket matching based on Isar language structure. System
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   276
option jedit_structure_limit determines maximum number of lines to scan
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   277
in the buffer.
58758
wenzelm
parents: 58716
diff changeset
   278
58540
wenzelm
parents: 58526
diff changeset
   279
* Support for BibTeX files: context menu, context-sensitive token
wenzelm
parents: 58526
diff changeset
   280
marker, SideKick parser.
58524
f805b366a497 context menu for bibtex entries;
wenzelm
parents: 58421
diff changeset
   281
58551
wenzelm
parents: 58541
diff changeset
   282
* Document antiquotation @{cite} provides formal markup, which is
60265
wenzelm
parents: 60261
diff changeset
   283
interpreted semi-formally based on .bib files that happen to be open in
wenzelm
parents: 60261
diff changeset
   284
the editor (hyperlinks, completion etc.).
58551
wenzelm
parents: 58541
diff changeset
   285
58785
e7d2b46520e0 clarified default;
wenzelm
parents: 58776
diff changeset
   286
* Less waste of vertical space via negative line spacing (see Global
e7d2b46520e0 clarified default;
wenzelm
parents: 58776
diff changeset
   287
Options / Text Area).
e7d2b46520e0 clarified default;
wenzelm
parents: 58776
diff changeset
   288
60089
8bd5999133d4 let the system choose Graph_Display.display_graph_old: thm_deps needs tree hierarchy, code_deps needs cycles (!?);
wenzelm
parents: 60085
diff changeset
   289
* Improved graphview panel with optional output of PNG or PDF, for
60273
83de10e27007 use display_graph_old for locale_deps, to show a bit more than nothing for cyclic graphs;
wenzelm
parents: 60265
diff changeset
   290
display of 'thy_deps', 'class_deps' etc.
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   291
60115
wenzelm
parents: 60114
diff changeset
   292
* The commands 'thy_deps' and 'class_deps' allow optional bounds to
wenzelm
parents: 60114
diff changeset
   293
restrict the visualized hierarchy.
60093
c48d536231fe clarified thy_deps;
wenzelm
parents: 60089
diff changeset
   294
60072
wenzelm
parents: 60025
diff changeset
   295
* Improved scheduling for asynchronous print commands (e.g. provers
wenzelm
parents: 60025
diff changeset
   296
managed by the Sledgehammer panel) wrt. ongoing document processing.
wenzelm
parents: 60025
diff changeset
   297
58524
f805b366a497 context menu for bibtex entries;
wenzelm
parents: 58421
diff changeset
   298
59951
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   299
*** Document preparation ***
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   300
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   301
* Document markup commands 'chapter', 'section', 'subsection',
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   302
'subsubsection', 'text', 'txt', 'text_raw' work uniformly in any
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   303
context, even before the initial 'theory' command. Obsolete proof
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   304
commands 'sect', 'subsect', 'subsubsect', 'txt_raw' have been
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   305
discontinued, use 'section', 'subsection', 'subsubsection', 'text_raw'
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   306
instead. The old 'header' command is still retained for some time, but
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   307
should be replaced by 'chapter', 'section' etc. (using "isabelle
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   308
update_header"). Minor INCOMPATIBILITY.
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   309
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   310
* Official support for "tt" style variants, via \isatt{...} or
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   311
\begin{isabellett}...\end{isabellett}. The somewhat fragile \verb or
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   312
verbatim environment of LaTeX is no longer used. This allows @{ML} etc.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   313
as argument to other macros (such as footnotes).
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   314
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   315
* Document antiquotation @{verbatim} prints ASCII text literally in "tt"
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   316
style.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   317
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   318
* Discontinued obsolete option "document_graph": session_graph.pdf is
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   319
produced unconditionally for HTML browser_info and PDF-LaTeX document.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   320
59951
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   321
* Diagnostic commands and document markup commands within a proof do not
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   322
affect the command tag for output. Thus commands like 'thm' are subject
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   323
to proof document structure, and no longer "stick out" accidentally.
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   324
Commands 'text' and 'txt' merely differ in the LaTeX style, not their
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   325
tags. Potential INCOMPATIBILITY in exotic situations.
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   326
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   327
* System option "pretty_margin" is superseded by "thy_output_margin",
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   328
which is also accessible via document antiquotation option "margin".
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   329
Only the margin for document output may be changed, but not the global
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   330
pretty printing: that is 76 for plain console output, and adapted
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   331
dynamically in GUI front-ends. Implementations of document
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   332
antiquotations need to observe the margin explicitly according to
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   333
Thy_Output.string_of_margin. Minor INCOMPATIBILITY.
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   334
60299
5ae2a2e74c93 clarified NEWS: document_files are officially required since Isabelle2014, but the absence was tolerated as legacy feature;
wenzelm
parents: 60288
diff changeset
   335
* Specification of 'document_files' in the session ROOT file is
5ae2a2e74c93 clarified NEWS: document_files are officially required since Isabelle2014, but the absence was tolerated as legacy feature;
wenzelm
parents: 60288
diff changeset
   336
mandatory for document preparation. The legacy mode with implicit
5ae2a2e74c93 clarified NEWS: document_files are officially required since Isabelle2014, but the absence was tolerated as legacy feature;
wenzelm
parents: 60288
diff changeset
   337
copying of the document/ directory is no longer supported. Minor
5ae2a2e74c93 clarified NEWS: document_files are officially required since Isabelle2014, but the absence was tolerated as legacy feature;
wenzelm
parents: 60288
diff changeset
   338
INCOMPATIBILITY.
5ae2a2e74c93 clarified NEWS: document_files are officially required since Isabelle2014, but the absence was tolerated as legacy feature;
wenzelm
parents: 60288
diff changeset
   339
59951
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   340
58202
be1d10595b7b restrictive options for class dependencies
haftmann
parents: 58192
diff changeset
   341
*** Pure ***
be1d10595b7b restrictive options for class dependencies
haftmann
parents: 58192
diff changeset
   342
59835
97872c658a44 rule_insts_schematic is considered legacy and false by default;
wenzelm
parents: 59815
diff changeset
   343
* Proof methods with explicit instantiation ("rule_tac", "subgoal_tac"
97872c658a44 rule_insts_schematic is considered legacy and false by default;
wenzelm
parents: 59815
diff changeset
   344
etc.) allow an optional context of local variables ('for' declaration):
97872c658a44 rule_insts_schematic is considered legacy and false by default;
wenzelm
parents: 59815
diff changeset
   345
these variables become schematic in the instantiated theorem; this
97872c658a44 rule_insts_schematic is considered legacy and false by default;
wenzelm
parents: 59815
diff changeset
   346
behaviour is analogous to 'for' in attributes "where" and "of".
97872c658a44 rule_insts_schematic is considered legacy and false by default;
wenzelm
parents: 59815
diff changeset
   347
Configuration option rule_insts_schematic (default false) controls use
97872c658a44 rule_insts_schematic is considered legacy and false by default;
wenzelm
parents: 59815
diff changeset
   348
of schematic variables outside the context. Minor INCOMPATIBILITY,
97872c658a44 rule_insts_schematic is considered legacy and false by default;
wenzelm
parents: 59815
diff changeset
   349
declare rule_insts_schematic = true temporarily and update to use local
97872c658a44 rule_insts_schematic is considered legacy and false by default;
wenzelm
parents: 59815
diff changeset
   350
variable declarations or dummy patterns instead.
97872c658a44 rule_insts_schematic is considered legacy and false by default;
wenzelm
parents: 59815
diff changeset
   351
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   352
* Explicit instantiation via attributes "where", "of", and proof methods
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   353
"rule_tac" with derivatives like "subgoal_tac" etc. admit dummy patterns
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   354
("_") that stand for anonymous local variables.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   355
59951
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   356
* Generated schematic variables in standard format of exported facts are
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   357
incremented to avoid material in the proof context. Rare
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   358
INCOMPATIBILITY, explicit instantiation sometimes needs to refer to
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   359
different index.
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   360
60010
5fe58ca9cf40 tuned spelling;
wenzelm
parents: 60009
diff changeset
   361
* Lexical separation of signed and unsigned numerals: categories "num"
5fe58ca9cf40 tuned spelling;
wenzelm
parents: 60009
diff changeset
   362
and "float" are unsigned. INCOMPATIBILITY: subtle change in precedence
5fe58ca9cf40 tuned spelling;
wenzelm
parents: 60009
diff changeset
   363
of numeral signs, particularly in expressions involving infix syntax
5fe58ca9cf40 tuned spelling;
wenzelm
parents: 60009
diff changeset
   364
like "(- 1) ^ n".
58410
6d46ad54a2ab explicit separation of signed and unsigned numerals using existing lexical categories num and xnum
haftmann
parents: 58373
diff changeset
   365
58421
37cbbd8eb460 discontinued old "xnum" token category;
wenzelm
parents: 58410
diff changeset
   366
* Old inner token category "xnum" has been discontinued.  Potential
37cbbd8eb460 discontinued old "xnum" token category;
wenzelm
parents: 58410
diff changeset
   367
INCOMPATIBILITY for exotic syntax: may use mixfix grammar with "num"
37cbbd8eb460 discontinued old "xnum" token category;
wenzelm
parents: 58410
diff changeset
   368
token category instead.
37cbbd8eb460 discontinued old "xnum" token category;
wenzelm
parents: 58410
diff changeset
   369
58202
be1d10595b7b restrictive options for class dependencies
haftmann
parents: 58192
diff changeset
   370
57737
72d4c00064af updated NEWS
blanchet
parents: 57695
diff changeset
   371
*** HOL ***
72d4c00064af updated NEWS
blanchet
parents: 57695
diff changeset
   372
57983
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   373
* New (co)datatype package:
58373
4bdd00a76e54 updated NEWS
blanchet
parents: 58368
diff changeset
   374
  - The 'datatype_new' command has been renamed 'datatype'. The old
4bdd00a76e54 updated NEWS
blanchet
parents: 58368
diff changeset
   375
    command of that name is now called 'old_datatype' and is provided
4bdd00a76e54 updated NEWS
blanchet
parents: 58368
diff changeset
   376
    by "~~/src/HOL/Library/Old_Datatype.thy". See
4bdd00a76e54 updated NEWS
blanchet
parents: 58368
diff changeset
   377
    'isabelle doc datatypes' for information on porting.
4bdd00a76e54 updated NEWS
blanchet
parents: 58368
diff changeset
   378
    INCOMPATIBILITY.
57983
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   379
  - Renamed theorems:
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   380
      disc_corec ~> corec_disc
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   381
      disc_corec_iff ~> corec_disc_iff
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   382
      disc_exclude ~> distinct_disc
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   383
      disc_exhaust ~> exhaust_disc
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   384
      disc_map_iff ~> map_disc_iff
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   385
      sel_corec ~> corec_sel
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   386
      sel_exhaust ~> exhaust_sel
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   387
      sel_map ~> map_sel
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   388
      sel_set ~> set_sel
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   389
      sel_split ~> split_sel
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   390
      sel_split_asm ~> split_sel_asm
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   391
      strong_coinduct ~> coinduct_strong
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   392
      weak_case_cong ~> case_cong_weak
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   393
    INCOMPATIBILITY.
58192
d0dffec0da2b updated docs
blanchet
parents: 58100
diff changeset
   394
  - The "no_code" option to "free_constructors", "datatype_new", and
d0dffec0da2b updated docs
blanchet
parents: 58100
diff changeset
   395
    "codatatype" has been renamed "plugins del: code".
d0dffec0da2b updated docs
blanchet
parents: 58100
diff changeset
   396
    INCOMPATIBILITY.
58044
b5cdfb352814 removed not so interesting 'set_empty'
blanchet
parents: 58010
diff changeset
   397
  - The rules "set_empty" have been removed. They are easy
b5cdfb352814 removed not so interesting 'set_empty'
blanchet
parents: 58010
diff changeset
   398
    consequences of other set rules "by auto".
b5cdfb352814 removed not so interesting 'set_empty'
blanchet
parents: 58010
diff changeset
   399
    INCOMPATIBILITY.
b5cdfb352814 removed not so interesting 'set_empty'
blanchet
parents: 58010
diff changeset
   400
  - The rule "set_cases" is now registered with the "[cases set]"
57990
90d941a477bd documented slight incompatibility in NEWS
blanchet
parents: 57983
diff changeset
   401
    attribute. This can influence the behavior of the "cases" proof
90d941a477bd documented slight incompatibility in NEWS
blanchet
parents: 57983
diff changeset
   402
    method when more than one case rule is applicable (e.g., an
90d941a477bd documented slight incompatibility in NEWS
blanchet
parents: 57983
diff changeset
   403
    assumption is of the form "w : set ws" and the method "cases w"
90d941a477bd documented slight incompatibility in NEWS
blanchet
parents: 57983
diff changeset
   404
    is invoked). The solution is to specify the case rule explicitly
90d941a477bd documented slight incompatibility in NEWS
blanchet
parents: 57983
diff changeset
   405
    (e.g. "cases w rule: widget.exhaust").
90d941a477bd documented slight incompatibility in NEWS
blanchet
parents: 57983
diff changeset
   406
    INCOMPATIBILITY.
59675
55eb8932d539 documented renamed theories
blanchet
parents: 59661
diff changeset
   407
  - Renamed theories:
55eb8932d539 documented renamed theories
blanchet
parents: 59661
diff changeset
   408
      BNF_Comp ~> BNF_Composition
55eb8932d539 documented renamed theories
blanchet
parents: 59661
diff changeset
   409
      BNF_FP_Base ~> BNF_Fixpoint_Base
55eb8932d539 documented renamed theories
blanchet
parents: 59661
diff changeset
   410
      BNF_GFP ~> BNF_Greatest_Fixpoint
55eb8932d539 documented renamed theories
blanchet
parents: 59661
diff changeset
   411
      BNF_LFP ~> BNF_Least_Fixpoint
55eb8932d539 documented renamed theories
blanchet
parents: 59661
diff changeset
   412
      BNF_Constructions_on_Wellorders ~> BNF_Wellorder_Constructions
55eb8932d539 documented renamed theories
blanchet
parents: 59661
diff changeset
   413
      Cardinals/Constructions_on_Wellorders ~> Cardinals/Wellorder_Constructions
55eb8932d539 documented renamed theories
blanchet
parents: 59661
diff changeset
   414
    INCOMPATIBILITY.
60114
caf2637a28a9 tuned for release;
wenzelm
parents: 60111
diff changeset
   415
  - Lifting and Transfer setup for basic HOL types sum and prod (also
caf2637a28a9 tuned for release;
wenzelm
parents: 60111
diff changeset
   416
    option) is now performed by the BNF package. Theories Lifting_Sum,
caf2637a28a9 tuned for release;
wenzelm
parents: 60111
diff changeset
   417
    Lifting_Product and Lifting_Option from Main became obsolete and
caf2637a28a9 tuned for release;
wenzelm
parents: 60111
diff changeset
   418
    were removed. Changed definitions of the relators rel_prod and
caf2637a28a9 tuned for release;
wenzelm
parents: 60111
diff changeset
   419
    rel_sum (using inductive).
60111
3eaa39b3a0b7 (low importance) NEWS
traytel
parents: 60106
diff changeset
   420
    INCOMPATIBILITY: use rel_prod.simps and rel_sum.simps instead
60114
caf2637a28a9 tuned for release;
wenzelm
parents: 60111
diff changeset
   421
    of rel_prod_def and rel_sum_def.
caf2637a28a9 tuned for release;
wenzelm
parents: 60111
diff changeset
   422
    Minor INCOMPATIBILITY: (rarely used by name) transfer theorem names
caf2637a28a9 tuned for release;
wenzelm
parents: 60111
diff changeset
   423
    changed (e.g. map_prod_transfer ~> prod.map_transfer).
60261
wenzelm
parents: 60258
diff changeset
   424
  - Parametricity theorems for map functions, relators, set functions,
wenzelm
parents: 60258
diff changeset
   425
    constructors, case combinators, discriminators, selectors and
wenzelm
parents: 60258
diff changeset
   426
    (co)recursors are automatically proved and registered as transfer
wenzelm
parents: 60258
diff changeset
   427
    rules.
57983
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   428
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   429
* Old datatype package:
58310
91ea607a34d8 updated news
blanchet
parents: 58247
diff changeset
   430
  - The old 'datatype' command has been renamed 'old_datatype', and
58373
4bdd00a76e54 updated NEWS
blanchet
parents: 58368
diff changeset
   431
    'rep_datatype' has been renamed 'old_rep_datatype'. They are
4bdd00a76e54 updated NEWS
blanchet
parents: 58368
diff changeset
   432
    provided by "~~/src/HOL/Library/Old_Datatype.thy". See
58310
91ea607a34d8 updated news
blanchet
parents: 58247
diff changeset
   433
    'isabelle doc datatypes' for information on porting.
58373
4bdd00a76e54 updated NEWS
blanchet
parents: 58368
diff changeset
   434
    INCOMPATIBILITY.
57983
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   435
  - Renamed theorems:
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   436
      weak_case_cong ~> case_cong_weak
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   437
    INCOMPATIBILITY.
58373
4bdd00a76e54 updated NEWS
blanchet
parents: 58368
diff changeset
   438
  - Renamed theory:
4bdd00a76e54 updated NEWS
blanchet
parents: 58368
diff changeset
   439
      ~~/src/HOL/Datatype.thy ~> ~~/src/HOL/Library/Old_Datatype.thy
4bdd00a76e54 updated NEWS
blanchet
parents: 58368
diff changeset
   440
    INCOMPATIBILITY.
57983
6edc3529bb4e reordered some (co)datatype property names for more consistency
blanchet
parents: 57946
diff changeset
   441
59039
32145985352a updated NEWS
blanchet
parents: 58999
diff changeset
   442
* Nitpick:
60010
5fe58ca9cf40 tuned spelling;
wenzelm
parents: 60009
diff changeset
   443
  - Fixed soundness bug related to the strict and non-strict subset
59039
32145985352a updated NEWS
blanchet
parents: 58999
diff changeset
   444
    operations.
32145985352a updated NEWS
blanchet
parents: 58999
diff changeset
   445
57737
72d4c00064af updated NEWS
blanchet
parents: 57695
diff changeset
   446
* Sledgehammer:
59511
ef65605a7d9c updated NEWS
blanchet
parents: 59498
diff changeset
   447
  - CVC4 is now included with Isabelle instead of CVC3 and run by
ef65605a7d9c updated NEWS
blanchet
parents: 59498
diff changeset
   448
    default.
59965
7199ad93b744 Z3 news
blanchet
parents: 59958
diff changeset
   449
  - Z3 is now always enabled by default, now that it is fully open
7199ad93b744 Z3 news
blanchet
parents: 59958
diff changeset
   450
    source. The "z3_non_commercial" option is discontinued.
57737
72d4c00064af updated NEWS
blanchet
parents: 57695
diff changeset
   451
  - Minimization is now always enabled by default.
60010
5fe58ca9cf40 tuned spelling;
wenzelm
parents: 60009
diff changeset
   452
    Removed sub-command:
57737
72d4c00064af updated NEWS
blanchet
parents: 57695
diff changeset
   453
      min
59967
2fcf41a626f7 tuned wording
blanchet
parents: 59965
diff changeset
   454
  - Proof reconstruction, both one-liners and Isar, has been
59039
32145985352a updated NEWS
blanchet
parents: 58999
diff changeset
   455
    dramatically improved.
32145985352a updated NEWS
blanchet
parents: 58999
diff changeset
   456
  - Improved support for CVC4 and veriT.
57737
72d4c00064af updated NEWS
blanchet
parents: 57695
diff changeset
   457
58062
f4d8987656b9 updated NEWS
blanchet
parents: 58060
diff changeset
   458
* Old and new SMT modules:
58067
a7a0af643499 tuned terminology
blanchet
parents: 58066
diff changeset
   459
  - The old 'smt' method has been renamed 'old_smt' and moved to
59569
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   460
    'src/HOL/Library/Old_SMT.thy'. It is provided for compatibility,
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   461
    until applications have been ported to use the new 'smt' method. For
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   462
    the method to work, an older version of Z3 (e.g. Z3 3.2 or 4.0) must
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   463
    be installed, and the environment variable "OLD_Z3_SOLVER" must
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   464
    point to it.
58062
f4d8987656b9 updated NEWS
blanchet
parents: 58060
diff changeset
   465
    INCOMPATIBILITY.
58067
a7a0af643499 tuned terminology
blanchet
parents: 58066
diff changeset
   466
  - The 'smt2' method has been renamed 'smt'.
58060
835b5443b978 updated NEWS
blanchet
parents: 58044
diff changeset
   467
    INCOMPATIBILITY.
59569
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   468
  - New option 'smt_reconstruction_step_timeout' to limit the
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   469
    reconstruction time of Z3 proof steps in the new 'smt' method.
59216
436b7b0c94f6 updated NEWS
boehmes
parents: 59180
diff changeset
   470
  - New option 'smt_statistics' to display statistics of the new 'smt'
436b7b0c94f6 updated NEWS
boehmes
parents: 59180
diff changeset
   471
    method, especially runtime statistics of Z3 proof reconstruction.
58060
835b5443b978 updated NEWS
blanchet
parents: 58044
diff changeset
   472
60261
wenzelm
parents: 60258
diff changeset
   473
* Lifting: command 'lift_definition' allows to execute lifted constants
wenzelm
parents: 60258
diff changeset
   474
that have as a return type a datatype containing a subtype. This
wenzelm
parents: 60258
diff changeset
   475
overcomes long-time limitations in the area of code generation and
wenzelm
parents: 60258
diff changeset
   476
lifting, and avoids tedious workarounds.
60258
kuncar
parents: 60119
diff changeset
   477
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   478
* Command and antiquotation "value" provide different evaluation slots
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   479
(again), where the previous strategy (NBE after ML) serves as default.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   480
Minor INCOMPATIBILITY.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   481
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   482
* Add NO_MATCH-simproc, allows to check for syntactic non-equality.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   483
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   484
* field_simps: Use NO_MATCH-simproc for distribution rules, to avoid
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   485
non-termination in case of distributing a division. With this change
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   486
field_simps is in some cases slightly less powerful, if it fails try to
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   487
add algebra_simps, or use divide_simps. Minor INCOMPATIBILITY.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   488
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   489
* Separate class no_zero_divisors has been given up in favour of fully
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   490
algebraic semiring_no_zero_divisors. INCOMPATIBILITY.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   491
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   492
* Class linordered_semidom really requires no zero divisors.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   493
INCOMPATIBILITY.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   494
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   495
* Classes division_ring, field and linordered_field always demand
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   496
"inverse 0 = 0". Given up separate classes division_ring_inverse_zero,
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   497
field_inverse_zero and linordered_field_inverse_zero. INCOMPATIBILITY.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   498
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   499
* Classes cancel_ab_semigroup_add / cancel_monoid_add specify explicit
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   500
additive inverse operation. INCOMPATIBILITY.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   501
60020
065ecea354d0 Complex roots of unity. Better definition of ln for complex numbers. Used [code del] to stop code generation for powr.
paulson <lp15@cam.ac.uk>
parents: 60010
diff changeset
   502
* Complex powers and square roots. The functions "ln" and "powr" are now
60025
wenzelm
parents: 60020
diff changeset
   503
overloaded for types real and complex, and 0 powr y = 0 by definition.
wenzelm
parents: 60020
diff changeset
   504
INCOMPATIBILITY: type constraints may be necessary.
60020
065ecea354d0 Complex roots of unity. Better definition of ln for complex numbers. Used [code del] to stop code generation for powr.
paulson <lp15@cam.ac.uk>
parents: 60010
diff changeset
   505
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   506
* The functions "sin" and "cos" are now defined for any type of sort
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   507
"{real_normed_algebra_1,banach}" type, so in particular on "real" and
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   508
"complex" uniformly. Minor INCOMPATIBILITY: type constraints may be
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   509
needed.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   510
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   511
* New library of properties of the complex transcendental functions sin,
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   512
cos, tan, exp, Ln, Arctan, Arcsin, Arccos. Ported from HOL Light.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   513
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   514
* The factorial function, "fact", now has type "nat => 'a" (of a sort
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   515
that admits numeric types including nat, int, real and complex.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   516
INCOMPATIBILITY: an expression such as "fact 3 = 6" may require a type
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   517
constraint, and the combination "real (fact k)" is likely to be
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   518
unsatisfactory. If a type conversion is still necessary, then use
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   519
"of_nat (fact k)" or "real_of_nat (fact k)".
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   520
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   521
* Removed functions "natfloor" and "natceiling", use "nat o floor" and
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   522
"nat o ceiling" instead. A few of the lemmas have been retained and
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   523
adapted: in their names "natfloor"/"natceiling" has been replaced by
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   524
"nat_floor"/"nat_ceiling".
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   525
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   526
* Qualified some duplicated fact names required for boostrapping the
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   527
type class hierarchy:
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   528
  ab_add_uminus_conv_diff ~> diff_conv_add_uminus
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   529
  field_inverse_zero ~> inverse_zero
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   530
  field_divide_inverse ~> divide_inverse
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   531
  field_inverse ~> left_inverse
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   532
Minor INCOMPATIBILITY.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   533
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   534
* Eliminated fact duplicates:
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   535
  mult_less_imp_less_right ~> mult_right_less_imp_less
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   536
  mult_less_imp_less_left ~> mult_left_less_imp_less
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   537
Minor INCOMPATIBILITY.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   538
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   539
* Fact consolidation: even_less_0_iff is subsumed by
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   540
double_add_less_zero_iff_single_add_less_zero (simp by default anyway).
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   541
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   542
* Generalized and consolidated some theorems concerning divsibility:
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   543
  dvd_reduce ~> dvd_add_triv_right_iff
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   544
  dvd_plus_eq_right ~> dvd_add_right_iff
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   545
  dvd_plus_eq_left ~> dvd_add_left_iff
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   546
Minor INCOMPATIBILITY.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   547
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   548
* "even" and "odd" are mere abbreviations for "2 dvd _" and "~ 2 dvd _"
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   549
and part of theory Main.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   550
  even_def ~> even_iff_mod_2_eq_zero
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   551
INCOMPATIBILITY.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   552
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   553
* Lemma name consolidation: divide_Numeral1 ~> divide_numeral_1. Minor
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   554
INCOMPATIBILITY.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   555
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   556
* Bootstrap of listsum as special case of abstract product over lists.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   557
Fact rename:
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   558
    listsum_def ~> listsum.eq_foldr
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   559
INCOMPATIBILITY.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   560
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   561
* Product over lists via constant "listprod".
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   562
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   563
* Theory List: renamed drop_Suc_conv_tl and nth_drop' to
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   564
Cons_nth_drop_Suc.
58247
98d0f85d247f enamed drop_Suc_conv_tl and nth_drop' to Cons_nth_drop_Suc
nipkow
parents: 58202
diff changeset
   565
58626
6c473ed0ac70 move Code_Test to HOL/Library;
Andreas Lochbihler
parents: 58610
diff changeset
   566
* New infrastructure for compiling, running, evaluating and testing
59569
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   567
generated code in target languages in HOL/Library/Code_Test. See
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   568
HOL/Codegenerator_Test/Code_Test* for examples.
58008
aa72531f972f added PARALLEL_ALLGOALS convenience;
wenzelm
parents: 57946
diff changeset
   569
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   570
* Library/Multiset:
59813
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   571
  - Introduced "replicate_mset" operation.
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   572
  - Introduced alternative characterizations of the multiset ordering in
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   573
    "Library/Multiset_Order".
59958
4538d41e8e54 renamed multiset ordering to free up nice <# etc. symbols for the standard subset
blanchet
parents: 59951
diff changeset
   574
  - Renamed multiset ordering:
4538d41e8e54 renamed multiset ordering to free up nice <# etc. symbols for the standard subset
blanchet
parents: 59951
diff changeset
   575
      <# ~> #<#
4538d41e8e54 renamed multiset ordering to free up nice <# etc. symbols for the standard subset
blanchet
parents: 59951
diff changeset
   576
      <=# ~> #<=#
4538d41e8e54 renamed multiset ordering to free up nice <# etc. symbols for the standard subset
blanchet
parents: 59951
diff changeset
   577
      \<subset># ~> #\<subset>#
4538d41e8e54 renamed multiset ordering to free up nice <# etc. symbols for the standard subset
blanchet
parents: 59951
diff changeset
   578
      \<subseteq># ~> #\<subseteq>#
4538d41e8e54 renamed multiset ordering to free up nice <# etc. symbols for the standard subset
blanchet
parents: 59951
diff changeset
   579
    INCOMPATIBILITY.
59986
f38b94549dc8 introduced new abbreviations for multiset operations (in the hope of getting rid of the old names <, <=, etc.)
blanchet
parents: 59967
diff changeset
   580
  - Introduced abbreviations for ill-named multiset operations:
f38b94549dc8 introduced new abbreviations for multiset operations (in the hope of getting rid of the old names <, <=, etc.)
blanchet
parents: 59967
diff changeset
   581
      <#, \<subset># abbreviate < (strict subset)
f38b94549dc8 introduced new abbreviations for multiset operations (in the hope of getting rid of the old names <, <=, etc.)
blanchet
parents: 59967
diff changeset
   582
      <=#, \<le>#, \<subseteq># abbreviate <= (subset or equal)
f38b94549dc8 introduced new abbreviations for multiset operations (in the hope of getting rid of the old names <, <=, etc.)
blanchet
parents: 59967
diff changeset
   583
    INCOMPATIBILITY.
59813
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   584
  - Renamed
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   585
      in_multiset_of ~> in_multiset_in_set
59998
c54d36be22ef renamed Multiset.fold -> fold_mset, Multiset.filter -> filter_mset
nipkow
parents: 59991
diff changeset
   586
      Multiset.fold ~> fold_mset
c54d36be22ef renamed Multiset.fold -> fold_mset, Multiset.filter -> filter_mset
nipkow
parents: 59991
diff changeset
   587
      Multiset.filter ~> filter_mset
59813
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   588
    INCOMPATIBILITY.
59949
fc4c896c8e74 Removed mcard because it is equal to size
nipkow
parents: 59939
diff changeset
   589
  - Removed mcard, is equal to size.
59813
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   590
  - Added attributes:
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   591
      image_mset.id [simp]
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   592
      image_mset_id [simp]
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   593
      elem_multiset_of_set [simp, intro]
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   594
      comp_fun_commute_plus_mset [simp]
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   595
      comp_fun_commute.fold_mset_insert [OF comp_fun_commute_plus_mset, simp]
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   596
      in_mset_fold_plus_iff [iff]
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   597
      set_of_Union_mset [simp]
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   598
      in_Union_mset_iff [iff]
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   599
    INCOMPATIBILITY.
6320064f22bb more multiset theorems
blanchet
parents: 59808
diff changeset
   600
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   601
* Library/Sum_of_Squares: simplified and improved "sos" method. Always
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   602
use local CSDP executable, which is much faster than the NEOS server.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   603
The "sos_cert" functionality is invoked as "sos" with additional
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   604
argument. Minor INCOMPATIBILITY.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   605
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   606
* HOL-Decision_Procs: New counterexample generator quickcheck
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   607
[approximation] for inequalities of transcendental functions. Uses
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   608
hardware floating point arithmetic to randomly discover potential
60010
5fe58ca9cf40 tuned spelling;
wenzelm
parents: 60009
diff changeset
   609
counterexamples. Counterexamples are certified with the "approximation"
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   610
method. See HOL/Decision_Procs/ex/Approximation_Quickcheck_Ex.thy for
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   611
examples.
58990
immler
parents: 58963
diff changeset
   612
59354
hoelzl
parents: 59308
diff changeset
   613
* HOL-Probability: Reworked measurability prover
60010
5fe58ca9cf40 tuned spelling;
wenzelm
parents: 60009
diff changeset
   614
  - applies destructor rules repeatedly
59354
hoelzl
parents: 59308
diff changeset
   615
  - removed application splitting (replaced by destructor rule)
59569
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   616
  - added congruence rules to rewrite measure spaces under the sets
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   617
    projection
0eece945fa54 tuned whitespace;
wenzelm
parents: 59564
diff changeset
   618
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   619
* New proof method "rewrite" (in theory ~~/src/HOL/Library/Rewrite) for
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   620
single-step rewriting with subterm selection based on patterns.
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   621
58630
71cdb885b3bb simplified "sos" method;
wenzelm
parents: 58626
diff changeset
   622
58066
96e987003a01 moved new para to right section of NEWS
blanchet
parents: 58065
diff changeset
   623
*** ML ***
96e987003a01 moved new para to right section of NEWS
blanchet
parents: 58065
diff changeset
   624
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   625
* Subtle change of name space policy: undeclared entries are now
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   626
considered inaccessible, instead of accessible via the fully-qualified
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   627
internal name. This mainly affects Name_Space.intern (and derivatives),
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   628
which may produce an unexpected Long_Name.hidden prefix. Note that
60010
5fe58ca9cf40 tuned spelling;
wenzelm
parents: 60009
diff changeset
   629
contemporary applications use the strict Name_Space.check (and
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   630
derivatives) instead, which is not affected by the change. Potential
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   631
INCOMPATIBILITY in rare applications of Name_Space.intern.
59951
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   632
60094
96a4765ba7d1 explicit error for Toplevel.proof_of;
wenzelm
parents: 60093
diff changeset
   633
* Subtle change of error semantics of Toplevel.proof_of: regular user
96a4765ba7d1 explicit error for Toplevel.proof_of;
wenzelm
parents: 60093
diff changeset
   634
ERROR instead of internal Toplevel.UNDEF.
96a4765ba7d1 explicit error for Toplevel.proof_of;
wenzelm
parents: 60093
diff changeset
   635
59951
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   636
* Basic combinators map, fold, fold_map, split_list, apply are available
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   637
as parameterized antiquotations, e.g. @{map 4} for lists of quadruples.
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   638
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   639
* Renamed "pairself" to "apply2", in accordance to @{apply 2}.
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   640
INCOMPATIBILITY.
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   641
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   642
* Former combinators NAMED_CRITICAL and CRITICAL for central critical
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   643
sections have been discontinued, in favour of the more elementary
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   644
Multithreading.synchronized and its high-level derivative
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   645
Synchronized.var (which is usually sufficient in applications). Subtle
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   646
INCOMPATIBILITY: synchronized access needs to be atomic and cannot be
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   647
nested.
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   648
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   649
* Synchronized.value (ML) is actually synchronized (as in Scala): subtle
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   650
change of semantics with minimal potential for INCOMPATIBILITY.
59899
wenzelm
parents: 59892
diff changeset
   651
59621
291934bac95e Thm.cterm_of and Thm.ctyp_of operate on local context;
wenzelm
parents: 59588
diff changeset
   652
* The main operations to certify logical entities are Thm.ctyp_of and
291934bac95e Thm.cterm_of and Thm.ctyp_of operate on local context;
wenzelm
parents: 59588
diff changeset
   653
Thm.cterm_of with a local context; old-style global theory variants are
291934bac95e Thm.cterm_of and Thm.ctyp_of operate on local context;
wenzelm
parents: 59588
diff changeset
   654
available as Thm.global_ctyp_of and Thm.global_cterm_of.
291934bac95e Thm.cterm_of and Thm.ctyp_of operate on local context;
wenzelm
parents: 59588
diff changeset
   655
INCOMPATIBILITY.
291934bac95e Thm.cterm_of and Thm.ctyp_of operate on local context;
wenzelm
parents: 59588
diff changeset
   656
59582
0fbed69ff081 tuned signature -- prefer qualified names;
wenzelm
parents: 59570
diff changeset
   657
* Elementary operations in module Thm are no longer pervasive.
0fbed69ff081 tuned signature -- prefer qualified names;
wenzelm
parents: 59570
diff changeset
   658
INCOMPATIBILITY, need to use qualified Thm.prop_of, Thm.cterm_of,
0fbed69ff081 tuned signature -- prefer qualified names;
wenzelm
parents: 59570
diff changeset
   659
Thm.term_of etc.
0fbed69ff081 tuned signature -- prefer qualified names;
wenzelm
parents: 59570
diff changeset
   660
58963
26bf09b95dda proper context for assume_tac (atac remains as fall-back without context);
wenzelm
parents: 58957
diff changeset
   661
* Proper context for various elementary tactics: assume_tac,
59498
50b60f501b05 proper context for resolve_tac, eresolve_tac, dresolve_tac, forward_tac etc.;
wenzelm
parents: 59480
diff changeset
   662
resolve_tac, eresolve_tac, dresolve_tac, forward_tac, match_tac,
50b60f501b05 proper context for resolve_tac, eresolve_tac, dresolve_tac, forward_tac etc.;
wenzelm
parents: 59480
diff changeset
   663
compose_tac, Splitter.split_tac etc. INCOMPATIBILITY.
58956
a816aa3ff391 proper context for compose_tac, Splitter.split_tac (relevant for unify trace options);
wenzelm
parents: 58928
diff changeset
   664
58066
96e987003a01 moved new para to right section of NEWS
blanchet
parents: 58065
diff changeset
   665
* Tactical PARALLEL_ALLGOALS is the most common way to refer to
96e987003a01 moved new para to right section of NEWS
blanchet
parents: 58065
diff changeset
   666
PARALLEL_GOALS.
96e987003a01 moved new para to right section of NEWS
blanchet
parents: 58065
diff changeset
   667
59564
fdc03c8daacc Goal.prove_multi is superseded by the fully general Goal.prove_common;
wenzelm
parents: 59557
diff changeset
   668
* Goal.prove_multi is superseded by the fully general Goal.prove_common,
fdc03c8daacc Goal.prove_multi is superseded by the fully general Goal.prove_common;
wenzelm
parents: 59557
diff changeset
   669
which also allows to specify a fork priority.
fdc03c8daacc Goal.prove_multi is superseded by the fully general Goal.prove_common;
wenzelm
parents: 59557
diff changeset
   670
59936
b8ffc3dc9e24 @{command_spec} is superseded by @{command_keyword};
wenzelm
parents: 59926
diff changeset
   671
* Antiquotation @{command_spec "COMMAND"} is superseded by
b8ffc3dc9e24 @{command_spec} is superseded by @{command_keyword};
wenzelm
parents: 59926
diff changeset
   672
@{command_keyword COMMAND} (usually without quotes and with PIDE
b8ffc3dc9e24 @{command_spec} is superseded by @{command_keyword};
wenzelm
parents: 59926
diff changeset
   673
markup). Minor INCOMPATIBILITY.
b8ffc3dc9e24 @{command_spec} is superseded by @{command_keyword};
wenzelm
parents: 59926
diff changeset
   674
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   675
* Cartouches within ML sources are turned into values of type
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   676
Input.source (with formal position information).
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   677
58066
96e987003a01 moved new para to right section of NEWS
blanchet
parents: 58065
diff changeset
   678
58610
fffdbce036db added update_cartouches tool;
wenzelm
parents: 58604
diff changeset
   679
*** System ***
fffdbce036db added update_cartouches tool;
wenzelm
parents: 58604
diff changeset
   680
59951
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   681
* The Isabelle tool "update_cartouches" changes theory files to use
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   682
cartouches instead of old-style {* verbatim *} or `alt_string` tokens.
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   683
60106
e0d1d9203275 allow to exclude session groups;
wenzelm
parents: 60094
diff changeset
   684
* The Isabelle tool "build" provides new options -X, -k, -x.
59951
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   685
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   686
* Discontinued old-fashioned "codegen" tool. Code generation can always
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   687
be externally triggered using an appropriate ROOT file plus a
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   688
corresponding theory. Parametrization is possible using environment
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   689
variables, or ML snippets in the most extreme cases. Minor
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   690
INCOMPATIBILITY.
58842
22b87ab47d3b discontinued Proof General;
wenzelm
parents: 58801
diff changeset
   691
59200
wenzelm
parents: 59180
diff changeset
   692
* JVM system property "isabelle.threads" determines size of Scala thread
wenzelm
parents: 59180
diff changeset
   693
pool, like Isabelle system option "threads" for ML.
wenzelm
parents: 59180
diff changeset
   694
59201
702e0971d617 added system property isabelle.laf, notably for initial system dialog;
wenzelm
parents: 59200
diff changeset
   695
* JVM system property "isabelle.laf" determines the default Swing
702e0971d617 added system property isabelle.laf, notably for initial system dialog;
wenzelm
parents: 59200
diff changeset
   696
look-and-feel, via internal class name or symbolic name as in the jEdit
702e0971d617 added system property isabelle.laf, notably for initial system dialog;
wenzelm
parents: 59200
diff changeset
   697
menu Global Options / Appearance.
702e0971d617 added system property isabelle.laf, notably for initial system dialog;
wenzelm
parents: 59200
diff changeset
   698
59951
8c49daca5d9f misc tuning for release;
wenzelm
parents: 59949
diff changeset
   699
* Support for Proof General and Isar TTY loop has been discontinued.
60009
bd1c342dbbce misc tuning for release;
wenzelm
parents: 60006
diff changeset
   700
Minor INCOMPATIBILITY, use standard PIDE infrastructure instead.
59891
9ce697050455 added isabelle build option -k, for fast off-line checking of theory sources;
wenzelm
parents: 59849
diff changeset
   701
58610
fffdbce036db added update_cartouches tool;
wenzelm
parents: 58604
diff changeset
   702
57695
987c9ceeaafd back to post-release mode -- after fork point;
wenzelm
parents: 57693
diff changeset
   703
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   704
New in Isabelle2014 (August 2014)
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   705
---------------------------------
54055
5bf55a713232 back to post-release mode -- after fork point;
wenzelm
parents: 54049
diff changeset
   706
54702
3daeba5130f0 added document antiquotation @{url}, which produces formal markup for LaTeX and PIDE;
wenzelm
parents: 54688
diff changeset
   707
*** General ***
3daeba5130f0 added document antiquotation @{url}, which produces formal markup for LaTeX and PIDE;
wenzelm
parents: 54688
diff changeset
   708
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   709
* Support for official Standard ML within the Isabelle context.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   710
Command 'SML_file' reads and evaluates the given Standard ML file.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   711
Toplevel bindings are stored within the theory context; the initial
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   712
environment is restricted to the Standard ML implementation of
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   713
Poly/ML, without the add-ons of Isabelle/ML.  Commands 'SML_import'
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   714
and 'SML_export' allow to exchange toplevel bindings between the two
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   715
separate environments.  See also ~~/src/Tools/SML/Examples.thy for
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   716
some examples.
56499
7e0178c84994 allow text cartouches in regular outer syntax categories "text" and "altstring";
wenzelm
parents: 56450
diff changeset
   717
57504
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   718
* Standard tactics and proof methods such as "clarsimp", "auto" and
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   719
"safe" now preserve equality hypotheses "x = expr" where x is a free
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   720
variable.  Locale assumptions and chained facts containing "x"
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   721
continue to be useful.  The new method "hypsubst_thin" and the
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   722
configuration option "hypsubst_thin" (within the attribute name space)
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   723
restore the previous behavior.  INCOMPATIBILITY, especially where
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   724
induction is done after these methods or when the names of free and
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   725
bound variables clash.  As first approximation, old proofs may be
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   726
repaired by "using [[hypsubst_thin = true]]" in the critical spot.
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   727
56232
31e283f606e2 more static checking of proof methods;
wenzelm
parents: 56218
diff changeset
   728
* More static checking of proof methods, which allows the system to
31e283f606e2 more static checking of proof methods;
wenzelm
parents: 56218
diff changeset
   729
form a closure over the concrete syntax.  Method arguments should be
31e283f606e2 more static checking of proof methods;
wenzelm
parents: 56218
diff changeset
   730
processed in the original proof context as far as possible, before
31e283f606e2 more static checking of proof methods;
wenzelm
parents: 56218
diff changeset
   731
operating on the goal state.  In any case, the standard discipline for
31e283f606e2 more static checking of proof methods;
wenzelm
parents: 56218
diff changeset
   732
subgoal-addressing needs to be observed: no subgoals or a subgoal
31e283f606e2 more static checking of proof methods;
wenzelm
parents: 56218
diff changeset
   733
number that is out of range produces an empty result sequence, not an
31e283f606e2 more static checking of proof methods;
wenzelm
parents: 56218
diff changeset
   734
exception.  Potential INCOMPATIBILITY for non-conformant tactical
31e283f606e2 more static checking of proof methods;
wenzelm
parents: 56218
diff changeset
   735
proof tools.
31e283f606e2 more static checking of proof methods;
wenzelm
parents: 56218
diff changeset
   736
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   737
* Lexical syntax (inner and outer) supports text cartouches with
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   738
arbitrary nesting, and without escapes of quotes etc.  The Prover IDE
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   739
supports input via ` (backquote).
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   740
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   741
* The outer syntax categories "text" (for formal comments and document
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   742
markup commands) and "altstring" (for literal fact references) allow
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   743
cartouches as well, in addition to the traditional mix of quotations.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   744
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   745
* Syntax of document antiquotation @{rail} now uses \<newline> instead
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   746
of "\\", to avoid the optical illusion of escaped backslash within
57491
9eedaafc05c8 tuned grammar and spelling (cf. 0cf15843b82f);
wenzelm
parents: 57476
diff changeset
   747
string token.  General renovation of its syntax using text cartouches.
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   748
Minor INCOMPATIBILITY.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   749
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   750
* Discontinued legacy_isub_isup, which was a temporary workaround for
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   751
Isabelle/ML in Isabelle2013-1.  The prover process no longer accepts
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   752
old identifier syntax with \<^isub> or \<^isup>.  Potential
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   753
INCOMPATIBILITY.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   754
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   755
* Document antiquotation @{url} produces markup for the given URL,
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   756
which results in an active hyperlink within the text.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   757
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   758
* Document antiquotation @{file_unchecked} is like @{file}, but does
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   759
not check existence within the file-system.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   760
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   761
* Updated and extended manuals: codegen, datatypes, implementation,
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   762
isar-ref, jedit, system.
57423
96f970d1522b updated NEWS -- removed material that is already in the manual;
wenzelm
parents: 57418
diff changeset
   763
54702
3daeba5130f0 added document antiquotation @{url}, which produces formal markup for LaTeX and PIDE;
wenzelm
parents: 54688
diff changeset
   764
54533
wenzelm
parents: 54502
diff changeset
   765
*** Prover IDE -- Isabelle/Scala/jEdit ***
wenzelm
parents: 54502
diff changeset
   766
57650
17d7f5d96328 tuned spelling;
wenzelm
parents: 57637
diff changeset
   767
* Improved Document panel: simplified interaction where every single
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   768
mouse click (re)opens document via desktop environment or as jEdit
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   769
buffer.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   770
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   771
* Support for Navigator plugin (with toolbar buttons), with connection
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   772
to PIDE hyperlinks.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   773
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   774
* Auxiliary files ('ML_file' etc.) are managed by the Prover IDE.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   775
Open text buffers take precedence over copies within the file-system.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   776
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   777
* Improved support for Isabelle/ML, with jEdit mode "isabelle-ml" for
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   778
auxiliary ML files.
57423
96f970d1522b updated NEWS -- removed material that is already in the manual;
wenzelm
parents: 57418
diff changeset
   779
96f970d1522b updated NEWS -- removed material that is already in the manual;
wenzelm
parents: 57418
diff changeset
   780
* Improved syntactic and semantic completion mechanism, with simple
96f970d1522b updated NEWS -- removed material that is already in the manual;
wenzelm
parents: 57418
diff changeset
   781
templates, completion language context, name-space completion,
96f970d1522b updated NEWS -- removed material that is already in the manual;
wenzelm
parents: 57418
diff changeset
   782
file-name completion, spell-checker completion.
96f970d1522b updated NEWS -- removed material that is already in the manual;
wenzelm
parents: 57418
diff changeset
   783
96f970d1522b updated NEWS -- removed material that is already in the manual;
wenzelm
parents: 57418
diff changeset
   784
* Refined GUI popup for completion: more robust key/mouse event
96f970d1522b updated NEWS -- removed material that is already in the manual;
wenzelm
parents: 57418
diff changeset
   785
handling and propagation to enclosing text area -- avoid loosing
96f970d1522b updated NEWS -- removed material that is already in the manual;
wenzelm
parents: 57418
diff changeset
   786
keystrokes with slow / remote graphics displays.
96f970d1522b updated NEWS -- removed material that is already in the manual;
wenzelm
parents: 57418
diff changeset
   787
57833
2c2bae3da1c2 completion popup supports both ENTER and TAB (default);
wenzelm
parents: 57826
diff changeset
   788
* Completion popup supports both ENTER and TAB (default) to select an
2c2bae3da1c2 completion popup supports both ENTER and TAB (default);
wenzelm
parents: 57826
diff changeset
   789
item, depending on Isabelle options.
2c2bae3da1c2 completion popup supports both ENTER and TAB (default);
wenzelm
parents: 57826
diff changeset
   790
57423
96f970d1522b updated NEWS -- removed material that is already in the manual;
wenzelm
parents: 57418
diff changeset
   791
* Refined insertion of completion items wrt. jEdit text: multiple
96f970d1522b updated NEWS -- removed material that is already in the manual;
wenzelm
parents: 57418
diff changeset
   792
selections, rectangular selections, rectangular selection as "tall
96f970d1522b updated NEWS -- removed material that is already in the manual;
wenzelm
parents: 57418
diff changeset
   793
caret".
56342
075397022503 cumulative NEWS;
wenzelm
parents: 56303
diff changeset
   794
56580
wenzelm
parents: 56554
diff changeset
   795
* Integrated spell-checker for document text, comments etc. with
57423
96f970d1522b updated NEWS -- removed material that is already in the manual;
wenzelm
parents: 57418
diff changeset
   796
completion popup and context-menu.
56554
wenzelm
parents: 56533
diff changeset
   797
56879
ee2b61f37ad9 renamed "Find" to "Query", with more general operations;
wenzelm
parents: 56851
diff changeset
   798
* More general "Query" panel supersedes "Find" panel, with GUI access
ee2b61f37ad9 renamed "Find" to "Query", with more general operations;
wenzelm
parents: 56851
diff changeset
   799
to commands 'find_theorems' and 'find_consts', as well as print
ee2b61f37ad9 renamed "Find" to "Query", with more general operations;
wenzelm
parents: 56851
diff changeset
   800
operations for the context.  Minor incompatibility in keyboard
ee2b61f37ad9 renamed "Find" to "Query", with more general operations;
wenzelm
parents: 56851
diff changeset
   801
shortcuts etc.: replace action isabelle-find by isabelle-query.
56761
wenzelm
parents: 56652
diff changeset
   802
56901
wenzelm
parents: 56889
diff changeset
   803
* Search field for all output panels ("Output", "Query", "Info" etc.)
wenzelm
parents: 56889
diff changeset
   804
to highlight text via regular expression.
wenzelm
parents: 56889
diff changeset
   805
54881
dff57132cf18 added system option "jedit_print_mode";
wenzelm
parents: 54864
diff changeset
   806
* Option "jedit_print_mode" (see also "Plugin Options / Isabelle /
dff57132cf18 added system option "jedit_print_mode";
wenzelm
parents: 54864
diff changeset
   807
General") allows to specify additional print modes for the prover
dff57132cf18 added system option "jedit_print_mode";
wenzelm
parents: 54864
diff changeset
   808
process, without requiring old-fashioned command-line invocation of
dff57132cf18 added system option "jedit_print_mode";
wenzelm
parents: 54864
diff changeset
   809
"isabelle jedit -m MODE".
dff57132cf18 added system option "jedit_print_mode";
wenzelm
parents: 54864
diff changeset
   810
56505
wenzelm
parents: 56499
diff changeset
   811
* More support for remote files (e.g. http) using standard Java
wenzelm
parents: 56499
diff changeset
   812
networking operations instead of jEdit virtual file-systems.
wenzelm
parents: 56499
diff changeset
   813
57822
9ea92df3631a some actual workaround to remove document nodes;
wenzelm
parents: 57693
diff changeset
   814
* Empty editors buffers that are no longer required (e.g.\ via theory
9ea92df3631a some actual workaround to remove document nodes;
wenzelm
parents: 57693
diff changeset
   815
imports) are automatically removed from the document model.
9ea92df3631a some actual workaround to remove document nodes;
wenzelm
parents: 57693
diff changeset
   816
57869
9665f79a7181 improved monitor panel;
wenzelm
parents: 57856
diff changeset
   817
* Improved monitor panel.
9665f79a7181 improved monitor panel;
wenzelm
parents: 57856
diff changeset
   818
56838
wenzelm
parents: 56815
diff changeset
   819
* Improved Console/Scala plugin: more uniform scala.Console output,
wenzelm
parents: 56815
diff changeset
   820
more robust treatment of threads and interrupts.
wenzelm
parents: 56815
diff changeset
   821
56939
wenzelm
parents: 56927
diff changeset
   822
* Improved management of dockable windows: clarified keyboard focus
wenzelm
parents: 56927
diff changeset
   823
and window placement wrt. main editor view; optional menu item to
wenzelm
parents: 56927
diff changeset
   824
"Detach" a copy where this makes sense.
wenzelm
parents: 56927
diff changeset
   825
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   826
* New Simplifier Trace panel provides an interactive view of the
57591
8c095aef6769 clarified "simp_trace_new" and corresponding isar-ref section;
wenzelm
parents: 57532
diff changeset
   827
simplification process, enabled by the "simp_trace_new" attribute
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   828
within the context.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   829
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   830
55001
wenzelm
parents: 54893
diff changeset
   831
*** Pure ***
wenzelm
parents: 54893
diff changeset
   832
57504
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   833
* Low-level type-class commands 'classes', 'classrel', 'arities' have
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   834
been discontinued to avoid the danger of non-trivial axiomatization
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   835
that is not immediately visible.  INCOMPATIBILITY, use regular
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   836
'instance' command with proof.  The required OFCLASS(...) theorem
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   837
might be postulated via 'axiomatization' beforehand, or the proof
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   838
finished trivially if the underlying class definition is made vacuous
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   839
(without any assumptions).  See also Isabelle/ML operations
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   840
Axclass.class_axiomatization, Axclass.classrel_axiomatization,
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   841
Axclass.arity_axiomatization.
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   842
56245
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   843
* Basic constants of Pure use more conventional names and are always
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   844
qualified.  Rare INCOMPATIBILITY, but with potentially serious
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   845
consequences, notably for tools in Isabelle/ML.  The following
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   846
renaming needs to be applied:
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   847
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   848
  ==             ~>  Pure.eq
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   849
  ==>            ~>  Pure.imp
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   850
  all            ~>  Pure.all
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   851
  TYPE           ~>  Pure.type
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   852
  dummy_pattern  ~>  Pure.dummy_pattern
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   853
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   854
Systematic porting works by using the following theory setup on a
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   855
*previous* Isabelle version to introduce the new name accesses for the
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   856
old constants:
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   857
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   858
setup {*
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   859
  fn thy => thy
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   860
    |> Sign.root_path
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   861
    |> Sign.const_alias (Binding.qualify true "Pure" @{binding eq}) "=="
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   862
    |> Sign.const_alias (Binding.qualify true "Pure" @{binding imp}) "==>"
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   863
    |> Sign.const_alias (Binding.qualify true "Pure" @{binding all}) "all"
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   864
    |> Sign.restore_naming thy
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   865
*}
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   866
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   867
Thus ML antiquotations like @{const_name Pure.eq} may be used already.
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   868
Later the application is moved to the current Isabelle version, and
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   869
the auxiliary aliases are deleted.
84fc7dfa3cd4 more qualified names;
wenzelm
parents: 56232
diff changeset
   870
55143
04448228381d explicit eigen-context for attributes "where", "of", and corresponding read_instantiate, instantiate_tac;
wenzelm
parents: 55139
diff changeset
   871
* Attributes "where" and "of" allow an optional context of local
04448228381d explicit eigen-context for attributes "where", "of", and corresponding read_instantiate, instantiate_tac;
wenzelm
parents: 55139
diff changeset
   872
variables ('for' declaration): these variables become schematic in the
04448228381d explicit eigen-context for attributes "where", "of", and corresponding read_instantiate, instantiate_tac;
wenzelm
parents: 55139
diff changeset
   873
instantiated theorem.
04448228381d explicit eigen-context for attributes "where", "of", and corresponding read_instantiate, instantiate_tac;
wenzelm
parents: 55139
diff changeset
   874
55152
a56099a6447a discontinued obsolete attribute "standard";
wenzelm
parents: 55143
diff changeset
   875
* Obsolete attribute "standard" has been discontinued (legacy since
a56099a6447a discontinued obsolete attribute "standard";
wenzelm
parents: 55143
diff changeset
   876
Isabelle2012).  Potential INCOMPATIBILITY, use explicit 'for' context
a56099a6447a discontinued obsolete attribute "standard";
wenzelm
parents: 55143
diff changeset
   877
where instantiations with schematic variables are intended (for
a56099a6447a discontinued obsolete attribute "standard";
wenzelm
parents: 55143
diff changeset
   878
declaration commands like 'lemmas' or attributes like "of").  The
a56099a6447a discontinued obsolete attribute "standard";
wenzelm
parents: 55143
diff changeset
   879
following temporary definition may help to port old applications:
a56099a6447a discontinued obsolete attribute "standard";
wenzelm
parents: 55143
diff changeset
   880
a56099a6447a discontinued obsolete attribute "standard";
wenzelm
parents: 55143
diff changeset
   881
  attribute_setup standard =
a56099a6447a discontinued obsolete attribute "standard";
wenzelm
parents: 55143
diff changeset
   882
    "Scan.succeed (Thm.rule_attribute (K Drule.export_without_context))"
a56099a6447a discontinued obsolete attribute "standard";
wenzelm
parents: 55143
diff changeset
   883
55001
wenzelm
parents: 54893
diff changeset
   884
* More thorough check of proof context for goal statements and
55006
wenzelm
parents: 55001
diff changeset
   885
attributed fact expressions (concerning background theory, declared
wenzelm
parents: 55001
diff changeset
   886
hyps).  Potential INCOMPATIBILITY, tools need to observe standard
wenzelm
parents: 55001
diff changeset
   887
context discipline.  See also Assumption.add_assumes and the more
wenzelm
parents: 55001
diff changeset
   888
primitive Thm.assume_hyps.
55001
wenzelm
parents: 54893
diff changeset
   889
55108
0b7a0c1fdf7e inner syntax token language allows regular quoted strings;
wenzelm
parents: 55049
diff changeset
   890
* Inner syntax token language allows regular quoted strings "..."
0b7a0c1fdf7e inner syntax token language allows regular quoted strings;
wenzelm
parents: 55049
diff changeset
   891
(only makes sense in practice, if outer syntax is delimited
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   892
differently, e.g. via cartouches).
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   893
57504
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   894
* Command 'print_term_bindings' supersedes 'print_binds' for clarity,
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   895
but the latter is retained some time as Proof General legacy.
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   896
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   897
* Code generator preprocessor: explicit control of simp tracing on a
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   898
per-constant basis.  See attribute "code_preproc".
57430
020cea57eaa4 tracing facilities for the code generator preprocessor
haftmann
parents: 57423
diff changeset
   899
55001
wenzelm
parents: 54893
diff changeset
   900
54227
63b441f49645 moving generic lemmas out of theory parity, disregarding some unused auxiliary lemmas;
haftmann
parents: 54055
diff changeset
   901
*** HOL ***
63b441f49645 moving generic lemmas out of theory parity, disregarding some unused auxiliary lemmas;
haftmann
parents: 54055
diff changeset
   902
57504
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   903
* Code generator: enforce case of identifiers only for strict target
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   904
language requirements.  INCOMPATIBILITY.
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   905
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   906
* Code generator: explicit proof contexts in many ML interfaces.
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   907
INCOMPATIBILITY.
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   908
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   909
* Code generator: minimize exported identifiers by default.  Minor
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   910
INCOMPATIBILITY.
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   911
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   912
* Code generation for SML and OCaml: dropped arcane "no_signatures"
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   913
option.  Minor INCOMPATIBILITY.
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   914
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   915
* "declare [[code abort: ...]]" replaces "code_abort ...".
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   916
INCOMPATIBILITY.
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   917
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   918
* "declare [[code drop: ...]]" drops all code equations associated
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   919
with the given constants.
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   920
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   921
* Code generations are provided for make, fields, extend and truncate
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   922
operations on records.
57437
0baf08c075b9 qualified String.explode and String.implode
haftmann
parents: 57431
diff changeset
   923
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   924
* Command and antiquotation "value" are now hardcoded against nbe and
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   925
ML.  Minor INCOMPATIBILITY.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   926
57504
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   927
* Renamed command 'enriched_type' to 'functor'. INCOMPATIBILITY.
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   928
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   929
* The symbol "\<newline>" may be used within char or string literals
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   930
to represent (Char Nibble0 NibbleA), i.e. ASCII newline.
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   931
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
   932
* Qualified String.implode and String.explode.  INCOMPATIBILITY.
56923
c062543d380e prefer separate command for approximation
haftmann
parents: 56901
diff changeset
   933
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   934
* Simplifier: Enhanced solver of preconditions of rewrite rules can
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   935
now deal with conjunctions.  For help with converting proofs, the old
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   936
behaviour of the simplifier can be restored like this: declare/using
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   937
[[simp_legacy_precond]].  This configuration option will disappear
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   938
again in the future.  INCOMPATIBILITY.
56073
29e308b56d23 enhanced simplifier solver for preconditions of rewrite rule, can now deal with conjunctions
nipkow
parents: 56072
diff changeset
   939
55139
4d899933a51a NEWS for 31afce809794;
wenzelm
parents: 55122
diff changeset
   940
* Simproc "finite_Collect" is no longer enabled by default, due to
4d899933a51a NEWS for 31afce809794;
wenzelm
parents: 55122
diff changeset
   941
spurious crashes and other surprises.  Potential INCOMPATIBILITY.
4d899933a51a NEWS for 31afce809794;
wenzelm
parents: 55122
diff changeset
   942
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   943
* Moved new (co)datatype package and its dependencies from session
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   944
  "HOL-BNF" to "HOL".  The commands 'bnf', 'wrap_free_constructors',
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   945
  'datatype_new', 'codatatype', 'primcorec', 'primcorecursive' are now
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   946
  part of theory "Main".
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   947
55098
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   948
  Theory renamings:
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   949
    FunDef.thy ~> Fun_Def.thy (and Fun_Def_Base.thy)
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   950
    Library/Wfrec.thy ~> Wfrec.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   951
    Library/Zorn.thy ~> Zorn.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   952
    Cardinals/Order_Relation.thy ~> Order_Relation.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   953
    Library/Order_Union.thy ~> Cardinals/Order_Union.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   954
    Cardinals/Cardinal_Arithmetic_Base.thy ~> BNF_Cardinal_Arithmetic.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   955
    Cardinals/Cardinal_Order_Relation_Base.thy ~> BNF_Cardinal_Order_Relation.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   956
    Cardinals/Constructions_on_Wellorders_Base.thy ~> BNF_Constructions_on_Wellorders.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   957
    Cardinals/Wellorder_Embedding_Base.thy ~> BNF_Wellorder_Embedding.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   958
    Cardinals/Wellorder_Relation_Base.thy ~> BNF_Wellorder_Relation.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   959
    BNF/Ctr_Sugar.thy ~> Ctr_Sugar.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   960
    BNF/Basic_BNFs.thy ~> Basic_BNFs.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   961
    BNF/BNF_Comp.thy ~> BNF_Comp.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   962
    BNF/BNF_Def.thy ~> BNF_Def.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   963
    BNF/BNF_FP_Base.thy ~> BNF_FP_Base.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   964
    BNF/BNF_GFP.thy ~> BNF_GFP.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   965
    BNF/BNF_LFP.thy ~> BNF_LFP.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   966
    BNF/BNF_Util.thy ~> BNF_Util.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   967
    BNF/Coinduction.thy ~> Coinduction.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   968
    BNF/More_BNFs.thy ~> Library/More_BNFs.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   969
    BNF/Countable_Type.thy ~> Library/Countable_Set_Type.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   970
    BNF/Examples/* ~> BNF_Examples/*
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   971
55098
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   972
  New theories:
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   973
    Wellorder_Extension.thy (split from Zorn.thy)
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   974
    Library/Cardinal_Notations.thy
56942
5fff4dc31d34 bnf_decl -> bnf_axiomatization
traytel
parents: 56939
diff changeset
   975
    Library/BNF_Axomatization.thy
55098
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   976
    BNF_Examples/Misc_Primcorec.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   977
    BNF_Examples/Stream_Processor.thy
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   978
55519
8a54bf4a92ca more NEWS
blanchet
parents: 55425
diff changeset
   979
  Discontinued theories:
55098
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   980
    BNF/BNF.thy
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   981
    BNF/Equiv_Relations_More.thy
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   982
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   983
INCOMPATIBILITY.
55098
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
   984
56118
d3967fdc800a updated NEWS and CONTRIBUTORS (BNF, SMT2, Sledgehammer)
blanchet
parents: 56076
diff changeset
   985
* New (co)datatype package:
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   986
  - Command 'primcorec' is fully implemented.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   987
  - Command 'datatype_new' generates size functions ("size_xxx" and
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   988
    "size") as required by 'fun'.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   989
  - BNFs are integrated with the Lifting tool and new-style
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   990
    (co)datatypes with Transfer.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   991
  - Renamed commands:
55875
6478b12b7297 updated NEWS
blanchet
parents: 55867
diff changeset
   992
      datatype_new_compat ~> datatype_compat
6478b12b7297 updated NEWS
blanchet
parents: 55867
diff changeset
   993
      primrec_new ~> primrec
6478b12b7297 updated NEWS
blanchet
parents: 55867
diff changeset
   994
      wrap_free_constructors ~> free_constructors
6478b12b7297 updated NEWS
blanchet
parents: 55867
diff changeset
   995
    INCOMPATIBILITY.
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   996
  - The generated constants "xxx_case" and "xxx_rec" have been renamed
55875
6478b12b7297 updated NEWS
blanchet
parents: 55867
diff changeset
   997
    "case_xxx" and "rec_xxx" (e.g., "prod_case" ~> "case_prod").
6478b12b7297 updated NEWS
blanchet
parents: 55867
diff changeset
   998
    INCOMPATIBILITY.
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
   999
  - The constant "xxx_(un)fold" and related theorems are no longer
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1000
    generated.  Use "xxx_(co)rec" or define "xxx_(un)fold" manually
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1001
    using "prim(co)rec".
55875
6478b12b7297 updated NEWS
blanchet
parents: 55867
diff changeset
  1002
    INCOMPATIBILITY.
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1003
  - No discriminators are generated for nullary constructors by
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1004
    default, eliminating the need for the odd "=:" syntax.
57091
1fa9c19ba2c9 got rid of '=:' squiggly
blanchet
parents: 57089
diff changeset
  1005
    INCOMPATIBILITY.
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1006
  - No discriminators or selectors are generated by default by
57094
589ec121ce1a don't generate discriminators and selectors for 'datatype_new' unless the user asked for it
blanchet
parents: 57091
diff changeset
  1007
    "datatype_new", unless custom names are specified or the new
589ec121ce1a don't generate discriminators and selectors for 'datatype_new' unless the user asked for it
blanchet
parents: 57091
diff changeset
  1008
    "discs_sels" option is passed.
589ec121ce1a don't generate discriminators and selectors for 'datatype_new' unless the user asked for it
blanchet
parents: 57091
diff changeset
  1009
    INCOMPATIBILITY.
55875
6478b12b7297 updated NEWS
blanchet
parents: 55867
diff changeset
  1010
55643
blanchet
parents: 55622
diff changeset
  1011
* Old datatype package:
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1012
  - The generated theorems "xxx.cases" and "xxx.recs" have been
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1013
    renamed "xxx.case" and "xxx.rec" (e.g., "sum.cases" ->
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1014
    "sum.case").  INCOMPATIBILITY.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1015
  - The generated constants "xxx_case", "xxx_rec", and "xxx_size" have
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1016
    been renamed "case_xxx", "rec_xxx", and "size_xxx" (e.g.,
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1017
    "prod_case" ~> "case_prod").  INCOMPATIBILITY.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1018
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1019
* The types "'a list" and "'a option", their set and map functions,
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1020
  their relators, and their selectors are now produced using the new
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1021
  BNF-based datatype package.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1022
55519
8a54bf4a92ca more NEWS
blanchet
parents: 55425
diff changeset
  1023
  Renamed constants:
8a54bf4a92ca more NEWS
blanchet
parents: 55425
diff changeset
  1024
    Option.set ~> set_option
8a54bf4a92ca more NEWS
blanchet
parents: 55425
diff changeset
  1025
    Option.map ~> map_option
55525
70b7e91fa1f9 folded 'rel_option' into 'option_rel'
blanchet
parents: 55524
diff changeset
  1026
    option_rel ~> rel_option
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1027
55519
8a54bf4a92ca more NEWS
blanchet
parents: 55425
diff changeset
  1028
  Renamed theorems:
55585
014138b356c4 updated NEWS
blanchet
parents: 55580
diff changeset
  1029
    set_def ~> set_rec[abs_def]
55519
8a54bf4a92ca more NEWS
blanchet
parents: 55425
diff changeset
  1030
    map_def ~> map_rec[abs_def]
8a54bf4a92ca more NEWS
blanchet
parents: 55425
diff changeset
  1031
    Option.map_def ~> map_option_case[abs_def] (with "case_option" instead of "rec_option")
56652
b0126a5a256d updated NEWS
blanchet
parents: 56618
diff changeset
  1032
    option.recs ~> option.rec
55524
f41ef840f09d folded 'list_all2' with the relator generated by 'datatype_new'
blanchet
parents: 55519
diff changeset
  1033
    list_all2_def ~> list_all2_iff
55585
014138b356c4 updated NEWS
blanchet
parents: 55580
diff changeset
  1034
    set.simps ~> set_simps (or the slightly different "list.set")
55519
8a54bf4a92ca more NEWS
blanchet
parents: 55425
diff changeset
  1035
    map.simps ~> list.map
8a54bf4a92ca more NEWS
blanchet
parents: 55425
diff changeset
  1036
    hd.simps ~> list.sel(1)
8a54bf4a92ca more NEWS
blanchet
parents: 55425
diff changeset
  1037
    tl.simps ~> list.sel(2-3)
8a54bf4a92ca more NEWS
blanchet
parents: 55425
diff changeset
  1038
    the.simps ~> option.sel
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1039
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1040
INCOMPATIBILITY.
55519
8a54bf4a92ca more NEWS
blanchet
parents: 55425
diff changeset
  1041
55933
12ee2c407dad renamed 'fset_rel' to 'rel_fset'
blanchet
parents: 55931
diff changeset
  1042
* The following map functions and relators have been renamed:
55939
682fc100dbff fixed NEWS
blanchet
parents: 55938
diff changeset
  1043
    sum_map ~> map_sum
682fc100dbff fixed NEWS
blanchet
parents: 55938
diff changeset
  1044
    map_pair ~> map_prod
55944
7ab8f003fe41 renamed 'prod_rel' to 'rel_prod'
blanchet
parents: 55943
diff changeset
  1045
    prod_rel ~> rel_prod
55943
5c2df04e97d1 renamed 'sum_rel' to 'rel_sum'
blanchet
parents: 55942
diff changeset
  1046
    sum_rel ~> rel_sum
55945
e96383acecf9 renamed 'fun_rel' to 'rel_fun'
blanchet
parents: 55944
diff changeset
  1047
    fun_rel ~> rel_fun
55942
c2d96043de4b renamed 'filter_rel' to 'rel_filter'
blanchet
parents: 55940
diff changeset
  1048
    set_rel ~> rel_set
c2d96043de4b renamed 'filter_rel' to 'rel_filter'
blanchet
parents: 55940
diff changeset
  1049
    filter_rel ~> rel_filter
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1050
    fset_rel ~> rel_fset (in "src/HOL/Library/FSet.thy")
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1051
    cset_rel ~> rel_cset (in "src/HOL/Library/Countable_Set_Type.thy")
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1052
    vset ~> rel_vset (in "src/HOL/Library/Quotient_Set.thy")
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1053
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1054
INCOMPATIBILITY.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1055
57826
kuncar
parents: 57825
diff changeset
  1056
* Lifting and Transfer:
kuncar
parents: 57825
diff changeset
  1057
  - a type variable as a raw type is supported
kuncar
parents: 57825
diff changeset
  1058
  - stronger reflexivity prover
kuncar
parents: 57825
diff changeset
  1059
  - rep_eq is always generated by lift_definition
57856
wenzelm
parents: 57833
diff changeset
  1060
  - setup for Lifting/Transfer is now automated for BNFs
57826
kuncar
parents: 57825
diff changeset
  1061
    + holds for BNFs that do not contain a dead variable
57856
wenzelm
parents: 57833
diff changeset
  1062
    + relator_eq, relator_mono, relator_distr, relator_domain,
57826
kuncar
parents: 57825
diff changeset
  1063
      relator_eq_onp, quot_map, transfer rules for bi_unique, bi_total,
kuncar
parents: 57825
diff changeset
  1064
      right_unique, right_total, left_unique, left_total are proved
kuncar
parents: 57825
diff changeset
  1065
      automatically
kuncar
parents: 57825
diff changeset
  1066
    + definition of a predicator is generated automatically
kuncar
parents: 57825
diff changeset
  1067
    + simplification rules for a predicator definition are proved
kuncar
parents: 57825
diff changeset
  1068
      automatically for datatypes
kuncar
parents: 57825
diff changeset
  1069
  - consolidation of the setup of Lifting/Transfer
57856
wenzelm
parents: 57833
diff changeset
  1070
    + property that a relator preservers reflexivity is not needed any
57826
kuncar
parents: 57825
diff changeset
  1071
      more
kuncar
parents: 57825
diff changeset
  1072
      Minor INCOMPATIBILITY.
57856
wenzelm
parents: 57833
diff changeset
  1073
    + left_total and left_unique rules are now transfer rules
57826
kuncar
parents: 57825
diff changeset
  1074
      (reflexivity_rule attribute not needed anymore)
kuncar
parents: 57825
diff changeset
  1075
      INCOMPATIBILITY.
57856
wenzelm
parents: 57833
diff changeset
  1076
    + Domainp does not have to be a separate assumption in
57826
kuncar
parents: 57825
diff changeset
  1077
      relator_domain theorems (=> more natural statement)
kuncar
parents: 57825
diff changeset
  1078
      INCOMPATIBILITY.
kuncar
parents: 57825
diff changeset
  1079
  - registration of code equations is more robust
kuncar
parents: 57825
diff changeset
  1080
    Potential INCOMPATIBILITY.
kuncar
parents: 57825
diff changeset
  1081
  - respectfulness proof obligation is preprocessed to a more readable
kuncar
parents: 57825
diff changeset
  1082
    form
kuncar
parents: 57825
diff changeset
  1083
    Potential INCOMPATIBILITY.
kuncar
parents: 57825
diff changeset
  1084
  - eq_onp is always unfolded in respectfulness proof obligation
kuncar
parents: 57825
diff changeset
  1085
    Potential INCOMPATIBILITY.
57856
wenzelm
parents: 57833
diff changeset
  1086
  - unregister lifting setup for Code_Numeral.integer and
57826
kuncar
parents: 57825
diff changeset
  1087
    Code_Numeral.natural
kuncar
parents: 57825
diff changeset
  1088
    Potential INCOMPATIBILITY.
kuncar
parents: 57825
diff changeset
  1089
  - Lifting.invariant -> eq_onp
kuncar
parents: 57825
diff changeset
  1090
    INCOMPATIBILITY.
57856
wenzelm
parents: 57833
diff changeset
  1091
57508
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1092
* New internal SAT solver "cdclite" that produces models and proof
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1093
traces.  This solver replaces the internal SAT solvers "enumerate" and
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1094
"dpll".  Applications that explicitly used one of these two SAT
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1095
solvers should use "cdclite" instead. In addition, "cdclite" is now
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1096
the default SAT solver for the "sat" and "satx" proof methods and
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1097
corresponding tactics; the old default can be restored using "declare
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1098
[[sat_solver = zchaff_with_proofs]]".  Minor INCOMPATIBILITY.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1099
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1100
* SMT module: A new version of the SMT module, temporarily called
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1101
"SMT2", uses SMT-LIB 2 and supports recent versions of Z3 (e.g.,
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1102
4.3). The new proof method is called "smt2". CVC3 and CVC4 are also
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1103
supported as oracles. Yices is no longer supported, because no version
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1104
of the solver can handle both SMT-LIB 2 and quantifiers.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1105
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1106
* Activation of Z3 now works via "z3_non_commercial" system option
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1107
(without requiring restart), instead of former settings variable
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1108
"Z3_NON_COMMERCIAL".  The option can be edited in Isabelle/jEdit menu
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1109
Plugin Options / Isabelle / General.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1110
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1111
* Sledgehammer:
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1112
  - Z3 can now produce Isar proofs.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1113
  - MaSh overhaul:
57532
c7dc1f0a2b8a tuned terminology
blanchet
parents: 57517
diff changeset
  1114
    . New SML-based learning algorithms eliminate the dependency on
57508
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1115
      Python and increase performance and reliability.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1116
    . MaSh and MeSh are now used by default together with the
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1117
      traditional MePo (Meng-Paulson) relevance filter. To disable
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1118
      MaSh, set the "MaSh" system option in Isabelle/jEdit Plugin
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1119
      Options / Isabelle / General to "none".
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1120
  - New option:
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1121
      smt_proofs
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1122
  - Renamed options:
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1123
      isar_compress ~> compress
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1124
      isar_try0 ~> try0
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1125
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1126
INCOMPATIBILITY.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1127
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1128
* Removed solvers remote_cvc3 and remote_z3. Use cvc3 and z3 instead.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1129
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1130
* Nitpick:
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1131
  - Fixed soundness bug whereby mutually recursive datatypes could
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1132
    take infinite values.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1133
  - Fixed soundness bug with low-level number functions such as
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1134
    "Abs_Integ" and "Rep_Integ".
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1135
  - Removed "std" option.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1136
  - Renamed "show_datatypes" to "show_types" and "hide_datatypes" to
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1137
    "hide_types".
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1138
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1139
* Metis: Removed legacy proof method 'metisFT'. Use 'metis
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1140
(full_types)' instead. INCOMPATIBILITY.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1141
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1142
* Try0: Added 'algebra' and 'meson' to the set of proof methods.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1143
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1144
* Adjustion of INF and SUP operations:
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1145
  - Elongated constants INFI and SUPR to INFIMUM and SUPREMUM.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1146
  - Consolidated theorem names containing INFI and SUPR: have INF and
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1147
    SUP instead uniformly.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1148
  - More aggressive normalization of expressions involving INF and Inf
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1149
    or SUP and Sup.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1150
  - INF_image and SUP_image do not unfold composition.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1151
  - Dropped facts INF_comp, SUP_comp.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1152
  - Default congruence rules strong_INF_cong and strong_SUP_cong, with
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1153
    simplifier implication in premises.  Generalize and replace former
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1154
    INT_cong, SUP_cong
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1155
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1156
INCOMPATIBILITY.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1157
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1158
* SUP and INF generalized to conditionally_complete_lattice.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1159
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1160
* Swapped orientation of facts image_comp and vimage_comp:
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1161
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1162
  image_compose ~> image_comp [symmetric]
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1163
  image_comp ~> image_comp [symmetric]
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1164
  vimage_compose ~> vimage_comp [symmetric]
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1165
  vimage_comp ~> vimage_comp [symmetric]
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1166
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1167
INCOMPATIBILITY.
19240ff4b02d misc tuning for release;
wenzelm
parents: 57504
diff changeset
  1168
57504
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
  1169
* Theory reorganization: split of Big_Operators.thy into
5cf245c62c4c misc tuning for release;
wenzelm
parents: 57503
diff changeset
  1170
Groups_Big.thy and Lattices_Big.thy.
55098
01869d711567 updated NEWS
blanchet
parents: 55049
diff changeset
  1171
57418
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1172
* Consolidated some facts about big group operators:
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1173
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1174
    setsum_0' ~> setsum.neutral
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1175
    setsum_0 ~> setsum.neutral_const
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1176
    setsum_addf ~> setsum.distrib
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1177
    setsum_cartesian_product ~> setsum.cartesian_product
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1178
    setsum_cases ~> setsum.If_cases
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1179
    setsum_commute ~> setsum.commute
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1180
    setsum_cong ~> setsum.cong
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1181
    setsum_delta ~> setsum.delta
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1182
    setsum_delta' ~> setsum.delta'
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1183
    setsum_diff1' ~> setsum.remove
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1184
    setsum_empty ~> setsum.empty
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1185
    setsum_infinite ~> setsum.infinite
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1186
    setsum_insert ~> setsum.insert
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1187
    setsum_inter_restrict'' ~> setsum.inter_filter
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1188
    setsum_mono_zero_cong_left ~> setsum.mono_neutral_cong_left
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1189
    setsum_mono_zero_cong_right ~> setsum.mono_neutral_cong_right
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1190
    setsum_mono_zero_left ~> setsum.mono_neutral_left
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1191
    setsum_mono_zero_right ~> setsum.mono_neutral_right
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1192
    setsum_reindex ~> setsum.reindex
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1193
    setsum_reindex_cong ~> setsum.reindex_cong
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1194
    setsum_reindex_nonzero ~> setsum.reindex_nontrivial
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1195
    setsum_restrict_set ~> setsum.inter_restrict
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1196
    setsum_Plus ~> setsum.Plus
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1197
    setsum_setsum_restrict ~> setsum.commute_restrict
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1198
    setsum_Sigma ~> setsum.Sigma
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1199
    setsum_subset_diff ~> setsum.subset_diff
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1200
    setsum_Un_disjoint ~> setsum.union_disjoint
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1201
    setsum_UN_disjoint ~> setsum.UNION_disjoint
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1202
    setsum_Un_Int ~> setsum.union_inter
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1203
    setsum_Union_disjoint ~> setsum.Union_disjoint
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1204
    setsum_UNION_zero ~> setsum.Union_comp
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1205
    setsum_Un_zero ~> setsum.union_inter_neutral
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1206
    strong_setprod_cong ~> setprod.strong_cong
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1207
    strong_setsum_cong ~> setsum.strong_cong
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1208
    setprod_1' ~> setprod.neutral
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1209
    setprod_1 ~> setprod.neutral_const
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1210
    setprod_cartesian_product ~> setprod.cartesian_product
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1211
    setprod_cong ~> setprod.cong
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1212
    setprod_delta ~> setprod.delta
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1213
    setprod_delta' ~> setprod.delta'
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1214
    setprod_empty ~> setprod.empty
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1215
    setprod_infinite ~> setprod.infinite
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1216
    setprod_insert ~> setprod.insert
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1217
    setprod_mono_one_cong_left ~> setprod.mono_neutral_cong_left
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1218
    setprod_mono_one_cong_right ~> setprod.mono_neutral_cong_right
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1219
    setprod_mono_one_left ~> setprod.mono_neutral_left
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1220
    setprod_mono_one_right ~> setprod.mono_neutral_right
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1221
    setprod_reindex ~> setprod.reindex
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1222
    setprod_reindex_cong ~> setprod.reindex_cong
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1223
    setprod_reindex_nonzero ~> setprod.reindex_nontrivial
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1224
    setprod_Sigma ~> setprod.Sigma
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1225
    setprod_subset_diff ~> setprod.subset_diff
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1226
    setprod_timesf ~> setprod.distrib
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1227
    setprod_Un2 ~> setprod.union_diff2
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1228
    setprod_Un_disjoint ~> setprod.union_disjoint
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1229
    setprod_UN_disjoint ~> setprod.UNION_disjoint
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1230
    setprod_Un_Int ~> setprod.union_inter
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1231
    setprod_Union_disjoint ~> setprod.Union_disjoint
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1232
    setprod_Un_one ~> setprod.union_inter_neutral
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1233
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1234
  Dropped setsum_cong2 (simple variant of setsum.cong).
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1235
  Dropped setsum_inter_restrict' (simple variant of setsum.inter_restrict)
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1236
  Dropped setsum_reindex_id, setprod_reindex_id
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1237
    (simple variants of setsum.reindex [symmetric], setprod.reindex [symmetric]).
6ab1c7cb0b8d fact consolidation
haftmann
parents: 57415
diff changeset
  1238
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1239
INCOMPATIBILITY.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1240
54864
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1241
* Abolished slightly odd global lattice interpretation for min/max.
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1242
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1243
  Fact consolidations:
54864
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1244
    min_max.inf_assoc ~> min.assoc
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1245
    min_max.inf_commute ~> min.commute
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1246
    min_max.inf_left_commute ~> min.left_commute
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1247
    min_max.inf_idem ~> min.idem
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1248
    min_max.inf_left_idem ~> min.left_idem
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1249
    min_max.inf_right_idem ~> min.right_idem
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1250
    min_max.sup_assoc ~> max.assoc
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1251
    min_max.sup_commute ~> max.commute
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1252
    min_max.sup_left_commute ~> max.left_commute
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1253
    min_max.sup_idem ~> max.idem
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1254
    min_max.sup_left_idem ~> max.left_idem
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1255
    min_max.sup_inf_distrib1 ~> max_min_distrib2
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1256
    min_max.sup_inf_distrib2 ~> max_min_distrib1
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1257
    min_max.inf_sup_distrib1 ~> min_max_distrib2
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1258
    min_max.inf_sup_distrib2 ~> min_max_distrib1
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1259
    min_max.distrib ~> min_max_distribs
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1260
    min_max.inf_absorb1 ~> min.absorb1
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1261
    min_max.inf_absorb2 ~> min.absorb2
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1262
    min_max.sup_absorb1 ~> max.absorb1
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1263
    min_max.sup_absorb2 ~> max.absorb2
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1264
    min_max.le_iff_inf ~> min.absorb_iff1
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1265
    min_max.le_iff_sup ~> max.absorb_iff2
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1266
    min_max.inf_le1 ~> min.cobounded1
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1267
    min_max.inf_le2 ~> min.cobounded2
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1268
    le_maxI1, min_max.sup_ge1 ~> max.cobounded1
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1269
    le_maxI2, min_max.sup_ge2 ~> max.cobounded2
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1270
    min_max.le_infI1 ~> min.coboundedI1
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1271
    min_max.le_infI2 ~> min.coboundedI2
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1272
    min_max.le_supI1 ~> max.coboundedI1
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1273
    min_max.le_supI2 ~> max.coboundedI2
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1274
    min_max.less_infI1 ~> min.strict_coboundedI1
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1275
    min_max.less_infI2 ~> min.strict_coboundedI2
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1276
    min_max.less_supI1 ~> max.strict_coboundedI1
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1277
    min_max.less_supI2 ~> max.strict_coboundedI2
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1278
    min_max.inf_mono ~> min.mono
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1279
    min_max.sup_mono ~> max.mono
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1280
    min_max.le_infI, min_max.inf_greatest ~> min.boundedI
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1281
    min_max.le_supI, min_max.sup_least ~> max.boundedI
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1282
    min_max.le_inf_iff ~> min.bounded_iff
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1283
    min_max.le_sup_iff ~> max.bounded_iff
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1284
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1285
For min_max.inf_sup_aci, prefer (one of) min.commute, min.assoc,
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1286
min.left_commute, min.left_idem, max.commute, max.assoc,
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1287
max.left_commute, max.left_idem directly.
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1288
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1289
For min_max.inf_sup_ord, prefer (one of) min.cobounded1,
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1290
min.cobounded2, max.cobounded1m max.cobounded2 directly.
54864
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1291
56807
haftmann
parents: 56787
diff changeset
  1292
For min_ac or max_ac, prefer more general collection ac_simps.
54864
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1293
58604
13dfea1621b2 improved spelling of formal INCOMPATIBILITY in historic versions (!) -- to avoid ad-hoc word completion multiply such lapses;
wenzelm
parents: 58592
diff changeset
  1294
INCOMPATIBILITY.
54864
a064732223ad abolished slightly odd global lattice interpretation for min/max
haftmann
parents: 54850
diff changeset
  1295
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1296
* Theorem disambiguation Inf_le_Sup (on finite sets) ~>
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1297
Inf_fin_le_Sup_fin.  INCOMPATIBILITY.
54745
46e441e61ff5 disambiguation of interpretation prefixes
haftmann
parents: 54742
diff changeset
  1298
54295
45a5523d4a63 qualifed popular user space names
haftmann
parents: 54264
diff changeset
  1299
* Qualified constant names Wellfounded.acc, Wellfounded.accp.
45a5523d4a63 qualifed popular user space names
haftmann
parents: 54264
diff changeset
  1300
INCOMPATIBILITY.
45a5523d4a63 qualifed popular user space names
haftmann
parents: 54264
diff changeset
  1301
54228
229282d53781 purely algebraic foundation for even/odd
haftmann
parents: 54227
diff changeset
  1302
* Fact generalization and consolidation:
229282d53781 purely algebraic foundation for even/odd
haftmann
parents: 54227
diff changeset
  1303
    neq_one_mod_two, mod_2_not_eq_zero_eq_one_int ~> not_mod_2_eq_0_eq_1
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1304
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1305
INCOMPATIBILITY.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1306
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1307
* Purely algebraic definition of even.  Fact generalization and
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1308
  consolidation:
54228
229282d53781 purely algebraic foundation for even/odd
haftmann
parents: 54227
diff changeset
  1309
    nat_even_iff_2_dvd, int_even_iff_2_dvd ~> even_iff_2_dvd
229282d53781 purely algebraic foundation for even/odd
haftmann
parents: 54227
diff changeset
  1310
    even_zero_(nat|int) ~> even_zero
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1311
54228
229282d53781 purely algebraic foundation for even/odd
haftmann
parents: 54227
diff changeset
  1312
INCOMPATIBILITY.
54055
5bf55a713232 back to post-release mode -- after fork point;
wenzelm
parents: 54049
diff changeset
  1313
54489
03ff4d1e6784 eliminiated neg_numeral in favour of - (numeral _)
haftmann
parents: 54449
diff changeset
  1314
* Abolished neg_numeral.
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1315
  - Canonical representation for minus one is "- 1".
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1316
  - Canonical representation for other negative numbers is "- (numeral _)".
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1317
  - When devising rule sets for number calculation, consider the
54587
19cd731eb745 even more precise NEWS
haftmann
parents: 54533
diff changeset
  1318
    following canonical cases: 0, 1, numeral _, - 1, - numeral _.
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1319
  - HOLogic.dest_number also recognizes numerals in non-canonical forms
54893
4061ec8adb1c avoid unicode text, which causes problems when recoding symbols (e.g. via UTF8-Isabelle in Isabelle/jEdit);
wenzelm
parents: 54890
diff changeset
  1320
    like "numeral One", "- numeral One", "- 0" and even "- ... - _".
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1321
  - Syntax for negative numerals is mere input syntax.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1322
56964
haftmann
parents: 56942
diff changeset
  1323
INCOMPATIBILITY.
54489
03ff4d1e6784 eliminiated neg_numeral in favour of - (numeral _)
haftmann
parents: 54449
diff changeset
  1324
57517
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1325
* Reduced name variants for rules on associativity and commutativity:
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1326
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1327
    add_assoc ~> add.assoc
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1328
    add_commute ~> add.commute
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1329
    add_left_commute ~> add.left_commute
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1330
    mult_assoc ~> mult.assoc
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1331
    mult_commute ~> mult.commute
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1332
    mult_left_commute ~> mult.left_commute
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1333
    nat_add_assoc ~> add.assoc
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1334
    nat_add_commute ~> add.commute
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1335
    nat_add_left_commute ~> add.left_commute
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1336
    nat_mult_assoc ~> mult.assoc
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1337
    nat_mult_commute ~> mult.commute
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1338
    eq_assoc ~> iff_assoc
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1339
    eq_left_commute ~> iff_left_commute
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1340
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1341
INCOMPATIBILITY.
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1342
57650
17d7f5d96328 tuned spelling;
wenzelm
parents: 57637
diff changeset
  1343
* Fact collections add_ac and mult_ac are considered old-fashioned.
57637
eeb2d50ec71f updated NEWS according to d38a98f496dd (see also bdc2c6b40bf2);
wenzelm
parents: 57591
diff changeset
  1344
Prefer ac_simps instead, or specify rules
eeb2d50ec71f updated NEWS according to d38a98f496dd (see also bdc2c6b40bf2);
wenzelm
parents: 57591
diff changeset
  1345
(add|mult).(assoc|commute|left_commute) individually.
57517
f4904e2b3040 misc tuning for release;
wenzelm
parents: 57515
diff changeset
  1346
54230
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1347
* Elimination of fact duplicates:
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1348
    equals_zero_I ~> minus_unique
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1349
    diff_eq_0_iff_eq ~> right_minus_eq
54588
traytel
parents: 54587
diff changeset
  1350
    nat_infinite ~> infinite_UNIV_nat
traytel
parents: 54587
diff changeset
  1351
    int_infinite ~> infinite_UNIV_int
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1352
54230
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1353
INCOMPATIBILITY.
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1354
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1355
* Fact name consolidation:
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1356
    diff_def, diff_minus, ab_diff_minus ~> diff_conv_add_uminus
54250
7d2544dd3988 fact generalization and name consolidation
haftmann
parents: 54230
diff changeset
  1357
    minus_le_self_iff ~> neg_less_eq_nonneg
7d2544dd3988 fact generalization and name consolidation
haftmann
parents: 54230
diff changeset
  1358
    le_minus_self_iff ~> less_eq_neg_nonpos
7d2544dd3988 fact generalization and name consolidation
haftmann
parents: 54230
diff changeset
  1359
    neg_less_nonneg ~> neg_less_pos
7d2544dd3988 fact generalization and name consolidation
haftmann
parents: 54230
diff changeset
  1360
    less_minus_self_iff ~> less_neg_neg [simp]
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1361
54230
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1362
INCOMPATIBILITY.
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1363
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1364
* More simplification rules on unary and binary minus:
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1365
add_diff_cancel, add_diff_cancel_left, add_le_same_cancel1,
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1366
add_le_same_cancel2, add_less_same_cancel1, add_less_same_cancel2,
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1367
add_minus_cancel, diff_add_cancel, le_add_same_cancel1,
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1368
le_add_same_cancel2, less_add_same_cancel1, less_add_same_cancel2,
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1369
minus_add_cancel, uminus_add_conv_diff.  These correspondingly have
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1370
been taken away from fact collections algebra_simps and field_simps.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1371
INCOMPATIBILITY.
54230
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1372
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1373
To restore proofs, the following patterns are helpful:
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1374
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1375
a) Arbitrary failing proof not involving "diff_def":
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1376
Consider simplification with algebra_simps or field_simps.
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1377
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1378
b) Lifting rules from addition to subtraction:
54893
4061ec8adb1c avoid unicode text, which causes problems when recoding symbols (e.g. via UTF8-Isabelle in Isabelle/jEdit);
wenzelm
parents: 54890
diff changeset
  1379
Try with "using <rule for addition> of [... "- _" ...]" by simp".
54230
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1380
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1381
c) Simplification with "diff_def": just drop "diff_def".
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1382
Consider simplification with algebra_simps or field_simps;
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1383
or the brute way with
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1384
"simp add: diff_conv_add_uminus del: add_uminus_conv_diff".
b1d955791529 more simplification rules on unary and binary minus
haftmann
parents: 54228
diff changeset
  1385
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1386
* Introduce bdd_above and bdd_below in theory
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1387
Conditionally_Complete_Lattices, use them instead of explicitly
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1388
stating boundedness of sets.
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1389
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1390
* ccpo.admissible quantifies only over non-empty chains to allow more
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1391
syntax-directed proof rules; the case of the empty chain shows up as
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1392
additional case in fixpoint induction proofs.  INCOMPATIBILITY.
54264
hoelzl
parents: 54250
diff changeset
  1393
56214
hoelzl
parents: 56212
diff changeset
  1394
* Removed and renamed theorems in Series:
hoelzl
parents: 56212
diff changeset
  1395
  summable_le         ~>  suminf_le
hoelzl
parents: 56212
diff changeset
  1396
  suminf_le           ~>  suminf_le_const
hoelzl
parents: 56212
diff changeset
  1397
  series_pos_le       ~>  setsum_le_suminf
hoelzl
parents: 56212
diff changeset
  1398
  series_pos_less     ~>  setsum_less_suminf
hoelzl
parents: 56212
diff changeset
  1399
  suminf_ge_zero      ~>  suminf_nonneg
hoelzl
parents: 56212
diff changeset
  1400
  suminf_gt_zero      ~>  suminf_pos
hoelzl
parents: 56212
diff changeset
  1401
  suminf_gt_zero_iff  ~>  suminf_pos_iff
hoelzl
parents: 56212
diff changeset
  1402
  summable_sumr_LIMSEQ_suminf  ~>  summable_LIMSEQ
hoelzl
parents: 56212
diff changeset
  1403
  suminf_0_le         ~>  suminf_nonneg [rotate]
hoelzl
parents: 56212
diff changeset
  1404
  pos_summable        ~>  summableI_nonneg_bounded
hoelzl
parents: 56212
diff changeset
  1405
  ratio_test          ~>  summable_ratio_test
hoelzl
parents: 56212
diff changeset
  1406
hoelzl
parents: 56212
diff changeset
  1407
  removed series_zero, replaced by sums_finite
hoelzl
parents: 56212
diff changeset
  1408
hoelzl
parents: 56212
diff changeset
  1409
  removed auxiliary lemmas:
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1410
56214
hoelzl
parents: 56212
diff changeset
  1411
    sumr_offset, sumr_offset2, sumr_offset3, sumr_offset4, sumr_group,
57452
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1412
    half, le_Suc_ex_iff, lemma_realpow_diff_sumr,
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1413
    real_setsum_nat_ivl_bounded, summable_le2, ratio_test_lemma2,
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1414
    sumr_minus_one_realpow_zerom, sumr_one_lb_realpow_zero,
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1415
    summable_convergent_sumr_iff, sumr_diff_mult_const
ecad2a53755a misc updates for release;
wenzelm
parents: 57443
diff changeset
  1416
56214
hoelzl
parents: 56212
diff changeset
  1417
INCOMPATIBILITY.
hoelzl
parents: 56212
diff changeset
  1418
hoelzl
parents: 56212
diff changeset
  1419
* Replace (F)DERIV syntax by has_derivative:
hoelzl
parents: 56212
diff changeset
  1420
  - "(f has_derivative f') (at x within s)" replaces "FDERIV f x : s : f'"