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.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.