NEWS
changeset 3107 492a3d5d2b17
parent 3042 21cd332b65d3
child 3116 b890bae4273e
equal deleted inserted replaced
3106:5396e99c02af 3107:492a3d5d2b17
    31 
    31 
    32 * token translations for modes "xterm" and "xterm_color" that display
    32 * token translations for modes "xterm" and "xterm_color" that display
    33 names in bold, underline etc. or colors (which requires a color
    33 names in bold, underline etc. or colors (which requires a color
    34 version of xterm);
    34 version of xterm);
    35 
    35 
    36 * now supports alternative (named) syntax tables (parser and pretty
    36 * supports alternative (named) syntax tables (parser and pretty
    37 printer); internal interface is provided by add_modesyntax(_i);
    37 printer); internal interface is provided by add_modesyntax(_i);
    38 
    38 
    39 * infixes may now be declared with names independent of their syntax;
    39 * infixes may now be declared with names independent of their syntax;
    40 
    40 
    41 * added typed_print_translation (like print_translation, but may
    41 * added typed_print_translation (like print_translation, but may
    52   + ignores types, which can make HOL proofs fail
    52   + ignores types, which can make HOL proofs fail
    53   + rules must not require higher-order unification, e.g. apply_type in ZF
    53   + rules must not require higher-order unification, e.g. apply_type in ZF
    54     [message "Function Var's argument not a bound variable" relates to this]
    54     [message "Function Var's argument not a bound variable" relates to this]
    55   + its proof strategy is more general but can actually be slower
    55   + its proof strategy is more general but can actually be slower
    56 
    56 
    57 * substitution with equality assumptions no longer permutes other assumptions.
    57 * substitution with equality assumptions no longer permutes other
       
    58 assumptions;
    58 
    59 
    59 * minor changes in semantics of addafter (now called addaltern); renamed
    60 * minor changes in semantics of addafter (now called addaltern); renamed
    60 setwrapper to setWrapper and compwrapper to compWrapper; added safe wrapper
    61 setwrapper to setWrapper and compwrapper to compWrapper; added safe wrapper
    61 (and access functions for it)
    62 (and access functions for it);
    62 
    63 
    63 * improved combination of classical reasoner and simplifier: new
    64 * improved combination of classical reasoner and simplifier: new
    64 addss, auto_tac, functions for handling clasimpsets, ...  Now, the
    65 addss, auto_tac, functions for handling clasimpsets, ...  Now, the
    65 simplification is safe (therefore moved to safe_step_tac) and thus
    66 simplification is safe (therefore moved to safe_step_tac) and thus
    66 more complete, as multiple instantiation of unknowns (with slow_tac).
    67 more complete, as multiple instantiation of unknowns (with slow_tac).
    67 COULD MAKE EXISTING PROOFS FAIL; in case of problems with
    68 COULD MAKE EXISTING PROOFS FAIL; in case of problems with
    68 old proofs, use unsafe_addss and unsafe_auto_tac
    69 old proofs, use unsafe_addss and unsafe_auto_tac;
    69 
    70 
    70 
    71 
    71 *** Simplifier ***
    72 *** Simplifier ***
    72 
    73 
    73 * added interface for simplification procedures (functions that
    74 * added interface for simplification procedures (functions that
    74 produce *proven* rewrite rules on the fly, depending on current
    75 produce *proven* rewrite rules on the fly, depending on current
    75 redex);
    76 redex);
    76 
    77 
    77 * ordering on terms as parameter (used for ordered rewriting);
    78 * ordering on terms as parameter (used for ordered rewriting);
    78 
    79 
    79 * new functions delcongs, deleqcongs, and Delcongs. richer rep_ss.
    80 * new functions delcongs, deleqcongs, and Delcongs. richer rep_ss;
    80 
    81 
    81 * the solver is now split into a safe and an unsafe part.
    82 * the solver is now split into a safe and an unsafe part.
    82 This should be invisible for the normal user, except that the
    83 This should be invisible for the normal user, except that the
    83 functions setsolver and addsolver have been renamed to setSolver and
    84 functions setsolver and addsolver have been renamed to setSolver and
    84 addSolver.  added safe_asm_full_simp_tac.
    85 addSolver; added safe_asm_full_simp_tac;
    85 
    86 
    86 
    87 
    87 *** HOL ***
    88 *** HOL ***
    88 
    89 
    89 * a generic induction tactic `induct_tac' which works for all datatypes and
    90 * a generic induction tactic `induct_tac' which works for all datatypes and
    90 also for type `nat'.
    91 also for type `nat';
    91 
    92 
    92 * patterns in case expressions allow tuple patterns as arguments to
    93 * patterns in case expressions allow tuple patterns as arguments to
    93 constructors, for example `case x of [] => ... | (x,y,z)#ps => ...'
    94 constructors, for example `case x of [] => ... | (x,y,z)#ps => ...';
    94 
    95 
    95 * primrec now also works with type nat;
    96 * primrec now also works with type nat;
    96 
    97 
    97 * the constant for negation has been renamed from "not" to "Not" to
    98 * the constant for negation has been renamed from "not" to "Not" to
    98 harmonize with FOL, ZF, LK, etc.
    99 harmonize with FOL, ZF, LK, etc.;
    99 
   100 
   100 * HOL/ex/LFilter theory of a corecursive "filter" functional for infinite lists
   101 * HOL/ex/LFilter theory of a corecursive "filter" functional for
       
   102 infinite lists;
   101 
   103 
   102 * HOL/ex/Ring.thy declares cring_simp, which solves equational
   104 * HOL/ex/Ring.thy declares cring_simp, which solves equational
   103 problems in commutative rings, using axiomatic type classes for + and *;
   105 problems in commutative rings, using axiomatic type classes for + and *;
   104 
   106 
   105 * more examples in HOL/MiniML and HOL/Auth;
   107 * more examples in HOL/MiniML and HOL/Auth;
   106 
   108 
   107 * more default rewrite rules for quantifiers, union/intersection;
   109 * more default rewrite rules for quantifiers, union/intersection;
       
   110 
       
   111 * HOLCF/IOA replaces old HOL/IOA;
   108 
   112 
   109 * HOLCF changes: derived all rules and arities 
   113 * HOLCF changes: derived all rules and arities 
   110   + axiomatic type classes instead of classes 
   114   + axiomatic type classes instead of classes 
   111   + typedef instead of faking type definitions
   115   + typedef instead of faking type definitions
   112   + eliminated the internal constants less_fun, less_cfun, UU_fun, UU_cfun etc.
   116   + eliminated the internal constants less_fun, less_cfun, UU_fun, UU_cfun etc.
   113   + new axclasses cpo, chfin, flat with flat < chfin < pcpo < cpo < po
   117   + new axclasses cpo, chfin, flat with flat < chfin < pcpo < cpo < po
   114   + eliminated the types void, one, tr
   118   + eliminated the types void, one, tr
   115   + use unit lift and bool lift (with translations) instead of one and tr
   119   + use unit lift and bool lift (with translations) instead of one and tr
   116   + eliminated blift from Lift3.thy (use Def instead of blift)
   120   + eliminated blift from Lift3.thy (use Def instead of blift)
   117   all eliminated rules are derived as theorems --> no visible changes 
   121   all eliminated rules are derived as theorems --> no visible changes ;
   118 
   122 
   119 
   123 
   120 *** ZF ***
   124 *** ZF ***
   121 
   125 
   122 * ZF now has Fast_tac, Simp_tac and Auto_tac.  Union_iff is a now a default
   126 * ZF now has Fast_tac, Simp_tac and Auto_tac.  Union_iff is a now a default