Abstract
Inversion is an important and useful program transformation and has been studied in various programming language paradigms. Semi-inversion is more general than just swapping the input and output of a program; instead, parts of the input and output can be freely swapped. In this paper, we present a polyvariant semi-inversion algorithm for conditional constructor term rewriting systems. These systems can model logic and functional languages, which have the advantage that semi-inversion, as well as partial and full inversion, can be studied across different programming paradigms. The semi-inverter makes use of local inversion and a simple but effective heuristic and is proven to be correct. A Prolog implementation is applied to several problems, including inversion of a simple encrypter and of a program inverter for a reversible language.
Originalsprog | Engelsk |
---|---|
Titel | Logic-Based Program Synthesis and Transformation - 29th International Symposium, LOPSTR 2019, Revised Selected Papers : 29th International Symposium, LOPSTR 2019, Porto, Portugal, October 8–10, 2019, Revised Selected Papers |
Redaktører | Maurizio Gabbrielli |
Antal sider | 17 |
Udgivelsessted | Cham |
Forlag | Springer |
Publikationsdato | 1 apr. 2020 |
Sider | 243-259 |
ISBN (Trykt) | 978-3-030-45259-9 |
ISBN (Elektronisk) | 978-3-030-45260-5 |
DOI | |
Status | Udgivet - 1 apr. 2020 |
Begivenhed | 29th International Symposium Logic-Based Program Synthesis and Transformation - Porto, Portugal Varighed: 8 okt. 2019 → 10 okt. 2019 Konferencens nummer: 29 http://www.cs.unibo.it/projects/lopstr19/ |
Konference
Konference | 29th International Symposium Logic-Based Program Synthesis and Transformation |
---|---|
Nummer | 29 |
Land/Område | Portugal |
By | Porto |
Periode | 08/10/2019 → 10/10/2019 |
Internetadresse |
Navn | Lecture Notes in Computer Science |
---|---|
Nummer | 12042 |
ISSN | 0302-9743 |
Navn | Theoretical Computer Science and General Issues |
---|---|
Nummer | 12042 |