Title :
Catamorphism Generation and Fusion Using Coq
Author :
Robillard, Simon
Author_Institution :
INSA Centre Val de Loire, Univ. Orleans, Orleans, France
Abstract :
Catamorphisms are a class of higher-order functions that recursively traverse an inductive data structure to produce a value. An important result related to catamorphisms is the fusion theorem, which gives sufficient conditions to rewrite compositions of catamorphisms. We use the Coq proof assistant to automatically define a catamorphism and a fusion theorem according to an arbitrary inductive type definition. Catamorphisms are then used to define functional specifications and the fusion theorem is applied to derive efficient programs that match those specifications.
Keywords :
data structures; theorem proving; Coq proof assistant; arbitrary inductive type definition; catamorphism composition rewriting; catamorphism generation; functional specifications; fusion theorem; higher-order functions; inductive data structure; recursively traverse; sufficient conditions; Automation; Calculus; Cognition; Context; Data structures; Distance measurement; Vegetation; Catamorphism; Category theory; Coq; Fusion theorem; Interactive theorem prover; Program derivation;
Conference_Titel :
Symbolic and Numeric Algorithms for Scientific Computing (SYNASC), 2014 16th International Symposium on
Conference_Location :
Timisoara
Print_ISBN :
978-1-4799-8447-3
DOI :
10.1109/SYNASC.2014.32