Coinductive big-step operational semantics for type soundness of Java-like languages

Davide Ancona
2011 Proceedings of the 13th Workshop on Formal Techniues for Java-Like Programs - FTfJP '11  
We define a coinductive semantics for a simple Java-like language by simply interpreting coinductively the rules of a standard big-step operational semantics. We prove that such a semantics is sound w.r.t. the usual small-step operational semantics, and then prove soundness of a conventional nominal type system w.r.t. the coinductive semantics. From these two results, soundness of the type system w.r.t. the small-step semantics can be easily deduced. This new proposed approach not only opens up
more » ... new possibilities for proving type soundness, but also provides useful insights on the connection between coinductive big-step operational semantics and type systems.
doi:10.1145/2076674.2076679 dblp:conf/ecoop/Ancona11 fatcat:2v5n5wmxlfdhvptssuj4vto45u