Certifying the Fast Fourier Transform with Coq

  • Authors:
  • Venanzio Capretta

  • Affiliations:
  • -

  • Venue:
  • TPHOLs '01 Proceedings of the 14th International Conference on Theorem Proving in Higher Order Logics
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

We program the Fast Fourier Transform in type theory, using the tool Coq. We prove its correctness and the correctness of the Inverse Fourier Transform. A type of trees representing vectors with interleaved elements is defined to facilitate the definition of the transform by structural recursion. We define several operations and proof tools for this data structure, leading to a simple proof of correctness of the algorithm. The inverse transform, on the other hand, is implemented on a different representation of the data, that makes reasoning about summations easier. The link between the two data types is given by an isomorphism. This work is an illustration of the two-level approach to proof development and of the principle of adapting the data representation to the specific algorithm under study. CtCoq, a graphical user interface of Coq, helped in the development. We discuss the characteristics and usefulness of this tool.