2003
DOI: 10.1007/978-3-540-40018-9_17
|View full text |Cite
|
Sign up to set email alerts
|

A Program Inverter for a Functional Language with Equality and Constructors

Abstract: Abstract. We present a method for automatic program inversion in a first-order functional programming language. We formalize the transformation and illustrate it with several examples including the automatic derivation of a program for run-length decoding from a program for runlength encoding. This derivation is not possible with other automatic program inversion methods. One of our key observations is that the duplication of values and testing of their equality are two sides of the same coin in program invers… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
22
0

Year Published

2013
2013
2024
2024

Publication Types

Select...
7
2

Relationship

2
7

Authors

Journals

citations
Cited by 33 publications
(22 citation statements)
references
References 19 publications
(23 reference statements)
0
22
0
Order By: Relevance
“…The above shows that it is an example of local (peephole) program inversion [13]. Note that the transformation only works as a program inverter under the function semantics, and not under language recognition.…”
Section: Then T −1 Is An Rtm That Computes the Inverse Function Of [[mentioning
confidence: 94%
“…The above shows that it is an example of local (peephole) program inversion [13]. Note that the transformation only works as a program inverter under the function semantics, and not under language recognition.…”
Section: Then T −1 Is An Rtm That Computes the Inverse Function Of [[mentioning
confidence: 94%
“…Provided that X and Y are false, the execution of C is repeated. The † A version of the duplication/equality operator [12].…”
Section: Semanticsmentioning
confidence: 99%
“…In this work, we focus on the so called deterministic conditional rewrite systems (DCTRSs), which are typical functional programs with local declarations [23]. When the rewrite systems are automatically generated (e.g., by program inversion [2,14,15,17,22,27,26,28] or partial evaluation [1,7,8,35]), they often have a poor syntactic structure that might hide some properties. For instance, the rewriting systems generated by program inversion sometimes have overlapping left-hand sides despite the fact that they actually have the unique normal form property w.r.t.…”
Section: Introductionmentioning
confidence: 99%