{"id":15677099,"url":"https://github.com/relrod/ct","last_synced_at":"2025-05-07T00:44:37.151Z","repository":{"id":66918681,"uuid":"60570063","full_name":"relrod/ct","owner":"relrod","description":"My attempt to better understand both Coq and Category Theory by formalizing the latter in the former.","archived":false,"fork":false,"pushed_at":"2019-08-03T20:29:43.000Z","size":806,"stargazers_count":14,"open_issues_count":0,"forks_count":1,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-31T04:41:10.206Z","etag":null,"topics":["algebra","categories","category-theory","coq","math","mathematics","topology"],"latest_commit_sha":null,"homepage":"https://relrod.github.io/ct/","language":"Coq","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/relrod.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-07T00:38:20.000Z","updated_at":"2024-12-17T05:13:08.000Z","dependencies_parsed_at":"2023-04-25T19:31:39.373Z","dependency_job_id":null,"html_url":"https://github.com/relrod/ct","commit_stats":{"total_commits":203,"total_committers":2,"mean_commits":101.5,"dds":0.3054187192118226,"last_synced_commit":"abd8b0067e219ee4867f7136bdf1b35885224cb4"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relrod%2Fct","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relrod%2Fct/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relrod%2Fct/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/relrod%2Fct/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/relrod","download_url":"https://codeload.github.com/relrod/ct/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252793562,"owners_count":21805053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["algebra","categories","category-theory","coq","math","mathematics","topology"],"created_at":"2024-10-03T16:08:30.974Z","updated_at":"2025-05-07T00:44:37.133Z","avatar_url":"https://github.com/relrod.png","language":"Coq","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ct [![Build Status](https://travis-ci.org/relrod/ct.svg?branch=master)](https://travis-ci.org/relrod/ct)\n\nAn attempt at a category theory encoding in Coq, for learning purposes.\n\n## Layout\n\nCore concepts (`Category`, `Functor`, `NaturalTransformation`, etc.)\nare in the `CT` directory. Instances and derivations both live in the\n`CT/Instance` directory (and thus the `CT.Instance` namespace). A simple\nalgebra hierarchy is found in `CT/Algebra`. Definitions there are largely\n[decategorified](https://en.wikipedia.org/wiki/Categorification), even when the\nstructures can be defined purely categorically. There are instances (e.g.\n`CT.Instance.Category.MonoidCategory` (the category for any given `Monoid`))\nwhich make use of them.\n\nThe layout of the project is fairly simple. If you wish to work with, for\nexample, functor categories, you'll likely want to do something like:\n\n```coq\nRequire Import CT.Category.\nRequire Import CT.Instance.Category.FunctorCategory.\n(* ... *)\n```\n\nIn any documentation we write, an **instance** is a particular usage of a\nconcept. For example `CT.Instance.Coq.Functor` exports a `CoqOptionFunctor`\nwhich, as the name suggests, is a `Functor` for Coq's `option` type\n(specifically it is an endofunctor from `CoqType -\u003e CoqType`, where `CoqType`\nis defined in `CT.Instance.Coq.Category` to be the category of Coq types).\n\nWe call something a **derivation** if passing it something generates a\nspecialized version of that thing. For example, `FunctorCategory` is a\nderivation because it takes two `Category` parameters to return the functor\ncategory between them. Similarly, a `MonoidCategory` takes a `Monoid` and\nreturns a `Category` with a single object (with composition defined by\n`Monoid`'s `mu`).\n\nThese (\"instance\", \"derivation\") are mostly made-up terms, but we have been\nusing them pretty consistently in our documentation/on IRC.\n\n## Notes on notation\n\nWe rarely use `Notation` or `Infix` in the library. This is intentional and done\nfor added clarity. While Coq's notation system can be extremely helpful\n(especially in combination with `scope`s), since this is a library written\nfor educational purposes, we wish to not cloud any view of what is actually\nhappening. We do sprinkle in use of implicit arguments fairly liberally,\nhowever.\n\n## References\n\n... so far.\n\n* https://arxiv.org/pdf/1505.06430v1.pdf (and https://github.com/amintimany/Categories)\n* The [Homotopy Type Theory](https://github.com/HoTT/HoTT) source\n* [Basic Category Theory](http://www.cambridge.org/us/academic/subjects/mathematics/logic-categories-and-sets/basic-category-theory)\n* [copumpkin/categories](https://github.com/copumpkin/categories/) - an Agda encoding of category theory\n* http://www.cs.ox.ac.uk/ralf.hinze/publications/TFP09.pdf (and https://github.com/jwiegley/coq-lattice/)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frelrod%2Fct","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frelrod%2Fct","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frelrod%2Fct/lists"}