Certifying Machine Code Safety: Shallow Versus Deep Embedding [chapter]

Martin Wildmoser, Tobias Nipkow
2004 Lecture Notes in Computer Science  
We formalise a simple assembly language with procedures and a safety policy for arithmetic overflow in Isabelle/HOL. To verify individual programs we use a safety logic. Such a logic can be realised in Isabelle/HOL either as shallow or deep embedding. In a shallow embedding logical formulas are written as HOL predicates, whereas a deep embedding models formulas as a datatype. This paper presents and discusses both variants pointing out their specific strengths and weaknesses.
doi:10.1007/978-3-540-30142-4_22 fatcat:tbmutrduovbfpc7w6f5mlgvlye