History log of /seL4-l4v-master/HOL4/src/1/ThmSetData.sig
Revision Date Author Comments
# 7306534b 04-Nov-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Again allow ancestral data to consume deltas all at once on theory-load

This allows named simpset-fragments to be added to srw_ss. This then
allows those fragments to be easily removed with calls to
diminish_srw_ss. In the 'fix-ancestry' rework this ability was
removed but this did break proofs when diminish_srw_ss calls had no
effect.

Selftest in coretypes demonstrates this with removal of the "one"
fragment.


# 351502c7 28-Oct-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Fixes to make sure that uptodate checks work properly

Existing regression tests now pass


# 9168664f 26-Oct-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Present IndDefLib's rule-induction-map as a theorem-set with ancestry

Only required change to the underlying API is to acknowledge that a
call to merge may result in no value if none of the desired parents
have a value either.


# 1b093056 26-Oct-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Add export_with_ancestry to ThmSetData signature

It compiles but is completely untested


# ca1d20c4 18-Oct-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Tweak ThmSetData API: take callbacks with more honest types

In particular, the callbacks are always only ever called on singleton
lists, so it seems silly to ask the user for functions with types that
have lists.


# bb0dcafa 05-Feb-2020 Michael Norrish <michael.norrish@data61.csiro.au>

Change "thm-names" (used in various places) to be Thy-Name record

This saves on pulling things apart and looking for dots and the like.
It changes the simpLib API (most significantly for the SSFRAG function
which builds simpset fragments).


# 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.


# 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.


# 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).


# 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.


# 1bb5dd5f 02-Aug-2012 Michael Norrish <michael.norrish@nicta.com.au>

Adjust (and reduce) interface to ThmSetData.

The change is to add an extra string parameter to the callback
function that the client provides. This is the name of the theory
which has stored the theorems. This change prompted the changes to
computeLib, IndDefLib and DefnBase.

The reduction was to remove the ThmSetData's new function, forcing
BasicProvers to use new_exporter. This was possible because of the
extra information provided to its call-back.

I also wrote some test-cases mimicking the original problem that
Magnus and Ramana had, and prettied the warning output.

This closes #73.


# f6cae76a 01-Aug-2012 Michael Norrish <michael.norrish@nicta.com.au>

Provide lookup functionality across all stored theorem sets.


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

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