Formalization of Error-Correcting Codes: From Hamming to Modern Coding Theory
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.
- 3.Affeldt, R., Garrigue, J.: Formalization of error-correcting codes: from Hamming to modern coding theory. Coq scripts. https://staff.aist.go.jp/reynald.affeldt/ecc
- 8.Gonthier, G., Mahboubi, A., Tassi, E.: A small scale reflection extension for the Coq system. Technical report RR-6455, INRIA (2008). Version 14, March 2014Google Scholar
- 9.Hagiwara, M.: Coding theory: mathematics for digital communication. Nippon Hyoron Sha (2012) (in Japanese)Google Scholar