Proving total correctness of recursive procedures (Q913478): Difference between revisions

From MaRDI portal
Import240304020342 (talk | contribs)
Set profile property.
ReferenceBot (talk | contribs)
Changed an Item
 
Property / cites work
 
Property / cites work: Ten Years of Hoare's Logic: A Survey—Part I / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q3899466 / rank
 
Normal rank
Property / cites work
 
Property / cites work: First-order dynamic logic / rank
 
Normal rank
Property / cites work
 
Property / cites work: An axiomatic basis for computer programming / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q4134897 / rank
 
Normal rank
Property / cites work
 
Property / cites work: Q4039815 / rank
 
Normal rank

Latest revision as of 15:45, 20 June 2024

scientific article
Language Label Description Also known as
English
Proving total correctness of recursive procedures
scientific article

    Statements

    Proving total correctness of recursive procedures (English)
    0 references
    0 references
    0 references
    1990
    0 references
    Research in formalisation of program correctness has come up with various programming logics, e.g. Hoare logic, dynamic logic and temporal logic. These logics have been conceived to prove partial/total correctness of programs. To achieve this goal a proof system, i.e. a set of axioms along with some deduction rules, is to set up to reason about total correctness. A proof system being a formal logic system is considered feasible, if it is both sound and complete. Soundness guarantees that the proof system really describes the program in question; completeness entails that only valid correctness formulas can be derived. There are several proof systems that fail to observe either soundness of completeness when applied to prove total correctness of recursive procedures. The authors point out that the rules for this proof interact with rules set up to formalise invariance properties of ordinary procedure calls. They develop a proof system to separate the interpretations of these two program constructs and show that both sound- and completeness emerge quite naturally. The methods are first applied to a Hoare-style proof system, but are in turn used to modify a proof system based on dynamic logic to yield the same results. Their proof systems give way to simpler rules for recursive procedures without artificial extension to the programming language examined.
    0 references
    0 references
    program correctness
    0 references
    Hoare logic
    0 references
    proof system
    0 references
    recursive procedures
    0 references