A simple axiomatic basis for programming language constructs

The sementics of a program can be defined in terms of a predicate trensfermer associating with any post-condition (characterizing a set of fiMal states) the corresponding weekest pre-condition (cha~acterizing a set of ini tial states). The sementics of a programming language cah be defined by rega~ding a program text as a prescription for constructing its cor~esponding predicate transformer. lts conceptual simplicity, the modest amount ·Of rnathematics needed and its constructive nature seem to be its outstanding virtues. In camparisen with. alternative approaches it should be remarked, firstly, that all nonterminating computations are r~garded as eq~ivalent · and, secandly, that a program construct like the gata-statement falls outside its scope; the latter characteristic, however, does nat strike the author as a shortcoming, on the contrary, it confirms him in one of his prejudices!