2014-07-28 01:59:57 +00:00
|
|
|
Abstract Spec Invariant Proof
|
|
|
|
=============================
|
2014-07-24 03:31:57 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
This proof defines and proves the global invariants of seL4's
|
|
|
|
[abstract specification](../../spec/abstract/). The invariants are
|
|
|
|
phrased and proved using a [monadic Hoare logic](../../lib/wp/NonDetMonad.thy)
|
|
|
|
described in a TPHOLS '08 [paper][1].
|
2014-07-24 03:31:57 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
[1]: http://nicta.com.au/pub?id=483 "Secure Microkernels, State Monads and Scalable Refinement"
|
2014-07-24 03:31:57 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
Building
|
|
|
|
--------
|
2014-07-24 03:31:57 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
To build from the `l4v/` directory, run:
|
2014-07-24 03:31:57 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
./isabelle/bin/isabelle build -d . -v -b AInvs
|
2014-07-24 03:31:57 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
Important Theories
|
|
|
|
------------------
|
2014-07-24 03:31:57 +00:00
|
|
|
|
2014-07-28 01:59:57 +00:00
|
|
|
The top-level theory where the invariants are proved over the kernel is
|
|
|
|
[`Syscall_AI`](Syscall_AI.thy); the bottom-level theory where they are
|
|
|
|
defined is [`Invariants_AI`](Invariants_AI.thy).
|
2014-07-24 03:31:57 +00:00
|
|
|
|