Running Programs Backwards: The Logical Inversion of Imperative Computation

21Citations
Citations of this article
9Readers
Mendeley users who have this article in their library.

Abstract

Imperative programs can be inverted directly from their forward-directed program code with the use of logical inference. The relational semantics of imperative computations treats programs as logical relations over the observable state of the environment, which is taken to be the state of the variables in memory. Program relations denote both forward and backward computations, and the direction of the computation depends upon the instantiation pattern of arguments in the relation. This view of inversion has practical applications when the relational semantics is treated as a logic program. Depending on the logic programming inference scheme used, execution of this relational program can compute the inverse of the imperative program. A number of nontrivial imperative computations can be inverted with minimal logic programming tools.

Cite

CITATION STYLE

APA

Ross, B. J. (1997). Running Programs Backwards: The Logical Inversion of Imperative Computation. Formal Aspects of Computing, 9(3), 331–348. https://doi.org/10.1007/BF01211087

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free