Issue No. 11 - November (1989 vol. 15)

ISSN: 0098-5589

pp: 1368-1381

DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/32.41330

ABSTRACT

<p>Because of the undecidability problem of program verification, it becomes necessary for an automated verifier to seek human assistance for proving theorems which fall beyond its capability. In order that the user be able to interact smoothly with the machine, it is desired that the theorems be maintained and processed by the prover in a form as close as possible to the popular algebraic notation. Motivated by the need of such an automated verifier, which works in an environment congenial to human participation and at the same time uses the methodologies of resolution provers of first-order logic, some inference rules have previously been proposed by the authors for integer arithmetic, and their completeness issues have been discussed. In the present work, the authors examine how these rules can be applied to quantified formulas vis-a-vis verification of programs involving arrays. An interesting situation, referred to as bound-extension, has been found to occur frequently in proving the quantified verification conditions of the paths in a program. A novel rule, called bound-extension rule, has been devised to consolidate and depict the various issues involved in a bound-extension process. It has been proved that the rule set proposed previously by the authors is adequate for handling a more general phenomenon, called bound-modification, which covers bound-extension in all its entirety.</p>

INDEX TERMS

inference rules; quantified formula handling; array handling; undecidability problem; program verification; automated verifier; first-order logic; integer arithmetic; quantified formulas; bound-extension rule; bound-modification; decidability; inference mechanisms; program verification; theorem proving

CITATION

D. Sarkar, S.C. De Sarkar, "A Set of Inference Rules for Quantified Formula Handling and Array Handling in Verification of Programs Over Integers",

*IEEE Transactions on Software Engineering*, vol. 15, no. , pp. 1368-1381, November 1989, doi:10.1109/32.41330