Programming Language Constructs for Which It Is Impossible To Obtain Good Hoare Axiom Systems

Edmund Melson Clarke
1979 Journal of the ACM  
Hoare axiom systems for establishing partial correctness of programs may fail to be complete because of (a) incompleteness of the assertion language relative to the underlying interpretation or (b) inability of the assertion language to express the mvanants of loops Cook has shown that if there IS a complete proof system for the assertion language (l e all true formulas of the assertion language) and if the assertion language satisfies a natural expresstbthty condition then a sound and complete
more » ... axiom system for a large subset of Algol may be devised We exhibit programming language constructs for which it ms impossible to obtain sound and complete sets of Hoare axioms even in this special sense of Cook's These constructs include (0 recursive procedures with procedure parameters in a programming language which uses static scope of ldenufiers and (u) coroutmes in a language which allows parameterless recurslve procedures Modifications of these constructs for which sound and complete systems of axioms may be obtained are also discussed KEY WORDS AND PHRASES Hoare axioms, soundness, relative completeness, procedure parameters, coroutlnes CR CATEGORIES 4 29, 5 24, 5 27
doi:10.1145/322108.322121 fatcat:ffyhp2ky3bc3jbwn6e2debkigq