Skip to content

Latest commit

 

History

History
31 lines (23 loc) · 982 Bytes

index.markdown

File metadata and controls

31 lines (23 loc) · 982 Bytes
layout title
default
About

Math classes is a library of abstract interfaces for mathematical structures, such as

  • Algebraic hierarchy (groups, rings, fields, ...)
  • Relations, orders, ...
  • Categories, functors, universal algebra, ...
  • Numbers: ℕ, ℤ, ℚ, ...
  • Operations, (shift, power, abs, ...)

It is heavily based on Coq's new type classes in order to provide: structure inference, multiple inheritance/sharing, convenient algebraic manipulation (e.g. rewriting) and idiomatic use of notations.

Here is a SVG diagram showing all files and their dependencies with links to the coqdoc dependencies.

Here are two diagrams showing the main components of the algebraic hierarchy and the various orders in math classes.

Algebraic Hierarchy Order Hierarchy

Math classes is used in C-CoRN to implement high performance exact real number arithmetic.