Abstract
Error-correcting codes add redundancy to transmitted data to ensure reliable communication over noisy channels. Since they form the foundations of digital communication, their correctness is a matter of concern. To enable trustful verification of linear error-correcting codes, we have been carrying out a systematic formalization in the Coq proof-assistant. This formalization includes the material that one can expect of a university class on the topic: the formalization of well-known codes (Hamming, Reed–Solomon, Bose–Chaudhuri–Hocquenghem) and also a glimpse at modern coding theory. We demonstrate the usefulness of our formalization by extracting a verified decoder for low-density parity-check codes based on the sum-product algorithm. To achieve this formalization, we needed to develop a number of libraries on top of Coq’s Mathematical Components. Special care was taken to make them as reusable as possible so as to help implementers and researchers dealing with error-correcting codes in the future.



Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.Notes
The input and output alphabets are not the same for example in the case of the binary erasure channel that replaces some bits with an erasure.
The MathComp library provides the same notation for sums, it is generic but cannot be used directly with the reals from the Coq standard library. One first needs to show that they satisfy the basic properties of appropriate algebraic structures and declare the latter as Canonical. We have chosen not to do that because it makes automatic tactics for reals such as field and lra inoperative. Our notation is therefore just a specialization of the generic notation provided by MathComp.
This definition is specialized to communication over a noisy channel and is sufficient for our purpose in this paper. It can also be recast in a more general setting with conditional probabilities using an appropriate joint distribution [4].
The evaluator polynomial is also denoted by \(\eta \) in the literature.
Indeed, \(\sigma \) and \(\omega \) are coprime (see Sect. 5.1.2).
References
Affeldt, R., Garrigue, J.: Formalization of error-correcting codes: from Hamming to modern coding theory. In: 6th Conference on Interactive Theorem Proving (ITP 2015), Lecture Notes in Computer Science, vol. 9236, pp. 17–33. Springer, Nanjing, China, August 24–27 (2015)
Affeldt, R., Hagiwara, M., Sénizergues, J.: Formalization of Shannon’s theorems. J. Autom. Reason. 53(1), 63–103 (2014)
Affeldt, R., Garrigue, J., Saikawa, T.: Formalization of Reed–Solomon codes and progress report on formalization of LDPC codes. In: International Symposium on Information Theory and its Applications (ISITA 2016), pp. 537–541. IEICE, IEEE Xplore, Monterey, California, USA, October 30–November 2 (2016)
Affeldt, R., Garrigue, J., Saikawa, T.: Reasoning with conditional probabilities and joint distributions in Coq. In: 21st Workshop on Programming and Programming Languages (PPL2019). Japan Society for Software Science and Technology, Iwate-ken, Hanamaki-shi, March 6–8 (2019)
Asai, T.: The SSReflect extension of the Coq proof-assistant and its application. Master’s thesis, Graduate School of Mathematics, Nagoya University (2014). (in Japanese)
Ballarin, C., Paulson, L.C.: A pragmatic approach to extending provers by computer algebra—with applications to coding theory. Fundam. Inform. 39(1–2), 1–20 (1999)
Bose, R.C., Ray-Chaudhuri, D.K.: On a class of error correcting binary group codes. Inf. Control 3(1), 68–79 (1960)
Di, C., Proietti, D., Telatar, I.E., Richardson, T.J., Urbanke, R.L.: Finite-length analysis of low-density parity-check codes on the binary erasure channel. IEEE Trans. Inf. Theory 48(6), 1570–1579 (2002)
Etzion, T., Trachtenberg, A., Vardy, A.: Which codes have cycle-free Tanner graphs? IEEE Trans. Inf. Theory 45(6), 2173–2181 (1999)
Gallager, R.G.: Low-density parity-check codes. IRE Trans. Inf. Theory 8(1), 21–28 (1962)
Gonthier, G., Asperti, A., Avigad, J., Bertot, Y., Cohen, C., Garillot, F., Roux, S.L., Mahboubi, A., O’Connor, R., Biha, S.O., Pasca, I., Rideau, L., Solovyev, A., Tassi, E., Théry, L.: A machine-checked proof of the odd order theorem. In: 4th International Conference on Interactive Theorem Proving (ITP 2013), pp. 163–179, Rennes, France, July 22–26 (2013)
Gowers, T. (ed.): The Princeton Companion to Mathematics. Princeton University Press, Princeton (2008)
Hagiwara, M.: Coding Theory: Mathematics for Digital Communication. Nippon Hyoron Sha, Toshima (2012). (in Japanese)
Hagiwara, M., Nakano, K., Kong, J.: Formalization of coding theory using lean. In: International Symposium on Information Theory and Its Applications (ISITA 2016), pp. 527–531. IEICE , IEEE Xplore, Monterey, California, USA, October 30–November 2 (2016)
Hamming, R.W.: Error detecting and error correcting codes. Bell Syst. Tech. J. XXVI(2), 147–160 (1950)
Hocquenghem, A.: Codes correcteurs d’erreurs. Chiffres (Paris) 2, 147–156 (1959)
Infotheo.: A Coq formalization of information theory and linear error-correcting codes. https://github.com/affeldt-aist/infotheo/, Coq scripts, version 0.0.2 (2019)
Kong, J., Webb, D.J., Hagiwara, M.: Formalization of insertion/deletion codes and the Levenshtein metric in lean. In: International Symposium on Information Theory and Its Applications (ISITA 2018), pp .11–15. IEICE, IEEE Xplore, Singapore, October 18–31 (2018)
Kschischang, F.R., Frey, B.J., Loeliger, H.: Factor graphs and the sum-product algorithm. IEEE Trans. Inf. Theory 47(2), 498–519 (2001)
MacWilliams, F.J., Sloane, N.J.A.: The Theory of Error-Correcting Codes. Elsevier, New York (1977). (seventh impression 1992)
Mahboubi, A., Tassi, E.: Mathematical components. Available at: https://math-comp.github.io/mcb/, with contributions by Yves Bertot and Georges Gonthier (2016) Accessed 11 August 2011
McEliece, R.J.: The Theory of Information and Coding, Encyclopedia of Mathematics and its Applications, vol. 86. Cambridge University Press, Cambridge (2002)
Obata, N.: Formalization of theorems about stopping sets and the decoding performance of LDPC codes. Department of Communications and Computer Engineering, Graduate School of Science and Engineering, Tokyo Institute of Technology, Master’s thesis (2015). (in Japanese)
Reed, I.S., Solomon, G.: Polynomial codes over certain finite fields. J. Soc. Ind. Appl. Math. (SIAM) 8(2), 300–304 (1960)
Richardson, T., Urbanke, R.: Modern Coding Theory. Cambridge University Press, Cambridge (2008)
Richardson, T.J., Urbanke, R.L.: The capacity of low-density parity-check codes under message-passing decoding. IEEE Trans. Inf. Theory 47(2), 599–618 (2001)
Sugiyama, Y., Kasahara, M., Hirasawa, S., Namekawa, T.: A method for solving key equation for decoding Goppa codes. Inf. Control 27(1), 87–99 (1975)
The Coq Development Team.: The Coq proof assistant reference manual. INRIA, version 8.9.0 (2018)
Acknowledgements
T. Asai, N. Obata, K. Sakaguchi, and Y. Takahashi contributed to the formalization. The formalization of modern coding theory was a collaboration with M. Hagiwara, K. Kasai, S. Kuzuoka, and R. Obi. The authors are grateful to M. Hagiwara for his help. We acknowledge the support of the JSPS KAKENHI Grant Number 18H03204.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Affeldt, R., Garrigue, J. & Saikawa, T. A Library for Formalization of Linear Error-Correcting Codes. J Autom Reasoning 64, 1123–1164 (2020). https://doi.org/10.1007/s10817-019-09538-8
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-019-09538-8