International Conference on Interactive Theorem Proving

ITP 2015: Interactive Theorem Proving pp 17-33 | Cite as

Formalization of Error-Correcting Codes: From Hamming to Modern Coding Theory

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9236)


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.


  1. 1.
    Affeldt, R., Nowak, D., Yamada, K.: Certifying assembly with formal security proofs: the case of BBS. Sci. Comput. Program. 77(10–11), 1058–1074 (2012)CrossRefMATHGoogle Scholar
  2. 2.
    Affeldt, R., Hagiwara, M., Sénizergues, J.: Formalization of Shannon’s theorems. J. Autom. Reason. 53(1), 63–103 (2014)CrossRefGoogle Scholar
  3. 3.
    Affeldt, R., Garrigue, J.: Formalization of error-correcting codes: from Hamming to modern coding theory. Coq scripts.
  4. 4.
    Ballarin, C., Paulson, L.C.: A pragmatic approach to extending provers by computer algebra–with applications to coding theory. Fundamenta Informaticae 34(1–2), 1–20 (1999)MathSciNetGoogle Scholar
  5. 5.
    Betten, A., Braun, M., Fripertinger, H., Kerber, A., Kohnert, A., Wassermann, A.: Error-Correcting Linear Codes-Classification by Isometry and Applications. Springer, Heidelberg (2006)MATHGoogle Scholar
  6. 6.
    Dénès, M., Mörtberg, A., Siles, V.: A refinement-based approach to computational algebra in Coq. In: Beringer, L., Felty, A. (eds.) ITP 2012. LNCS, vol. 7406, pp. 83–98. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  7. 7.
    Etzion, T., Trachtenberg, A., Vardy, A.: Which codes have cycle-free Tanner graphs? IEEE Trans. Inf. Theory 45(6), 2173–2181 (1999)MathSciNetCrossRefMATHGoogle Scholar
  8. 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. 9.
    Hagiwara, M.: Coding theory: mathematics for digital communication. Nippon Hyoron Sha (2012) (in Japanese)Google Scholar
  10. 10.
    Kschischang, F.R., Frey, B.J., Loeliger, H.-A.: Factor graphs and the sum-product algorithm. IEEE Trans. Inf. Theory 47(2), 498–519 (2001)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    MacWilliams, F.J., Sloane, N.J.A.: The Theory of Error-Correcting Codes. North-Holland, Amsterdam (1977). 7th impression (1992) MATHGoogle Scholar
  12. 12.
    Richardson, T., Urbanke, R.: Modern Coding Theory. Cambridge University Press, Cambridge (2008) CrossRefMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.National Institute of Advanced Industrial Science and TechnologyTsukubaJapan
  2. 2.Nagoya UniversityNagoyaJapan

Personalised recommendations