Statement inversion and strongest postcondition (Q1261493)

From MaRDI portal
scientific article
Language Label Description Also known as
English
Statement inversion and strongest postcondition
scientific article

    Statements

    Statement inversion and strongest postcondition (English)
    0 references
    0 references
    31 January 1994
    0 references
    The paper presents the notion of inverse commands for a language permitting both demonic and angelic nondeterminism as well as miracles and nontermination within the general framework of Dijkstra's weakest precondition calculus. By incorporating different types of nondeterminism into the calculus, it may be applied even to non-executable program constructs. Additionally, by the same token, arbitrary input-output specifications, data refinement and parallel programs can be treated within the extended calculus. An inverse command \(S^{-1}\) of a command \(S\) is defined as \(S^{-1}\); \(S\leq skip\leq S\); \(S^{-1}\) where \(\leq\) is the refinement relation. In brief, a program \(S-1\) is the (true) inverse of a program \(S\) if it computes the input \(S\), given the output. \(S\) is not invertible, it its input is not defined uniquely by its output. Angelic nondeterminism and miraculously terminating commands allow for the inversion of a program even though its input is not uniquely determined by its output. Firmly rooted in the total correctness framework of the refinement calculus, generalised inverses which exist for all conjunctive commands are defined for arbitrary commands of this kind. Eventually, rules are given for computing inverses that can be used to describe data refinement between commands.
    0 references
    inverse commands
    0 references
    demonic and angelic nondeterminism
    0 references
    weakest precondition
    0 references

    Identifiers