2020
DOI: 10.48550/arxiv.2002.00620
|View full text |Cite
Preprint
|
Sign up to set email alerts
|

Validating Mathematical Structures

Kazuhiko Sakaguchi

Abstract: Sharing of notations and theories across an inheritance hierarchy of mathematical structures, e.g., groups and rings, is important for productivity when formalizing mathematics in proof assistants. The packed classes methodology is a generic design pattern to define and combine mathematical structures in a dependent type theory with records. When combined with mechanisms for implicit coercions and unification hints, packed classes enable automated structure inference and subtyping in hierarchies, e.g., that a … Show more

Help me understand this report
View published versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1

Citation Types

0
3
0

Year Published

2020
2020
2020
2020

Publication Types

Select...
1
1

Relationship

0
2

Authors

Journals

citations
Cited by 2 publications
(3 citation statements)
references
References 23 publications
0
3
0
Order By: Relevance
“…Another approach to building the algebraic hierarchy in Coq is using packed classes [Garillot et al, 2009] which mainly solves the problem of multiple inheritance. This approach has been extended in [Cohen et al, 2020] and [Sakaguchi, 2020] to overcome the complexity of using it to build and maintain the hierarchy. [Cohen et al, 2020] creates an ELPI [Dunchev et al, 2015;Tassi, 2018] plugin to Coq introducing a language for building the algebraic hierarchy whose expressions are elaborated into packed classes.…”
Section: Discussionmentioning
confidence: 99%
See 1 more Smart Citation
“…Another approach to building the algebraic hierarchy in Coq is using packed classes [Garillot et al, 2009] which mainly solves the problem of multiple inheritance. This approach has been extended in [Cohen et al, 2020] and [Sakaguchi, 2020] to overcome the complexity of using it to build and maintain the hierarchy. [Cohen et al, 2020] creates an ELPI [Dunchev et al, 2015;Tassi, 2018] plugin to Coq introducing a language for building the algebraic hierarchy whose expressions are elaborated into packed classes.…”
Section: Discussionmentioning
confidence: 99%
“…it makes it possible to add new structures and connections between them, while keeping the older ones. [Sakaguchi, 2020] provides invariants and algorithms to validate the structure of the library. Type classes has been used to build the algebraic hierarchy in Coq and Lean.…”
Section: Discussionmentioning
confidence: 99%
“…Much has been written about different methods for defining and maintaining hierarchies of algebraic structures in proof assistants [12,19,24,27]. In some sense, our project is orthogonal to this literature: we work at a single fixed point within mathlib's type class hierarchy.…”
Section: Concluding Thoughtsmentioning
confidence: 99%