Java `ight is a large sequential sublanguage of Java. We formalize its abstract syntax, type system, well-formedness conditions, and an operational evaluation semantics. Based on this formalization, we can express and prove type soundness. All definitions and proofs have been done formally in the theorem prover Isabelle/HOL. Thus this paper demonstrates that machine-checking the design of non-trivial programming languages has become a reality. 1 Introduction Java `ight is a large subset of the sequential part of Java . This paper presents its formalization and a proof of type soundness --- specified and verified in the theorem prover Isabelle/HOL . In the sequel, `Java `ight ' is abbreviated to `Bali'. On the face of it, this paper is mostly about Bali, its abstract syntax, type system, well-formedness conditions, and operational semantics, formalized as a hierarchy of Isabelle theories, and the structure of the machine-checked proof of type soundness. Although these technica...
user correction - Legacy Corrections
In Proc. 25th ACM Symp. Principles of Programming Languages