History log of /seL4-l4v-10.1.1/HOL4/src/1/TypeBase.sig
Revision Date Author Comments
# 1795b9e9 07-Jun-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Implement easier API entrypoints to get at case_eq theorems

Closes #345


# e9162b73 09-Apr-2018 Michael Norrish <Michael.Norrish@nicta.com.au>

Implement code to load/save tyinfos into/out-of TypeBase's database


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


# be58d73a 15-Feb-2013 Thomas Tuerk <tt291@cl.cam.ac.uk>

execute several heuristics for pattern-matching and choose the best result
interface of pattern matching simplified


# 7cc76829 08-Feb-2013 Thomas Tuerk <tt291@cl.cam.ac.uk>

started with writing more complex pattern match heuristics


# 5f460cae 22-Nov-2012 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Avoid clunky call mechanism for mk_pattern_fn.


# 5f7d3df2 05-Oct-2011 Konrad Slind <konrad.slind@gmail.com>

Uncovered simple support in TypeBase. Also refined the notion
of "subterm" in the guesser for termination relations in Define.
Now x.fld is a subterm of record term x, which should automate
termination of simple recursions through record fields.


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