Reversible Primitive Permutations (RPP) are recursively defined functions designed to model Reversible Computation. We illustrate a proof, fully developed with the proof-assistant Lean, certifying that: ``RPP can encode every Primitive Recursive Function''. Our reworking of the original proof of that statement is conceptually simpler, fixes some bugs, suggests a new more primitive reversible iteration scheme for RPP, and, in order to keep formalization and semi-automatic proofs simple, led us to identify a single pattern that can generate some useful reversible algorithms in RPP: Cantor Pairing, Quotient/Reminder of integer division, truncated Square Root. Our Lean source code is available for experiments on Reversible Computation whose properties can be certified.

Certifying Algorithms and Relevant Properties of Reversible Primitive Permutations with Lean

Luca Roversi
2022-01-01

Abstract

Reversible Primitive Permutations (RPP) are recursively defined functions designed to model Reversible Computation. We illustrate a proof, fully developed with the proof-assistant Lean, certifying that: ``RPP can encode every Primitive Recursive Function''. Our reworking of the original proof of that statement is conceptually simpler, fixes some bugs, suggests a new more primitive reversible iteration scheme for RPP, and, in order to keep formalization and semi-automatic proofs simple, led us to identify a single pattern that can generate some useful reversible algorithms in RPP: Cantor Pairing, Quotient/Reminder of integer division, truncated Square Root. Our Lean source code is available for experiments on Reversible Computation whose properties can be certified.
2022
14th International Conference on Reversible Computation (RC)
Urbino (Italia)
05/07/2022 - 06/07/2022
REVERSIBLE COMPUTATION - 14th International Conference RC2022 - Proceedings
Springer International Publishing
13354
111
127
978-3-031-09004-2
978-3-031-09005-9
https://arxiv.org/abs/2201.10443
https://link.springer.com/chapter/10.1007/978-3-031-09005-9_8
Reversible computation, Reversible Primitive Permutations, Software Certification, PRF-Completeness, Lean Theorem Prover
Giacomo Maletto; Luca Roversi
File in questo prodotto:
File Dimensione Formato  
220629-arxive-definitivo.pdf

Open Access dal 29/06/2023

Descrizione: Maletto Roversi RC22 Urbino
Tipo di file: POSTPRINT (VERSIONE FINALE DELL’AUTORE)
Dimensione 717.26 kB
Formato Adobe PDF
717.26 kB Adobe PDF Visualizza/Apri

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/2318/1867901
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact