History log of /seL4-l4v-master/HOL4/src/bool/selftest.sml
Revision Date Author Comments
# 744f9a3b 21-Apr-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix many selftests to have prettier output


# c3e3e54e 25-Mar-2015 Michael Norrish <Michael.Norrish@nicta.com.au>

Delete trailing whitespace in src/


# cfea4edb 28-Jan-2015 Jeremy Dawson <jeremy@cecs.anu.edu.au>

test of find_in, apropos_in, in src/bool/selftest


# 3fd6d934 09-Jan-2011 Michael Norrish <Michael.Norrish@nicta.com.au>

Add regression test for itself pretty-printing bug that Anthony found.


# 0534445e 06-Jan-2011 Michael Norrish <Michael.Norrish@nicta.com.au>

Add a slew of self-tests for term pretty-printer.

The last of these fails.

* coloured abstraction printing.
* coloured printing under a forall
* coloured printing let expression.
* coloured let printing when let-binding an abstraction.
* printing types on bound vars with show_types = true.
* test for variable-colouring in monad syntax.


# d55c4ad2 26-Aug-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix for TypeNet bug (and new regression test in src/bool).

The issue wasn't really anything to do with Hol_datatype. It was having
problems because of the way it inserts data about new types into the
TypeBase after a type has been defined. The TypeNet structure is used by
the type-abbreviation facility too, and so the 'same' bug can be
demonstrated using type_abbrev. The fix to TypeNet was to get it to
explicitly record the arity of the type operators in the nodes of its
internal trie.


# b7dd3bc5 04-Jul-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix p/printing with show_types on to properly resolve polymorphic situations.

Include a test-case.


# b701067f 16-Jun-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix another Unicode-bounce bug.

The real problem in the previous bug was that the Unicode flag was being
bounced as a term was printed for inclusion in the generated theory file.
The previous fix merely removed the bouncing. This fix deals with the
code around the bouncing properly, and simplifies the handling of Unicode
overloads.


# 5457c6d9 16-Jun-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Strange Unicode overload bug test-case.


# 8f6fbc99 02-Jun-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

New test illustrating minor problem in HO_MATCH_MP_TAC.


# c0ee312d 23-Mar-2010 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix pprint bug with Unicode binders in ProvideUnicode and add selftest.


# 2c082279 30-Sep-2009 Michael Norrish <Michael.Norrish@nicta.com.au>

Adjust a whole bunch of selftests to use Unicode at zero. In some
cases this is just for the sake of prettiness (making columns line
up), but in others, where the test is of the pretty-printer, I didn't
want to alter the tests.


# 1634df0d 17-Jun-2009 Michael Norrish <Michael.Norrish@nicta.com.au>

Add a selftest to catch the soundness bug in the experimental kernel
that Peter Homeier discovered (and fixed).


# 16ba3dd2 18-Jan-2009 Michael Norrish <Michael.Norrish@nicta.com.au>

Variables in the patterns of case expressions are now properly
'fresh'. They bind expressions on the other side of the case-arrow,
but do not affect variables outside the case expression or in other
branches. This revealed a bug in DecodeScript, where a theorem about
encoding sums ended up being about sums of type 'a + 'a only because
case pattern variables that should have been independent weren't.


# b9487da5 18-Jan-2009 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix a bug in the pretty-printing of case expressions when they have
function type and are applied to argument(s).


# 5c771b3d 15-Jan-2009 Michael Norrish <Michael.Norrish@nicta.com.au>

Modify lexing so that "mixed" tokens are possible if a user puts them
into the grammar. For example, one might do

set_fixity "-->a" (Infix(NONASSOC, 450))

This then causes ``p -->a q`` to be parsed as an infix application of
-->a to p and q. If you wrote ``p --> a q``, the -->a token would not
be seen. Without -->a being in the grammar, it will be lexed as
before, a symbolic token (-->) followed by an alphanumeric one (a).
(Note also that things like --a--> where the mixing up happens in the
middle of the token, are just as possible.)

This change also allows traditional alphanumeric identifiers to
combine with Unicode subscripts. Using LaTeX notation, a_1 is now
possible.

The system builds with selftest level 1, so I believe I have preserved
backwards compatibility. (I have also added a test to
src/bool/selftest.sml to check for _1 working as a case expression
pattern properly.)


# c70d9bb1 28-Dec-2008 Michael Norrish <Michael.Norrish@nicta.com.au>

Handle merging of symbolic characters better when pretty-printing.


# f0baad04 08-Dec-2008 Michael Norrish <Michael.Norrish@nicta.com.au>

Find and correct a pretty-printing bug for let-expressions caused by
my recent implementation of syntactic patterns. There's another
similar bug in the handling of set comprehensions (next check-in).


# da14c415 07-Dec-2008 Michael Norrish <Michael.Norrish@nicta.com.au>

Let expressions weren't printing correctly. Fix this problem and add
a regression test to catch it in future.


# d0dadb46 06-Feb-2006 Michael Norrish <Michael.Norrish@nicta.com.au>

Test demonstrating a bug I'm about to fix in the Term parser.


# 7588c763 17-May-2005 Michael Norrish <Michael.Norrish@nicta.com.au>

Cleaning up more robustly when the program exits.


# 4f5714a4 26-Apr-2005 Michael Norrish <Michael.Norrish@nicta.com.au>

More regression testing for a bug that I am about to check in a fix for
(at least in the experimental kernel). When new_theory deleted any old
segment, the calls to Term.del_segment, and Type.del_segment did not
result in the appropriate calls to prim_delete_const and the Type equivalent
of this. This meant that old constant names did not get oldified, causing
a soundness bug.


# e64ad60e 25-Oct-2004 Michael Norrish <Michael.Norrish@nicta.com.au>

Of course, it helps if the selftest compiles.


# eea35d34 25-Oct-2004 Michael Norrish <Michael.Norrish@nicta.com.au>

Self-test addition to catch the behaviour that allowed false to be proven.


# a03aca36 21-Jul-2003 Michael Norrish <Michael.Norrish@nicta.com.au>

A fix for the HOL Light INST_TYPE bug, that also affected the
experimental kernel. Basically, you can't blindly do type instantiation
across a theorem because it may cause what was a free variable to
become captured. The dB implementation is immune to this of course.
Test for the bug in the selftest program to extend the regression suite.


# 0fa8d663 19-Jun-2003 Michael Norrish <Michael.Norrish@nicta.com.au>

Added a very simple set of tests of substitution over terms. If we
should ever find a bug in the substitution code (heaven forbid!) it
can be recorded here to provide a regression suite.
Note that there are implicitly tests of aconv and the parser here as
well.