A type-theoretic approach to higher-order modules with sharing
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A survey of the Theorema project
ISSAC '97 Proceedings of the 1997 international symposium on Symbolic and algebraic computation
Dependently Typed Records for Representing Mathematical Structure
TPHOLs '00 Proceedings of the 13th International Conference on Theorem Proving in Higher Order Logics
Exploring Abstract Algebra in Constructive Type Theory
CADE-12 Proceedings of the 12th International Conference on Automated Deduction
HOL-λσ: an intentional first-order expression of higher-order logic
Mathematical Structures in Computer Science
Toward an object-oriented structure for mathematical text
MKM'05 Proceedings of the 4th international conference on Mathematical Knowledge Management
Hi-index | 0.00 |
In mathematics, algebraic structures are defined according to a rather strict hierarchy: rings come up after groups, which rely themselves on monoids, and so on. In the FOC project, we represent these structures by species. A species is made up of algorithms as well as proofs that these algorithms meet their specifications, and it can be built from existing species through inheritance and refinement mechanisms.To avoid inconsistencies, these mechanisms must be used carefully. In this paper, we recall the conditions that must be fulfilled when going from a species to another, as formalized by S. Boulm茅 in his PhD [3]. We then show how these conditions can be checked through a static analysis of the FOC code. Finally, we describe how to translate FOC declarations into COQ.