{"id":13687727,"url":"https://github.com/statebox/idris-ct","last_synced_at":"2026-01-17T02:43:32.758Z","repository":{"id":54653963,"uuid":"177857476","full_name":"statebox/idris-ct","owner":"statebox","description":"formally verified category theory library","archived":false,"fork":false,"pushed_at":"2020-06-23T14:34:39.000Z","size":385,"stargazers_count":263,"open_issues_count":30,"forks_count":23,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-05-01T15:42:14.750Z","etag":null,"topics":["category-theory","formal-proofs","formal-verification"],"latest_commit_sha":null,"homepage":"","language":"Idris","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/statebox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-03-26T19:42:25.000Z","updated_at":"2025-04-10T22:29:41.000Z","dependencies_parsed_at":"2022-08-13T23:00:29.570Z","dependency_job_id":null,"html_url":"https://github.com/statebox/idris-ct","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/statebox/idris-ct","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statebox%2Fidris-ct","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statebox%2Fidris-ct/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statebox%2Fidris-ct/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statebox%2Fidris-ct/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/statebox","download_url":"https://codeload.github.com/statebox/idris-ct/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/statebox%2Fidris-ct/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28492419,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T02:39:23.645Z","status":"ssl_error","status_checked_at":"2026-01-17T02:34:19.649Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["category-theory","formal-proofs","formal-verification"],"created_at":"2024-08-02T15:00:59.477Z","updated_at":"2026-01-17T02:43:32.740Z","avatar_url":"https://github.com/statebox.png","language":"Idris","funding_links":[],"categories":["Idris","Software Libraries","Table of contents"],"sub_categories":["Software libraries"],"readme":"\u003c!--\nSPDX-License-Identifier: AGPL-3.0-only\n\nThis file is part of `idris-ct` Category Theory in Idris library.\n\nCopyright (C) 2019 Stichting Statebox \u003chttps://statebox.nl\u003e\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see \u003chttps://www.gnu.org/licenses/\u003e.\n--\u003e\n\n[![Build Status](https://travis-ci.com/statebox/idris-ct.svg?branch=master)](https://travis-ci.com/statebox/idris-ct) [![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\n\n# Idris category theory\n\n\nThis repository contains several definitions from category theory.\n\nThe project is written in [Idris](https://idris-lang.org/), which allows us to\nstate properties (logical propositions) of the code, along with their formal\nproofs, in the code itself. These provide guarantees that the code is\ncorrect by construction.\n\nMoreover, we are using *literate* Idris, so that we can seamlessly integrate\ncode and documentation, and produce prose documentation alongside the compiled\nartifacts.\n\nIf you want a more detailed and slow introduction to the library, please have a look at the series of blog posts we are writing:\n\n- https://blog.statebox.org/fun-with-categories-70c64649b8e0\n- https://blog.statebox.org/concrete-categories-af444d5f055e\n- https://blog.statebox.org/fun-with-functors-95e4e8d60d87\n\n## Nix build\n\nIf you have [Nix](https://nixos.org/nix/) installed, you can build the project just by doing\n\n```\nnix-build\n```\n\nFor additional targets, have a look at the instructions in [default.nix](default.nix).\n\nIf you get an error message like `error: cloning builder process: Operation not permitted`, run\n\n```\nsysctl kernel.unprivileged_userns_clone=1\n```\n\nas suggested in https://github.com/NixOS/nix/issues/2633\n\n## Manual build\n\n### Prerequisites\n\nYou'll need [lhs2tex](https://github.com/kosmikus/lhs2tex/blob/master/INSTALL), [latexmk](https://mg.readthedocs.io/latexmk.html) and [Idris](https://www.idris-lang.org/).\n\n### Generate documentation\n\nUse `make` to generate the PDF documentation. You will find it in the\n`docs` directory.\nLook directly in the [Makefile](Makefile) for additional options.\n\nYou can also consult the documentation directly [here](https://github.com/statebox/idris-ct-docs/blob/master/idris-ct-docs.pdf).\n\n### Generate comparaison data with Idris2\n\nUse `make compare` to output which files have not been converted to Idris2.\n\nIf the executable has already been generated, simply execute `./compare src/ idris2/` to rerun the\ncomparaison between the two file trees.\n\n\n### Build code\n\nYou can build manually all the code using\n\n```\nidris --checkpkg idris-ct.ipkg\n```\n\n## Build with Elba\n\nAlternatively you can build the library with [elba](https://github.com/elba/elba) using\n\n```\nelba build\n```\n\n## Use as a dependency\n\nThe preferred way to use this library as a dependency for another project is using [elba](https://github.com/elba/elba).\n\nIt should be enough to add the following section\n\n```\n[dependencies]\n\"statebox/idris-ct\" = { git = \"https://github.com/statebox/idris-ct\" }\n```\n\nto the `elba.toml` file of your project.\n\n### License\n\nUnless explicitly stated otherwise all files in this repository are licensed under the GNU Affero General Public License.\n\nCopyright © 2019 [Stichting Statebox](https://statebox.nl).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatebox%2Fidris-ct","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstatebox%2Fidris-ct","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstatebox%2Fidris-ct/lists"}