History log of /seL4-l4v-master/HOL4/src/1/TypeBasePure.sig
Revision Date Author Comments
# 2d8bef7a 18-Nov-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Improve TypeBase API for reporting on record fields

Datatype code now bypasses treatment of "big records". This stuff can
all be deleted and I will be happy to see it go as it is horrifically
complicated, and usually only serves to confuse users.

Thanks to a CakeML Slack discussion for the push to make the API
change.


# 72731872 25-Jul-2019 Michael Norrish <Michael.Norrish@nicta.com.au>

Update TypeBase to allow updating of induction & axiom theorems

These changes persist (are exported to theory files).


# 1795b9e9 07-Jun-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Implement easier API entrypoints to get at case_eq theorems

Closes #345


# 208bfeaf 16-Apr-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Generate "standard" datatype simpl rewrites as tyinfos are loaded

This saves us from having to write them out to disk, which can make
for unnecessarily large theory.dat files.


# 1e0d2028 11-Apr-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Re-implement Datatype package with TypeBase sexps (not adjoin)


# 3ffd27c6 08-Apr-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Implement code to convert tyinfo's to and from ThyDataSexp.t

Format is rather "wordier" than necessary, but the extra (redundant)
field names should be helpful for debugging.


# c7b36e85 15-Mar-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Up to hol.state0


# 0b018443 11-Dec-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Rename TypeBase entrypoints for caseeqsplit and friends

Now use case_eq everywhere.

Work on github issue #345


# 962f50c1 29-Nov-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Automatically prove "case-eqsplit" theorems and store in TypeBase

For :num, this theorem looks like

(num_CASE n zc sc = v) <=>
(n = 0) ∧ (zc = v) ∨ ∃x. (n = SUC x) ∧ (sc x = v)

Such theorems can be powerful rewrites when (large) case-expressions
are asserted to be equal to some value or other.

These theorems have to be installed somewhat by hand for early types,
but from list onwards, the Datatype package handles this. This work
leverages earlier work done implementing prove_case_eq_thm (8f16922426).

Take the opportunity to rework TypeBasePure's code to use
FunctionalRecordUpdate.

This is progress with github issue #345.


# 79e670ac 20-Nov-2012 Michael Norrish <michael.norrish@nicta.com.au>

Provide toPmatchThry entry-point in TypeBasePure.

This converts from a full-blown TypeBase value into a “thry” as
required by the Pmatch module. The “thry” type is simply a lookup
function that returns case-constant and constructor information for a
given type.


# 5b587535 26-Jun-2012 Konrad Slind <konrad.slind@gmail.com>

Allow "non-datatypes" in TypeBase to have optional induction thm.

Provide appropriate values for this field for finite sets, strings,
integers, finite maps and words.


# 6cac8296 07-Mar-2011 Konrad Slind <konrad.slind@gmail.com>

Addition of destructors and recognizers for datatypes.
So far, I've just got basic support put in.

Some other trivial mods as well.


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

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