The congruence of two programming language definitions

Joseph E. Stoy
1981 Theoretical Computer Science  
In recent joint work with Jack Dennis, whiich has so tar appeared only as .I.?-. course notes [219 we halve described several metho& of formally defining the semantics of a programming language" using as an example a simple language designed for the purpose, called PL. The qluestion r~turally arose whether our various definitions were congruent, in the. sense that they defin, d the same language. In particular, one definition gave the denotutimcd semmtics, in the style of Scott alrd Strachey [
more » ... 2j, and snother defined the language using an interpreter, along livres si,milar to the use of VDL [6]. In this paper we present a proof of the congruence of these two definitions. We first give the two definitions, with a bare m:inimum of explanation : tiz referred to works like [2,13,16] for moire leisurely introductions to the will be seen that the interpreter manages the sequencing of its operations by means of s called continuations, while the denor:ational semantics has nothing corg to these. A denotational semantics btased on the use of continuations (as described by Strachey and Wadsworth [M]) would have a structure much closer to the interpreter's, and the proof of their congruence would be Gmplified. therefore find it convenient to split up our proof into two stages. In thl: first stage we introduce a new version of denotational semantics, using continuations, and prove that it is congruent with the original version. This roof is a st~~ct~ri~l i show that pairs of corresponding values arising in the two appropriate predicates. The existence of these. predicates will itse
doi:10.1016/0304-3975(81)90037-2 fatcat:ofwf77sejndi7fwwr525j5dp4i