Using Coq to understand nested datatypes

  • Authors:
  • A. Blanco;J. E. Freire;J. L. Freire

  • Affiliations:
  • University of A Coruña, LFCIA, Dept. of Computer Science, Faculty of Informatics, A Coruña, Spain;University of A Coruña, LFCIA, Dept. of Computer Science, Faculty of Informatics, A Coruña, Spain;University of A Coruña, LFCIA, Dept. of Computer Science, Faculty of Informatics, A Coruña, Spain

  • Venue:
  • EUROCAST'07 Proceedings of the 11th international conference on Computer aided systems theory
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Nested datatypes can be defined in a Hindley-Milner system but it is difficult to implement functions on them. This paper analyzes the requirements that must be satisfied in order to implement programs (catamorphisms and anamorphisms) on these types. A solution, using Hagino's approach, is carried out here both in Haskell, using rank 2 signatures, and in the Coq proof assistant system where we have polymorphic recursion and also the capability to prove the correspondent programs specifications.