Reversible Programs Have Reversible Semantics

被引:7
作者
Gluck, Robert [1 ]
Kaarsgaard, Robin [1 ]
Yokoyama, Tetsuo [2 ]
机构
[1] Univ Copenhagen, DIKU, Dept Comp Sci, Copenhagen, Denmark
[2] Nanzan Univ, Dept Software Engn, Nagoya, Aichi, Japan
来源
FORMAL METHODS. FM 2019 INTERNATIONAL WORKSHOPS, PT II | 2020年 / 12233卷
关键词
CELLULAR-AUTOMATA; CATEGORIES;
D O I
10.1007/978-3-030-54997-8_26
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
During the past decade, reversible programming languages have been formalized using various established semantic frameworks. However, these semantics fail to effectively specify the distinct properties of reversible languages at the metalevel, and even neglect the central question of whether the defined language is reversible. In this paper, we build on a metalanguage foundation for reversible languages based on the category of sets and partial injective functions. We exemplify our approach through step-by-step development of the full semantics of an r-Turing complete reversible while-language with recursive procedures. This yields a formalization of the semantics in which the reversibility of the language and its inverse semantics are immediate, as well as the inversion of programs written in the language. We further discuss applications and future research directions for reversible semantics.
引用
收藏
页码:413 / 427
页数:15
相关论文
共 22 条
[1]  
Axelsen HB, 2007, LECT NOTES COMPUT SC, V4649, P56
[2]   Restriction categories III: colimits, partial limits and extensivity [J].
Cockett, Robin ;
Lack, Stephen .
MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE, 2007, 17 (04) :775-817
[3]  
Frank M.P., 1999, Reversibility for efficient computing
[4]  
Giles B., 2014, Ph.D. thesis
[5]   Revisiting an automatic program inverter for lisp [J].
Glück, R ;
Kawabe, M .
ACM SIGPLAN NOTICES, 2005, 40 (05) :8-17
[6]   Constructing a binary tree from its traversals by reversible recursion and iteration [J].
Gluck, Robert ;
Yokoyama, Tetsuo .
INFORMATION PROCESSING LETTERS, 2019, 147 :32-37
[7]   A CATEGORICAL FOUNDATION FOR STRUCTURED REVERSIBLE FLOWCHART LANGUAGES: SOUNDNESS AND ADEQUACY [J].
Gluck, Robert ;
Kaarsgaard, Robin .
LOGICAL METHODS IN COMPUTER SCIENCE, 2018, 14 (03)
[8]   A Minimalist's Reversible While Language [J].
Gluck, Robert ;
Yokoyama, Tetsuo .
IEICE TRANSACTIONS ON INFORMATION AND SYSTEMS, 2017, E100D (05) :1026-1034
[9]  
Haghverdi E., 2000, A categorical approach to linear logic, geometry of proofs and full completeness
[10]   Reversing Parallel Programs with Blocks and Procedures [J].
Hoey, James ;
Ulidowski, Irek ;
Yuen, Shoji .
ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2018, (276) :69-86