0
|
1 |
**** Isabelle-92f : a faster version of Isabelle-92 ****
|
|
2 |
|
|
3 |
Isabelle now runs faster through a combination of improvements: pattern
|
|
4 |
unification, discrimination nets and removal of assumptions during
|
|
5 |
simplification. Classical reasoning (e.g. fast_tac) runs up to 30% faster
|
|
6 |
when large numbers of rules are involved. Rewriting (e.g. SIMP_TAC) runs
|
|
7 |
up to 3 times faster for large subgoals.
|
|
8 |
|
|
9 |
The new version will not benefit everybody; unless you require greater
|
|
10 |
speed, it may be best to stay with the existing version. The new changes
|
|
11 |
have not been documented properly, and there are a few incompatibilities.
|
|
12 |
|
|
13 |
THE SPEEDUPS
|
|
14 |
|
|
15 |
Pattern unification is completely invisible to users. It efficiently
|
|
16 |
handles a common case of higher-order unification.
|
|
17 |
|
|
18 |
Discrimination nets replace the old stringtrees. They provide fast lookup
|
|
19 |
in a large set of rules for matching or unification. New "net" tactics
|
|
20 |
replace the "compat_..." tactics based on stringtrees. Tactics
|
|
21 |
biresolve_from_nets_tac, bimatch_from_nets_tac, resolve_from_net_tac and
|
|
22 |
match_from_net_tac take a net, rather than a list of rules, and perform
|
|
23 |
resolution or matching. Tactics net_biresolve_tac, net_bimatch_tac
|
|
24 |
net_resolve_tac and net_match_tac take a list of rules, build a net
|
|
25 |
(internally) and perform resolution or matching.
|
|
26 |
|
|
27 |
The tactical METAHYPS, which allows a subgoal's hypotheses to be taken as a
|
|
28 |
list of theorems, has been extended to handle unknowns (although not type
|
|
29 |
unknowns). The simplification tactics now use METAHYPS to economise on
|
|
30 |
storage consumption, and to avoid problems involving "parameters" bound in
|
|
31 |
a subgoal. The modified simplifier now requires the auto_tac to take an
|
|
32 |
extra argument: a list of theorems, which represents the assumptions of the
|
|
33 |
current subgoal.
|
|
34 |
|
|
35 |
OTHER CHANGES
|
|
36 |
|
|
37 |
Apart from minor improvements in Pure Isabelle, the main other changes are
|
|
38 |
extensions to object-logics. HOL now contains a treatment of co-induction
|
|
39 |
and co-recursion, while ZF contains a formalization of equivalence classes,
|
|
40 |
the integers and binary arithmetic. None of this material is documented.
|