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.
翻译:翻转原始变位( RPP) 是循环定义的功能, 用于模拟翻转计算 。 我们用证据协助者 Lean 充分开发的证明, 证明 : “ RPP 可以 编码每个原始累进函数 ” 。 我们对该语句的原始证明的重写在概念上比较简单, 修补了一些错误, 为 RPP 提出了一个新的更原始的可逆迭代方案, 为了保持正规化和半自动验证的简单化, 我们找到了一种单一模式, 可以在 RP 中生成一些有用的可逆算法 : Cantor Bairing, Qortententent/ reminder of nual division division, tracted Squal Rot 。 我们的 Lean 源代码可用于可验证其属性的可更新计算实验 。