History log of /seL4-l4v-10.1.1/HOL4/src/metis/mlibTermorder.sml
Revision Date Author Comments
# 499ad7b5 03-Sep-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Label assignments (v := e) as (* OK *) in src/metis

These labels are my judgement that the references are strictly local
and so not a concurrency issue. Additionally, some assignments in
comments (to Moscow ML specific quietdec, for example) have just been
deleted.


# 10308a8e 31-Aug-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Isolate assignment to traces ref in metis code

Hide assignment to this reference behind add_trace and set_traces
function calls.


# 838f97d0 19-Mar-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Up to core types


# e9c78f75 28-Sep-2011 Peter Homeier <palantir@trustworthytools.com>

Fixes an error in METIS_TAC for boundary cases of genvars.

The arity function in mlibTermorder.sml made use of String.compare
to compare two strings, including the names of genvars.

The problem with this is that while

> String.compare ("%%genvar%%999","%%genvar%%998");
val it = GREATER : order

sometimes we have

> String.compare ("%%genvar%%1000","%%genvar%%999");
val it = LESS : order

This is important, and has led to METIS_TAC failing when it would have
worked if the genvar numbers had been one less or one more.

Joe Hurd, the author of METIS_TAC, has been informed and has agreed
with this change:

"Thank you for such a detailed bug report together with a thoughtful
analysis of the underlying problem and a suggested patch. I completely
agree with your reasoning, and I think your patch will help to make
METIS_TAC more deterministic (an important consideration for an
interactive theorem prover).

Please commit your patch with my blessing."


# e6f1d9ff 15-Jan-2005 Joe Hurd <joe@gilith.com>

Improvements to Metis made while investigating bad performance reported
by Anthony, Juliano and Mike.


# 8933c9c4 26-May-2004 Joe Hurd <joe@gilith.com>

New version of metis: this one actually goes through the compiler
and runs the selftest!


# 706836b9 14-Jan-2004 Joe Hurd <joe@gilith.com>

Latest version of METIS_TAC.

The biggest change is that scheduling provers is done by number of
inferences, not time used, so METIS_TAC is now completely
deterministic. If it works for you on a subgoal, it will work every
time HOL4 is built.


# 50c3995d 02-Oct-2003 Joe Hurd <joe@gilith.com>

New version of metis with a more powerful prover engine.


# 7a091855 03-Aug-2003 Joe Hurd <joe@gilith.com>

Another bugfix: this time to the Metis implementation of term orderings.


# 5d643e5d 27-Jun-2003 Joe Hurd <joe@gilith.com>

Fixed a bug discovered by Konrad, where the new version of metis couldn't
prove something the previous version could.


# 91bf4ed0 17-Jun-2003 Joe Hurd <joe@gilith.com>

Version 1.3: 17 June 2002

Goals submitted to MESON_TAC when HOL is built .......... 1953
Proved by MESON_TAC ..................................... 1953
Proved by METIS_TAC within 10s .......................... 1946

Between Versions 1.2 and 1.3

* Implemention of definitional CNF to reduce blow-up in number of
clauses (usually caused by nested boolean equivalences).
* Resolution is more robust and efficient, and includes an option
(off by default) for clauses to inherit ordering constraints.