lh-l4v/proof/drefine
Gerwin Klein ac632c5aaa Wait -> Recv: update proofs 2015-11-20 16:02:14 +11:00
..
Arch_DR.thy More minor adjustments. 2015-10-30 12:22:55 +11:00
CNode_DR.thy add arch_tcb object to C, rename aep -> ntfn 2015-11-20 16:02:13 +11:00
Corres_D.thy Fix Access, InfoFlow and DRefine. 2014-08-13 16:45:40 +10:00
Finalise_DR.thy add arch_tcb object to C, rename aep -> ntfn 2015-11-20 16:02:13 +11:00
Include_D.thy comment cleanup 2014-07-22 18:10:20 +02:00
Intent_DR.thy add arch_tcb object to C, rename aep -> ntfn 2015-11-20 16:02:13 +11:00
Interrupt_DR.thy add arch_tcb object to C, rename aep -> ntfn 2015-11-20 16:02:13 +11:00
Ipc_DR.thy Wait -> Recv: update proofs 2015-11-20 16:02:14 +11:00
KHeap_DR.thy add arch_tcb object to C, rename aep -> ntfn 2015-11-20 16:02:13 +11:00
Lemmas_D.thy Some more cleanup of drefine. 2014-07-23 15:29:20 +10:00
MoreCorres.thy 2015 update for DRefine 2015-05-13 09:52:32 +02:00
MoreHOL.thy Import release snapshot. 2014-07-14 21:32:44 +02:00
README.md misc: Proofing and formatting of README.md files. 2014-07-28 13:15:48 +10:00
Refine_D.thy 2015 update for DRefine 2015-05-13 09:52:32 +02:00
Schedule_DR.thy add arch_tcb object to C, rename aep -> ntfn 2015-11-20 16:02:13 +11:00
StateTranslationProofs_DR.thy add arch_tcb object to C, rename aep -> ntfn 2015-11-20 16:02:13 +11:00
StateTranslation_D.thy add arch_tcb object to C, rename aep -> ntfn 2015-11-20 16:02:13 +11:00
Syscall_DR.thy Wait -> Recv: update proofs 2015-11-20 16:02:14 +11:00
Tcb_DR.thy add arch_tcb object to C, rename aep -> ntfn 2015-11-20 16:02:13 +11:00
Untyped_DR.thy add arch_tcb object to C, rename aep -> ntfn 2015-11-20 16:02:13 +11:00

README.md

CapDL Refinement Proof

This proof establishes that seL4's abstract specification is a formal refinement (i.e. a correct implementation) of its capDL specification. It is described as part of an ICFEM '13 paper.

Building

To build from the l4v/ directory, run:

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

Important Theories

The top-level theory where the refinement statement is established over the entire kernel is Refine_D; the state-relation that relates the state-spaces of the two specifications is defined in StateTranslation_D and the basic correspondence property proved over each kernel function is defined in Corres_D.