lh-l4v/proof/capDL-api
Michael Sproul c44fd87594 capdl: remove redundant definition `opt_object`
A lot of the proofs in SysInit and DRefine previously had to unfold opt_object,
which was really just an alias for cdl_objects with the arguments in the
opposite order! This commit deletes opt_object in favour of using cdl_objects
directly, which should slightly reduce the burden of unfolding.
2019-02-28 14:34:01 +11:00
..
API_DP.thy Add a top-level file for the capDL API proofs. 2014-07-24 19:56:24 +10:00
Arch_DP.thy Removes all trailing whitespaces 2017-07-12 15:13:51 +10:00
CNode_DP.thy capDL-api, sys-init: fix for GrantReply (SELFOUR-6) 2018-12-11 14:54:42 +11:00
IRQ_DP.thy Many proof repairs. 2018-03-16 14:57:51 +11:00
Invocation_DP.thy capdl: remove redundant definition `opt_object` 2019-02-28 14:34:01 +11:00
KHeap_DP.thy capdl: remove redundant definition `opt_object` 2019-02-28 14:34:01 +11:00
Kernel_DP.thy globally use session-qualified imports; add Lib session 2018-08-20 09:06:34 +10:00
ProofHelpers_DP.thy Base ASpec + machine on OptionMonad_ND; fix proof fallout 2018-10-25 12:54:02 +11:00
README.md misc: Proofing and formatting of README.md files. 2014-07-28 13:15:48 +10:00
RWHelper_DP.thy Isabelle2018: DSpecProofs 2018-08-20 09:06:37 +10:00
Retype_DP.thy capdl: remove redundant definition `opt_object` 2019-02-28 14:34:01 +11:00
Sep_Tactic_Examples.thy globally use session-qualified imports; add Lib session 2018-08-20 09:06:34 +10:00
TCB_DP.thy lib+sysinit: add extended separation algebra and forward reasoning tactics 2018-09-18 12:01:52 +10:00

README.md

CapDL API Proofs

This proof develops a formal API description for a number of the seL4 system calls, of the capDL kernel specification. This API description is a set of lemmas describing the behaviour of various system calls in terms of a separation logic defined over that kernel specification.

When reasoning about system calls this proof treats the kernel like a library invoked directly from user-space and does not reason about scheduling. These proofs are used by the system initialiser proof, as described in the ICFEM '13 paper and Andrew Boyton's PhD thesis.

Building

To build from the l4v/ directory, run:

./isabelle/bin/isabelle build -d . -v -b DSpecProofs

Important Theories

The top-level theory is API_DP. The seL4 API and kernel model are located in Kernel_DP.