-
Theorem names:
-
rich_listTheory:
COUNT_LIST_AUX_def_compute becomes COUNT_LIST_AUX_compute
SEG_TAKE_BUTFISTN becomes SEG_TAKE_DROP
-
-
Type
termis no longer an equality type-
Equality on terms is now implemented by operator ~~, and previous (AST) equality is provided by the function
identical. -
bir_utilLib provides some helper functions that expect an explicit equality function (might be better to move this somewhere else)
-
This change is especially relevant to SML code that works on HOL4 terms.
-
-
Precedence:
In Kananaskis-13, = binds more tightly than /\ to reduce parentheses in definitions such as
val foo_def = Define
foo [] = ... /\ foo (x::xs) = ...This breaks some existing definitions if there was a conjunction on the right hand side, e.g.
foo a b = a /\ bwould now be interpreted as
(foo a b = a) /\ b, so it needs to be written asfoo a b = (a /\ b)In some proofs there are quotations that use both = and /, so those often break too. If a proof breaks, it is often a good idea to check either the statement of the theorem or any explicit quotations/subgoals in the proof script for wrong grouping. Most proofs have been fixed by adding/changing parentheses accordingly.