Skip to content

A library of abstract interfaces for mathematical structures in Coq.

License

Notifications You must be signed in to change notification settings

vbgl/math-classes

Repository files navigation

Compilation

This code should compile with 8.6 and later versions. The other branches are deprecated. The code depends on BigNums which can be installed using opam.

Directory structure

categories/

Proofs that certain structures form categories.

functors/

interfaces/

Definitions of abstract interfaces/structures.

implementations/

Definitions of concrete data structures and algorithms, and proofs that they are instances of certain structures (i.e. implement certain interfaces).

misc/

Miscellaneous things.

orders/

Theory about orders on different structures.

quote/

Prototype implementation of type class based quoting. To be integrated.

theory/

Proofs of properties of structures.

varieties/

Proofs that certain structures are varieties, and translation to/from type classes dedicated to these structures (defined in interfaces/).

The reason we treat categories and varieties differently from other structures (like groups and rings) is that they are like meta-interfaces whose implementations are not concrete data structures and algorithms but are themselves abstract structures.

To be able to distinguish the various arrows, we recommend using a variable width font.

About

A library of abstract interfaces for mathematical structures in Coq.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Coq 99.7%
  • Other 0.3%