lh-l4v/proof/capDL-api
Gerwin Klein 4c0b3dfe9d
capdDL-api: update to Isabelle2023 mapsto syntax
Signed-off-by: Gerwin Klein <gerwin.klein@proofcraft.systems>
2023-10-06 14:41:53 +11:00
..
API_DP.thy licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
Arch_DP.thy proof+autocorres: update for select_wp and alternative_wp 2023-08-09 16:42:01 +10:00
CNode_DP.thy proof+autocorres: update for select_wp and alternative_wp 2023-08-09 16:42:01 +10:00
IRQ_DP.thy proof+autocorres: update for select_wp and alternative_wp 2023-08-09 16:42:01 +10:00
Invocation_DP.thy capdDL-api: update to Isabelle2023 mapsto syntax 2023-10-06 14:41:53 +11:00
KHeap_DP.thy proof+autocorres: update for select_wp and alternative_wp 2023-08-09 16:42:01 +10:00
Kernel_DP.thy licenses: convert license tags to SPDX 2020-03-13 14:38:24 +08:00
ProofHelpers_DP.thy lib+spec+proof+autocorres: consistent Nondet filename prefix 2023-08-09 12:07:06 +10:00
README.md READMEs: use run_tests consistently in READMEs (#622) 2023-03-30 13:59:18 +11:00
RWHelper_DP.thy capDL-api: proof updates for Isabelle2020 2020-10-27 15:52:31 +10:00
Retype_DP.thy proof+autocorres: update for select_wp and alternative_wp 2023-08-09 16:42:01 +10:00
Sep_Tactic_Examples.thy lib + proof: Isabelle2020 Method.NO_CONTEXT_TACTIC rename 2020-10-27 15:52:31 +10:00
TCB_DP.thy proof+autocorres: update for select_wp and alternative_wp 2023-08-09 16:42:01 +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 for the ARM architecture from the l4v/ directory, run:

L4V_ARCH=ARM ./run_tests DSpecProofs

Important Theories

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