Separate computational and proof representations in verified algorithm formalization

Determine whether using entirely separate representations for computation and proof, together with a proof that the representations are equivalent, would simplify the formalization of the Misra and Gries edge-coloring algorithm, particularly by enabling the use of Mathlib definitions and reducing proof complexity.

Background

The verified Lean 4 implementation prioritizes computational efficiency by representing mathematical objects with lists, arrays, and other Lean core data types rather than relying directly on abstract Mathlib data types. This choice preserves the polynomial-time behavior of the Misra and Gries edge-coloring algorithm but makes formal proofs more technically difficult, especially when translating between computational representations and mathematically convenient viewpoints.

The paper identifies a possible alternative architecture: use one representation optimized for computation and another optimized for proof, then formally establish their equivalence. The author suspects that this could simplify proofs, particularly if Mathlib definitions were used for the proof-oriented representation, but the paper does not investigate or resolve whether the resulting translation obligations would outweigh those benefits.

References

These considerations raise the question of whether it would be easier to use entirely separate representations for computation and for proof, and then show that they are equivalent.

A verified implementation of the Misra and Gries edge coloring algorithm  (2512.13999 - Bhoja, 16 Dec 2025) in Conclusion