Reversible Flowchart Languages and the Structured Reversible Program Theorem

  • Authors:
  • Tetsuo Yokoyama;Holger Bock Axelsen;Robert Glück

  • Affiliations:
  • NCES, Graduate School of Information Science, Nagoya University,;DIKU, Department of Computer Science, University of Copenhagen,;DIKU, Department of Computer Science, University of Copenhagen,

  • Venue:
  • ICALP '08 Proceedings of the 35th international colloquium on Automata, Languages and Programming, Part II
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many irreversible computation models have reversible counterparts, but these are poorly understood at present. We introduce reversible flowcharts with an assertion operator and show that any reversible flowchart can be simulated by a structured reversible flowchart using only three control flow operators. Reversible flowcharts are r- Turing-complete, meaning that they can simuluate reversible Turing machines without garbage data. We also demonstrate the injectivizationof classical flowcharts into reversible flowcharts. The reversible flowchart computation model provides a theoretical justification for low-level machine code for reversible microprocessors as well as high-level block-structured reversible languages. We give examples for both such languages and illustrate them with a lossless encoder for permutations given by Dijkstra.