A formally verified category theory library implemented in Idris, providing correctness guarantees through proofs.
Idris-ct is a formally verified category theory library written in the Idris programming language. It implements foundational definitions from category theory with embedded logical propositions and proofs, ensuring correctness by construction. The library uses literate programming to integrate code and documentation, producing both executable artifacts and explanatory texts.
Researchers, mathematicians, and developers working with formal methods, category theory, or dependent types who need rigorously verified implementations of categorical constructs.
It provides guaranteed correctness through formal proofs embedded in the code, unlike informal libraries, and combines implementation with documentation via literate programming for clarity and educational value.
formally verified category theory library
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Embeds logical propositions and proofs directly in code using Idris's dependent types, ensuring correctness by construction as stated in the README.
Combines code and documentation in a single source, producing explanatory texts alongside implementations, enhancing educational value and clarity.
Implements core category theory constructs like categories and functors, suitable for rigorous mathematical applications and research.
Supports multiple build systems including Nix and Elba, providing options for different development workflows and dependency management.
Manual installation requires tools like lhs2tex, latexmk, and Idris, which can be cumbersome and error-prone, as detailed in the prerequisites section.
Targets experts in category theory and dependent types, making it inaccessible for developers without background in formal methods or Idris.
Documentation is primarily in PDF format generated from literate sources, which may not be as interactive or easily searchable as web-based documentation.