NEWS
changeset 7215 1379275df5cd
parent 7204 c19a275f5c31
child 7216 7ee4eecdc8a6
equal deleted inserted replaced
7214:381d6987f68d 7215:1379275df5cd
     8 *** Overview of INCOMPATIBILITIES (see below for more details) ***
     8 *** Overview of INCOMPATIBILITIES (see below for more details) ***
     9 
     9 
    10 * HOL: The THEN and ELSE parts of conditional expressions (if P then x else y)
    10 * HOL: The THEN and ELSE parts of conditional expressions (if P then x else y)
    11 are no longer simplified.  (This allows the simplifier to unfold recursive
    11 are no longer simplified.  (This allows the simplifier to unfold recursive
    12 functional programs.)  To restore the old behaviour, declare
    12 functional programs.)  To restore the old behaviour, declare
    13 	Delcongs [if_weak_cong];
    13 
       
    14     Delcongs [if_weak_cong];
    14 
    15 
    15 * HOL: Removed the obsolete syntax "Compl A"; use -A for set
    16 * HOL: Removed the obsolete syntax "Compl A"; use -A for set
    16 complement;
    17 complement;
    17 
    18 
    18 * HOL: the predicate "inj" is now defined by translation to "inj_on";
    19 * HOL: the predicate "inj" is now defined by translation to "inj_on";
    24 to constants declared in the same theory;
    25 to constants declared in the same theory;
    25 
    26 
    26 * HOL, ZF: the function mk_cases, generated by the inductive
    27 * HOL, ZF: the function mk_cases, generated by the inductive
    27 definition package, has lost an argument.  To simplify its result, it
    28 definition package, has lost an argument.  To simplify its result, it
    28 uses the default simpset instead of a supplied list of theorems.
    29 uses the default simpset instead of a supplied list of theorems.
       
    30 
       
    31 * HOL/List: the constructors of type list are now Nil and Cons;
    29 
    32 
    30 
    33 
    31 *** Proof tools ***
    34 *** Proof tools ***
    32 
    35 
    33 * Provers/Arith/fast_lin_arith.ML contains a functor for creating a
    36 * Provers/Arith/fast_lin_arith.ML contains a functor for creating a
    36 instantiated for other types and logics as well.
    39 instantiated for other types and logics as well.
    37 
    40 
    38 
    41 
    39 *** General ***
    42 *** General ***
    40 
    43 
       
    44 * new Isabelle/Isar subsystem provides an alternative to traditional
       
    45 tactical theorem proving; together with the ProofGeneral/isar user
       
    46 interface it offers an interactive environment for developing human
       
    47 readable proof documents (Isar == Intelligible semi-automated
       
    48 reasoning); see isatool doc isar-ref and
       
    49 http://isabelle.in.tum.de/Isar/ for more information;
       
    50 
       
    51 * native support for ProofGeneral, both for classic Isabelle and
       
    52 Isabelle/Isar (the latter is slightly better supported and more
       
    53 robust);
       
    54 
    41 * Isabelle manuals now also available as PDF;
    55 * Isabelle manuals now also available as PDF;
    42 
    56 
    43 * improved browser info generation: better HTML markup (including
    57 * improved browser info generation: better HTML markup (including
    44 colors), graph views in several sizes; isatool usedir now provides a
    58 colors), graph views in several sizes; isatool usedir now provides a
    45 proper interface for user theories (via -P option);
    59 proper interface for user theories (via -P option);
    47 * theory loader rewritten from scratch (may not be fully
    61 * theory loader rewritten from scratch (may not be fully
    48 bug-compatible); old loadpath variable has been replaced by show_path,
    62 bug-compatible); old loadpath variable has been replaced by show_path,
    49 add_path, del_path, reset_path functions; new operations such as
    63 add_path, del_path, reset_path functions; new operations such as
    50 update_thy, touch_thy, remove_thy (see also isatool doc ref);
    64 update_thy, touch_thy, remove_thy (see also isatool doc ref);
    51 
    65 
       
    66 * improved isatool install: option -k creates KDE application icon,
       
    67 option -p DIR installs standalone binaries;
       
    68 
       
    69 * added ML_PLATFORM setting (useful for cross-platform installations);
       
    70 more robust handling of platform specific ML images for SML/NJ;
       
    71 
       
    72 * path element specification '~~' refers to '$ISABELLE_HOME';
       
    73 
    52 * in locales, the "assumes" and "defines" parts may be omitted if
    74 * in locales, the "assumes" and "defines" parts may be omitted if
    53 empty;
    75 empty;
    54 
    76 
    55 * new print_mode "xsymbols" for extended symbol support (e.g. genuine
    77 * new print_mode "xsymbols" for extended symbol support (e.g. genuine
    56 long arrows);
    78 long arrows);
    57 
    79 
    58 * new print_mode "HTML";
    80 * new print_mode "HTML";
    59 
    81 
    60 * path element specification '~~' refers to '$ISABELLE_HOME';
       
    61 
       
    62 * new flag show_tags controls display of tags of theorems (which are
    82 * new flag show_tags controls display of tags of theorems (which are
    63 basically just comments that may be attached by some tools);
    83 basically just comments that may be attached by some tools);
    64 
       
    65 * improved isatool install: option -k creates KDE application icon,
       
    66 option -p DIR installs standalone binaries;
       
    67 
       
    68 * added ML_PLATFORM setting (useful for cross-platform installations);
       
    69 more robust handling of platform specific ML images for SML/NJ;
       
    70 
    84 
    71 * Isamode 2.6 requires patch to accomodate change of Isabelle font
    85 * Isamode 2.6 requires patch to accomodate change of Isabelle font
    72 mode and goal output format:
    86 mode and goal output format:
    73 
    87 
    74 diff -r Isamode-2.6/elisp/isa-load.el Isamode/elisp/isa-load.el
    88 diff -r Isamode-2.6/elisp/isa-load.el Isamode/elisp/isa-load.el
    83 > (defconst proofstate-proofstart-regexp "^Level [0-9]+"
    97 > (defconst proofstate-proofstart-regexp "^Level [0-9]+"
    84 
    98 
    85 
    99 
    86 *** HOL ***
   100 *** HOL ***
    87 
   101 
       
   102 ** HOL arithmetic **
       
   103 
    88 * There are now decision procedures for linear arithmetic over nat and
   104 * There are now decision procedures for linear arithmetic over nat and
    89 int:
   105 int:
    90 
   106 
    91 1. arith_tac copes with arbitrary formulae involving `=', `<', `<=',
   107 1. arith_tac copes with arbitrary formulae involving `=', `<', `<=',
    92 `+', `-', `Suc', `min', `max' and numerical constants; other subterms
   108 `+', `-', `Suc', `min', `max' and numerical constants; other subterms
   105 
   121 
   106 NB: At the moment, these decision procedures do not cope with mixed
   122 NB: At the moment, these decision procedures do not cope with mixed
   107 nat/int formulae where the two parts interact, such as `m < n ==>
   123 nat/int formulae where the two parts interact, such as `m < n ==>
   108 int(m) < int(n)'.
   124 int(m) < int(n)'.
   109 
   125 
   110 * An interface to the Stanford Validity Checker (SVC) is available through 
   126 * HOL/Numeral provides a generic theory of numerals (encoded
   111   the tactic svc_tac.  Propositional tautologies and theorems of linear
   127 efficiently as bit strings); setup for types nat and int is in place;
   112   arithmetic are proved automatically.  Numeric variables may have types nat, 
   128 INCOMPATIBILITY: since numeral syntax is now polymorphic, rather than
   113   int or real.  SVC must be installed separately, and 
   129 int, existing theories and proof scripts may require a few additional
   114   its results must be TAKEN ON TRUST (Isabelle does not check the proofs).
   130 type constraints;
   115 
   131 
   116 * Integer division and remainder can now be performed on constant arguments.  
   132 * integer division and remainder can now be performed on constant
   117 
   133 arguments;
   118 * Many properties of integer multiplication, division and remainder are now
   134 
   119 available.
   135 * many properties of integer multiplication, division and remainder
       
   136 are now available;
       
   137 
       
   138 * An interface to the Stanford Validity Checker (SVC) is available
       
   139 through the tactic svc_tac.  Propositional tautologies and theorems of
       
   140 linear arithmetic are proved automatically.  Numeric variables may
       
   141 have types nat, int or real.  SVC must be installed separately, and
       
   142 its results must be TAKEN ON TRUST (Isabelle does not check the
       
   143 proofs, but tags any invocation of the underlying oracle).
   120 
   144 
   121 * IsaMakefile: the HOL-Real target now builds an actual image;
   145 * IsaMakefile: the HOL-Real target now builds an actual image;
   122 
   146 
   123 * New bounded quantifier syntax (input only):
   147 
   124   ! x < y. P, ! x <= y. P, ? x < y. P, ? x <= y. P
   148 ** HOL misc **
       
   149 
       
   150 * HOL/datatype: Now also handles arbitrarily branching datatypes
       
   151   (using function types) such as
       
   152 
       
   153   datatype 'a tree = Atom 'a | Branch "nat => 'a tree"
   125 
   154 
   126 * HOL/TLA (Lamport's Temporal Logic of Actions): major reorganization
   155 * HOL/TLA (Lamport's Temporal Logic of Actions): major reorganization
   127 -- avoids syntactic ambiguities and treats state, transition, and
   156 -- avoids syntactic ambiguities and treats state, transition, and
   128 temporal levels more uniformly; introduces INCOMPATIBILITIES due to
   157 temporal levels more uniformly; introduces INCOMPATIBILITIES due to
   129 changed syntax and (many) tactics;
   158 changed syntax and (many) tactics;
   130 
   159 
   131 * HOL/datatype: Now also handles arbitrarily branching datatypes
   160 * New bounded quantifier syntax (input only):
   132   (using function types) such as
   161   ! x < y. P, ! x <= y. P, ? x < y. P, ? x <= y. P
   133 
       
   134   datatype 'a tree = Atom 'a | Branch "nat => 'a tree"
       
   135 
   162 
   136 * HOL/typedef: fixed type inference for representing set; type
   163 * HOL/typedef: fixed type inference for representing set; type
   137 arguments now have to occur explicitly on the rhs as type constraints;
   164 arguments now have to occur explicitly on the rhs as type constraints;
   138 
   165 
   139 * HOL/recdef (TFL): requires theory Recdef; 'congs' syntax now expects
   166 * HOL/recdef (TFL): requires theory Recdef; 'congs' syntax now expects
   140 comma separated list of theorem names rather than an ML expression;
   167 comma separated list of theorem names rather than an ML expression;
   141 
   168 
       
   169 * HOL/List: the constructors of type list are now Nil and Cons;
       
   170 INCOMPATIBILITY: while [] and infix # syntax is still there, of
       
   171 course, ML tools referring to List.list.op # etc. have to be adapted;
       
   172 
       
   173 
   142 
   174 
   143 *** LK ***
   175 *** LK ***
   144 
   176 
   145 * the notation <<...>> is now available as a notation for sequences of formulas
   177 * the notation <<...>> is now available as a notation for sequences of
       
   178 formulas;
   146 
   179 
   147 * the simplifier is now installed
   180 * the simplifier is now installed
   148 
   181 
   149 * the axiom system has been generalized (thanks to Soren Heilmann) 
   182 * the axiom system has been generalized (thanks to Soren Heilmann) 
   150 
   183