Formalization of Error-Correcting Codes: From Hamming to Modern Coding Theory
- Cite this paper as:
- Affeldt R., Garrigue J. (2015) Formalization of Error-Correcting Codes: From Hamming to Modern Coding Theory. In: Urban C., Zhang X. (eds) Interactive Theorem Proving. ITP 2015. Lecture Notes in Computer Science, vol 9236. Springer, Cham
By adding redundancy to transmitted data, error-correcting codes (ECCs) make it possible to communicate reliably over noisy channels. Minimizing redundancy and (de)coding time has driven much research, culminating with Low-Density Parity-Check (LDPC) codes. At first sight, ECCs may be considered as a trustful piece of computer systems because classical results are well-understood. But ECCs are also performance-critical so that new hardware calls for new implementations whose testing is always an issue. Moreover, research about ECCs is still flourishing with papers of ever-growing complexity. In order to provide means for implementers to perform verification and for researchers to firmly assess recent advances, we have been developing a formalization of ECCs using the SSReflect extension of the Coq proof-assistant. We report on the formalization of linear ECCs, duly illustrated with a theory about the celebrated Hamming codes and the verification of the sum-product algorithm for decoding LDPC codes.