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