Inversion Framework: Reasoning about Inversion by Conditional Term Rewriting Systems

被引:2
作者
Kirkeby, Maja H. [1 ]
Gluck, Robert [2 ]
机构
[1] Roskilde Univ, Roskilde, Denmark
[2] Univ Copenhagen, Copenhagen, Denmark
来源
PROCEEDINGS OF THE 22ND INTERNATIONAL SYMPOSIUM ON PRINCIPLES AND PRACTICE OF DECLARATIVE PROGRAMMING, PPDP 2020 | 2020年
关键词
Conditional Term Rewriting Systems; Program Inversion; Correctness; Program Transformation; Declarative Languages; Functional Languages; Reversible Languages; Full/Partial/Semi-inversion; PROGRAM INVERTER; COMPUTATION;
D O I
10.1145/3414080.3414089
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We introduce a language-independent framework for reasoning about program inverters by conditional term rewriting systems. These systems can model the three fundamental forms of inversion, i.e., full, partial and semi-inversion, in declarative languages. The correctness of the generic inversion algorithm introduced in this contribution is proven for all well-behaved rule inverters, and we demonstrate that this class of inverters encompasses several of the inversion algorithms published throughout the past years. This new generic approach enables us to establish fundamental properties, e.g., orthogonality, for entire classes of well-behaved full inverters, partial inverters and semi-inverters regardless of their particular local rule inverters. We study known inverters as well as classes of inverters that yield left-to-right deterministic systems; left-to-right determinism is a desirable property, e.g., for functional programs; however, at the same time it is not generally a property of inverted systems. This generic approach enables a more systematic design of program inverters and fills a gap in our knowledge of program inversion.
引用
收藏
页数:14
相关论文
共 33 条
[21]  
Mogensen TAE, 2005, LECT NOTES COMPUT SC, V3676, P189
[22]  
Mogensen TA, 2007, LECT NOTES COMPUT SC, V4378, P322
[23]   Determinization of conditional term rewriting systems [J].
Nagashima, Masanori ;
Sakai, Masahiko ;
Sakabe, Toshiki .
THEORETICAL COMPUTER SCIENCE, 2012, 464 :72-89
[24]  
Nishida N, 2005, LECT NOTES COMPUT SC, V3467, P264
[25]   Reversible computation in term rewriting [J].
Nishida, Naoki ;
Palacios, Adrian ;
Vidal, German .
JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2018, 94 :128-149
[26]   Program Inversion for Tail Recursive Functions [J].
Nishida, Naoki ;
Vidal, German .
22ND INTERNATIONAL CONFERENCE ON REWRITING TECHNIQUES AND APPLICATIONS (RTA'11), 2011, 10 :283-298
[27]  
Nishida Naoki, 2004, Ph.D. Dissertation
[28]  
Ohlebusch E., 1999, Logic for Programming and Automated Reasoning. 6th International Conference, LPAR'99. Proceedings (Lecture Notes in Artificial Intelligence Vol.1705), P111
[29]  
Ohlebusch E., 2002, Advanced Topics in Term Rewriting
[30]  
ROMANENKO A, 1991, SIGPLAN NOTICES, V26, P12, DOI 10.1145/115866.115868