Dependent types in practical programming
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Inductive Definitions in the system Coq - Rules and Properties
TLCA '93 Proceedings of the International Conference on Typed Lambda Calculi and Applications
Synthesizing Proofs from Programs in the Calculus of Inductive Constructions
MPC '95 Mathematics of Program Construction
Journal of Functional Programming
ACM SIGPLAN Notices
Finger trees: a simple general-purpose data structure
Journal of Functional Programming
Concoqtion: indexed types now!
Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
TLCA'01 Proceedings of the 5th international conference on Typed lambda calculi and applications
TYPES'02 Proceedings of the 2002 international conference on Types for proofs and programs
TYPES'06 Proceedings of the 2006 international conference on Types for proofs and programs
On the strength of proof-irrelevant type theories
IJCAR'06 Proceedings of the Third international joint conference on Automated Reasoning
The Seventeen Provers of the World
Ynot: dependent types for imperative programs
Proceedings of the 13th ACM SIGPLAN international conference on Functional programming
Extraction in Coq: An Overview
CiE '08 Proceedings of the 4th conference on Computability in Europe: Logic and Theory of Algorithms
Proceedings of the 3rd workshop on Programming languages meets program verification
Dependently typed programming in Agda
Proceedings of the 4th international workshop on Types in language design and implementation
Toward a verified relational database management system
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Program verification through characteristic formulae
Proceedings of the 15th ACM SIGPLAN international conference on Functional programming
Automation for Dependently Typed Functional Programming
Fundamenta Informaticae - Dependently Typed Programming
Formally certified stable marriages
Proceedings of the 48th Annual Southeast Regional Conference
ESOP'12 Proceedings of the 21st European conference on Programming Languages and Systems
Strongly Typed Term Representations in Coq
Journal of Automated Reasoning
xmonad in Coq (experience report): programming a window manager in a proof assistant
Proceedings of the 2012 Haskell Symposium
Rely-guarantee references for refinement types over aliased mutable data
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Interactive programming with dependent types
Proceedings of the 18th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
Finger Trees (Hinze & Paterson, 2006) are a general purpose persistent data structure with good performance. Their genericity permits developing a wealth of structures like ordered sequences or interval trees on top of a single implementation. However, the type systems used by current functional languages do not guarantee the coherent parameterization and specialization of Finger Trees, let alone the correctness of their implementation. We present a certified implementation of Finger Trees solving these problems using the Program extension of Coq. We not only implement the structure but also prove its invariants along the way, which permit building certified structures on top of Finger Trees in an elegant way.