History log of /seL4-l4v-10.1.1/HOL4/src/patricia/sptreeScript.sml
Revision Date Author Comments
# 06df0838 20-Oct-2018 Magnus Myreen <magnus.myreen@cl.cam.ac.uk>

Add fold to sptree and a few lemmas about size


# 9824ed66 16-Apr-2018 Magnus Myreen <magnus.myreen@cl.cam.ac.uk>

Add a few lemmas to sptreeTheory


# 2f62f2aa 05-Sep-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Remove Unicode from last commit to sptreeScript.sml


# 2f1a4646 05-Sep-2017 Ramana Kumar <ramana@member.fsf.org>

Prove lookup and domain theorems for mapi


# a0f69174 04-Sep-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Define a mapi constant for sptrees. Prove next to nothing about it


# 5f5fe834 16-Aug-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Add theorem about size (insert k v m) to sptreeTheory


# 55622e44 24-Apr-2017 Michael Norrish <Michael.Norrish@nicta.com.au>

Get core HOL to build with new definition of "by"

Progress with github issue #407


# 0f3ea0ab 05-Mar-2017 Magnus Myreen <magnus.myreen@cl.cam.ac.uk>

Prove that sptree insert commutes


# 897dc9c2 28-Feb-2017 Magnus Myreen <magnus.myreen@cl.cam.ac.uk>

Provide CakeML-translator-friendly version of subspt

The new definition is stored in a theorem called
sptreeTheory.subspt_eq. The old definition, i.e.
sptreeTheory.subspt_def, is proved as a lemma from
the new recursive translator-friendly definition.

Use the new definition when applying the translator:

val res = translate sptreeTheory.subspt_eq;

This is in response to a request from @HeikoBecker.


# a2c7a9a2 10-Nov-2016 Andreas Lööw <AndreasLoow@users.noreply.github.com>

Add filter_v for sptree


# 7a31d542 18-Jul-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Define submap rel'n on sptrees (and show as p.o.)

Material from CakeML.


# e6245e30 04-May-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

Add new automatic rewrites to arithmetic

Also make EQ_MULT_LCANCEL automatic.

The new rewrites are

MAX m n = 0 <=> m = 0 /\ n = 0
MIN m n = 0 <=> m = 0 \/ n = 0

and EQ_MULT_RCANCEL

All seem worth making automatic. Changes elsewhere are fixing
breakages.


# aa23933d 29-Jan-2016 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Opening lcsymtacs is no longer necessary.


# 84cc1436 13-Jan-2016 Michael Norrish <Michael.Norrish@nicta.com.au>

All l/case short simp tacs use LET_ss + ARITH_ss

This means that fs and rfs pick up LET_ss and ARITH_ss, making them
indistinguishable from the 'l' versions.


# b59bb206 06-Dec-2015 Yong Kiam <tanyongkiam@gmail.com>

Add 3 sptree theorems


# fda6dec3 20-Oct-2015 Michael Norrish <Michael.Norrish@nicta.com.au>

Clean src/ to remove Unicode (or to mark it as OK)

Marking Unicode as OK is done by putting the UOK tag on the same line of
the relevant file.


# 3b773908 14-Aug-2015 Ramana Kumar <ramana@member.fsf.org>

some sptree theorems

from CakeML


# 65aec315 18-May-2015 Ramana Kumar <ramana@member.fsf.org>

define a map function on sptrees

plus a few simple properties


# d64d43d5 11-Feb-2015 Magnus Myreen <magnus.myreen@cl.cam.ac.uk>

gave lrnext a better def w.r.t. CakeML translator


# 7db6a7cc 14-Jan-2015 Ramana Kumar <ramana@member.fsf.org>

prove MEM_toList for sptrees

The tactic used resists the obvious simplifications.
I don't know why sometimes (t1 >> t2) doesn't work whereas (t1 >- t2 >- t2) does.


# 92317114 08-Jan-2015 Michael Norrish <michael.norrish@nicta.com.au>

Change API of Q's MATCH...RENAME_TACs.

Now rather than a string list hanging off the end specifying which
variable bindings aren't supposed to induce a renaming, just put
underscores into the pattern in those positions.

Documentation and release notes updated.


# 2a779459 07-Jan-2015 Ramana Kumar <ramana@member.fsf.org>

prove the keys of toAList of an sptree are ALL_DISTINCT


# eb627e31 06-Jan-2015 Ramana Kumar <ramana@member.fsf.org>

prove relationship between foldi and FOLDR

This means you can prove something about a fold over sptrees by doing a
list proof on the toAList of the tree, rather than messing with the
sptree's structure. (But still do the fold directly on the tree when you
execute it.)


# 4231285f 14-Oct-2014 Anthony Fox <anthony.fox@cl.cam.ac.uk>

Compute sptree domain via domain_foldi.

Also add a Lib file, which contains some conversions.


# 5e0fb3ec 01-Sep-2014 Yong Kiam <tanyongkiam@gmail.com>

Add fromAList to sptreeTheory

Also proved some lemmas about its relation to toAList


# 6603b605 31-Jul-2014 Magnus Myreen <magnus.myreen@cl.cam.ac.uk>

added inter_eq, difference and toAList to sptreeTheory


# d762b407 18-Jun-2014 Magnus Myreen <magnus.myreen@cl.cam.ac.uk>

Fixed broken proof

Thanks to Ramana for spotting this.


# b2e82bf3 18-Jun-2014 Magnus Myreen <magnus.myreen@cl.cam.ac.uk>

inter eq same as lookup eq for sptrees


# d2c8a0b9 18-Jun-2014 Magnus Myreen <magnus.myreen@cl.cam.ac.uk>

statement of wf_inter improved


# fb405668 05-Jun-2014 Magnus Myreen <magnus.myreen@cl.cam.ac.uk>

mk_wf defined, rewrites for mk_wf


# 64df6f47 20-May-2014 Magnus Myreen <magnus.myreen@cl.cam.ac.uk>

fix typo in previous commit... oops


# 71611550 20-May-2014 Magnus Myreen <magnus.myreen@cl.cam.ac.uk>

added inter(section) to sptree, also minor clean up


# f13e5e72 05-May-2014 Michael Norrish <michael.norrish@nicta.com.au>

Some tidying in sptreeTheory.

- prove complete characterisation of lookup k (insert k' v t)
- get quicker proofs of domain_insert
- show domain (fromList l) and lookup k (fromList l) results


# 27c44295 03-May-2014 Ramana Kumar <ramana@member.fsf.org>

theorem characterising equality of wf sptrees


# e8308fa9 03-May-2014 Ramana Kumar <ramana@member.fsf.org>

some theorems about isEmpty and toList on sptrees


# 04851f86 02-May-2014 Ramana Kumar <ramana@member.fsf.org>

add domain_insert and domain_sing as automatic rewrites


# 6a17608f 02-May-2014 Ramana Kumar <ramana@member.fsf.org>

some theorems about domain and insert on sptrees


# ce14206a 08-Apr-2014 Michael Norrish <michael.norrish@nicta.com.au>

New sptree theorem about domain of union.


# 0ddaa4ab 07-Apr-2014 Michael Norrish <michael.norrish@nicta.com.au>

Additions to simple patricia tree theory.

* should now EVAL in good time
* union proved correct
* fold characterised a bit
* domain defined


# d69c3be2 04-Apr-2014 Michael Norrish <Michael.Norrish@nicta.com.au>

Fix insert, delete and naming on functions for sptrees.

Also added fold.


# ad81db8c 03-Apr-2014 Michael Norrish <Michael.Norrish@nicta.com.au>

A simple-minded "one bit at a time" patricia-tree-like data structure.