2002
DOI: 10.1007/3-540-36377-7_13
|View full text |Cite
|
Sign up to set email alerts
|

Principles of Inverse Computation and the Universal Resolving Algorithm

Abstract: We survey fundamental concepts in inverse programming and present the Universal Resolving Algorithm (URA), an algorithm for inverse computation in a first-order, functional programming language. We discuss the principles behind the algorithm, including a three-step approach based on the notion of a perfect process tree, and demonstrate our implementation with several examples. We explain the idea of a semantics modifier for inverse computation which allows us to perform inverse computation in other programming… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
43
0

Year Published

2004
2004
2023
2023

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 35 publications
(43 citation statements)
references
References 44 publications
0
43
0
Order By: Relevance
“…Such work is only superficially similar to our work, since this alternative syntax is fixed while our is different for each application domain. Program inversion [1] attacks reversibility in a general context, but does not provide a solution to our particular problem.…”
Section: Related Workmentioning
confidence: 96%
“…Such work is only superficially similar to our work, since this alternative syntax is fixed while our is different for each application domain. Program inversion [1] attacks reversibility in a general context, but does not provide a solution to our particular problem.…”
Section: Related Workmentioning
confidence: 96%
“…Bennett provides an account [1] of early research on the subject. A full review of works on reversible computing, and the closely related subjects of program inversion (see, e.g., [39] and the references therein) and bidirectional transformation and languages (see, e.g., [40,41] and the references therein), is out of the scope of this paper but we can highlight works related to our three main contributions: (i) reversible languages and models, (ii) causal semantics and back and forth bisimulation, (iii) translating between reversible and irreversible computations.…”
Section: Related Workmentioning
confidence: 99%
“…In this case, treating them as language constructs with predefined inverses helps us to invert programs that contains them. For example, consider mulPrime(x 1 , x 2 ) that multiplies two primes x 1 …”
Section: Predefined Inverses As Axiomsmentioning
confidence: 99%
“…Abramov and Glück [1] categorized inversion methods into program inversion and inverse computation. Program inversion takes a program and returns an inverse program while inverse computation takes a program and an output and computes the corresponding input.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation