Abstract. 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.
Other approaches to PCC use logic-based verification methods as enabling technology, an example is REF which formalises a simple assembly language with procedures and presents a safety policy for arithmetic overflow in Isabelle/HOL.
Certifying machine code safety: Shallow versus deep embedding
IN TPHOLS, NUMBER 3223 IN LNCS
Computer Science