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
Inglese
contributo
1 - Conferenza
14th International Conference on Reversible Computation (RC)
Urbino (Italia)
05/07/2022 - 06/07/2022
Internazionale
Giacomo Maletto, Luca Roversi
Claudio Antares Mezzina and Krzysztof Podlaski
REVERSIBLE COMPUTATION - 14th International Conference RC2022 - Proceedings
Esperti anonimi
Springer International Publishing
Switzerland AG 2022
SVIZZERA
13354
111
127
17
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
no
4 – prodotto già presente in altro archivio Open Access (arXiv, REPEC…)
2
info:eu-repo/semantics/conferenceObject
04-CONTRIBUTO IN ATTI DI CONVEGNO::04A-Conference paper in volume
Giacomo Maletto; Luca Roversi
273
open
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 2
  • ???jsp.display-item.citation.isi??? 1
social impact