History log of /seL4-l4v-master/HOL4/src/1/boolLib.sml
Revision Date Author Comments
# 0a473a3d 29-Jun-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Move some term-equality helper functions from boolLib to boolSyntax

This helps with dependency chains and provides some documentation in
that they now appear in a signature file for the first time.


# 0a9ceacf 25-May-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Store "local" theorems (e.g., with Triviality) in DB

The reverse lookup now returns the list of "locations" where a theorem
is available.


# ef343a12 14-Apr-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Implement, document and regression-test some "term tactics"


# 7bac59b5 10-Jan-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Move DefnBase to src/coretypes, make progress with one_line_ify

DefnBase is now home to the updated literal-decider conversion


# 327a1fff 14-Aug-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Allow theorems to be stored "locally", with local attributes

Such theorems are not stored in the exported theory, but do
temporarily affect the global contexts that their attributes point at.

The test-case illustrates this, with a local simp not visible in the
later theory.


# bce7dff3 12-May-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Move theorem-attribute "parser" implementation to ThmAttribute.sml


# 1c4f83dd 07-Apr-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Rework ThmSetData implementation to use Theory s-expressions

This makes the encoding more robust, particularly if set "removal
instructions" might include space characters.


# 98c97df0 07-Apr-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Correct spelling mistake in comment


# c29ee710 05-Apr-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Refactor handling of thm attributes ("simp", etc) into new module

A slight backwards incompatibility is that this removes the ability
for script files to declare new attributes (hence removal of
attr[12]Script.sml from src/1/theory_tests). This facility is used
vacuously in CakeML once.


# 040b4578 21-Mar-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Rework persistent ThmSetData API to allow for "removal" of elements

The removals are strings encoding removal "instructions", which are up
to the underlying consumer to interpret. Still to test any of this
new machinery, but the old behaviours have been preserved.


# d2703720 13-Feb-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Rationalise eq fns in boolLib to have _eq suffix

Exception is Teq and Feq, which are not eq functions (binary
relations), but are actually unary predicates on terms.


# 6de551d3 13-Feb-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Actually get boolLib to compile (!)


# 4887e6a9 13-Feb-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Reorganise term-equality functions in boolLib


# adf95fed 08-Nov-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Useful functions for dealing with terms up-to aconv

Taken from remove-term-eqtype branch


# beec8de4 24-Oct-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove TABs in some source code, replacing them with spaces

Use Emacs's conception of how many spaces the TAB was
representing (and the M-x untabify command).

This may not line up with the author's original conception, but then,
using TABs makes it impossible to tell just what the original
conception was in the first place anyway.

Should probably script this over all of repository (excluding
makefiles of course), and use standard expand or col utilities rather
than emacs.


# 4888f523 15-Oct-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove eqtype declaration for term type


# 5ba4e44c 20-Mar-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Move variant_of_term to boolLib from pairTools

This makes it visible (previously pairTools did not export it).


# 41a2d27b 18-Jan-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Utility to extract sub-terms where inputs differ


# 2c29276d 04-Nov-2015 Michael Norrish <Michael.Norrish@nicta.com.au>

ThmSetData passes thms *and* names to consumers

The names were always available, but the API now changes so that
consumers get names as well as theorem values. They can ignore the
names of course. (In this context, consumers are things like the
stateful rewriter, the monotonicity rule database, the TFL congruence
rule database etc.)

This will be helpful in allowing the stateful simpset to know what its
theorems are called, which is progress with Github issue #313 (to allow
easy removal of rewrites from a call to the simplifier).


# bf2f604a 22-Feb-2015 Michael Norrish <michael.norrish@nicta.com.au>

Isolate some parsing within boolLib.sml

It's possible to get a (perhaps only Moscow ML) build to clash with
the code here if there are theories around that make constants of
names like "f" and "g".


# d212bd38 23-Apr-2014 Michael Norrish <michael.norrish@nicta.com.au>

Implement new scheme to allow simple addition of theorems to theorem "sets".

When saving or storing theorems, simply add [name1,name2] strings to the
end of the binding, and the theorem being saved will be added to the
theorem set with that name.


# 845531b5 14-Sep-2011 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove trailing whitespace in source files.


# 1bc9f344 13-Jan-2011 Michael Norrish <Michael.Norrish@nicta.com.au>

Change src/bool to src/1 as a prelude to experimentation!