TL;DR: It is shown that the class of programs possessing a total well-founded model properly includes previously studied classes of "stratified" and "locally stratified" programs, and is compared with other proposals in the literature.
Abstract: A general logic program (abbreviated to "program" hereafter) is a set of roles that have both positive and negative subgoals. It is common to view a deductive database as a general logic program consisting of rules (IDB) slttmg above elementary relations (EDB, facts). It is desirable to associate one Herbrand model with a program and think of that model as the "meaning of the program, " or Its "declarative semantics. " Ideally, queries directed to the program would be answered in accordance with this model. Recent research indicates that some programs do not have a "satisfactory" total model; for such programs, the question of an appropriate partial model arises. Unfounded sets and well-founded partial models are introduced and the well-founded semantics of a program are defined to be its well-founded partial model. If the well-founded partial model is m fact a total model. it is called the well-founded model. It n shown that the class of programs possessing a total well-founded model properly includes previously studied classes of "stratified" and "locally stratified" programs, The method in this paper is also compared with other proposals in the literature, including Clark's "program completion, " Fitting's and Kunen's 3-vahred interpretations of it, and the "stable models" of Gelfond and Lifschitz.
TL;DR: Using the axiomatic basis the completeness of two variants of integer multiplication program is proved and results show that computer programs can actually be verified sufficiently for correctness without necessarily testing them, or more practically put, to complement their testing.
Abstract: This paper considers a formal method, known as axiomatic semantics, used to prove the correctness of a computer program. This formal method extracts, using some proof rules, the mathematical verification conditions from a computer program. The axioms of program flow, including, sequential flow, iteration, and alternation flows are presented. Using the axiomatic basis the completeness of two variants of integer multiplication program is proved. Results show that computer programs can actually be verified sufficiently for correctness without necessarily testing them, or more practically put, to complement their testing.
TL;DR: Hoare's deductive system for proving partial correctness of sequential programs is extended to include the parallelism described by the language, and the proof method lends insight into how one should understand and present parallel programs.
Abstract: A language for parallel programming, with a primitive construct for synchronization and mutual exclusion, is presented. Hoare's deductive system for proving partial correctness of sequential programs is extended to include the parallelism described by the language. The proof method lends insight into how one should understand and present parallel programs. Examples are given using several of the standard problems in the literature. Methods for proving termination and the absence of deadlock are also given.
TL;DR: A more powerful deductive system which is in some sense complete for partial correctness is defined, which provides for the use of auxiliary variables, which are added to a parallel program as an aid to proving it correct.
Abstract: An axiomatic method for proving a number of properties of parallel programs is presented Hoare has given a set of axioms for partial correctness, but they are not strong enough in most cases This paper defines a more powerful deductive system which is in some sense complete for partial correctness A crucial axiom provides for the use of auxiliary variables, which are added to a parallel program as an aid to proving it correct The information in a partial correctness proof can be used to prove such properties as mutual exclusion, freedom from deadlock, and program termination Techniques for verifying these properties are presented and illustrated by application to the dining philosophers problem