perl -0777 -pi -e "s/corres_split_nor([\w'-]*) *\[ *OF +_ +([^_][\w'-]+) +([\w'-]+)/corres_split_nor\1\[OF \2 _ \3/g" **/*.thy perl -0777 -pi -e 's/corres_split_nor([\w]?) *\[ *OF +_ +(?!_)/corres_split_nor\1\[OF /g' **/*.thy perl -0777 -pi -e 's/corres_split_eqr([\w]?) *\[ *OF +_ +(?!_)/corres_split_eqr\1\[OF /g' **/*.thy perl -0777 -pi -e 's/corres_split_mapr([\w]?) *\[ *OF +_ +(?!_)/corres_split_mapr\1\[OF /g' **/*.thy perl -0777 -pi -e 's/corres_split_noop_rhs([\w]?) *\[ *OF +_ +(?!_)/corres_split_noop_rhs\1\[OF /g' **/*.thy perl -0777 -pi -e 's/corres_split_dc([\w]?) *\[ *OF +_ +(?!_)/corres_split_dc\1\[OF /g' **/*.thy perl -0777 -pi -e 's/corres_split_handle([\w]?) *\[ *OF +_ +(?!_)/corres_split_handle\1\[OF /g' **/*.thy perl -0777 -pi -e 's/corres_split_catch([\w]?) *\[ *OF +_ +(?!_)/corres_split_catch\1\[OF /g' **/*.thy perl -0777 -pi -e "s/corres_split_eqr(\w?) *\[ *OF +([^\W_][\w'-]+) +([^\W_][\w'-]*)/corres_split_eqr\1\[OF \3 \2/g" **/*.thy perl -0777 -pi -e 's/corres_split_nor(\w?) *(.*)\)\n\s*prefer +2/corres_split_nor\1\2\)/g' **/*.thy Signed-off-by: Corey Lewis <corey.lewis@proofcraft.systems> |
||
---|---|---|
.. | ||
base | ||
Arch_DR.thy | ||
CNode_DR.thy | ||
Corres_D.thy | ||
Finalise_DR.thy | ||
Intent_DR.thy | ||
Interrupt_DR.thy | ||
Ipc_DR.thy | ||
KHeap_DR.thy | ||
Lemmas_D.thy | ||
MoreCorres.thy | ||
MoreHOL.thy | ||
README.md | ||
Refine_D.thy | ||
Schedule_DR.thy | ||
StateTranslationProofs_DR.thy | ||
StateTranslation_D.thy | ||
Syscall_DR.thy | ||
Tcb_DR.thy | ||
Untyped_DR.thy |
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
.