{"id":15168762,"url":"https://github.com/rocq-community/graph-theory","last_synced_at":"2026-03-16T16:40:28.288Z","repository":{"id":39674634,"uuid":"250061406","full_name":"rocq-community/graph-theory","owner":"rocq-community","description":"Graph Theory [maintainers=@chdoc,@damien-pous]","archived":false,"fork":false,"pushed_at":"2025-06-04T11:14:41.000Z","size":4853,"stargazers_count":36,"open_issues_count":3,"forks_count":4,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-06-04T19:03:08.540Z","etag":null,"topics":["coq","docker-coq-action","graph-theory","mathcomp","mathcomp-ci"],"latest_commit_sha":null,"homepage":"","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/rocq-community.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,"zenodo":null}},"created_at":"2020-03-25T18:40:06.000Z","updated_at":"2025-06-04T11:14:43.000Z","dependencies_parsed_at":"2023-11-07T12:23:19.712Z","dependency_job_id":"4f32aa44-e018-4a53-9401-6c65ca0ace2c","html_url":"https://github.com/rocq-community/graph-theory","commit_stats":{"total_commits":910,"total_committers":15,"mean_commits":"60.666666666666664","dds":0.5846153846153845,"last_synced_commit":"aa4e6cbde6c32eede72da32302f9e413a4573051"},"previous_names":["rocq-community/graph-theory","coq-community/graph-theory"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/rocq-community/graph-theory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocq-community%2Fgraph-theory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocq-community%2Fgraph-theory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocq-community%2Fgraph-theory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocq-community%2Fgraph-theory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rocq-community","download_url":"https://codeload.github.com/rocq-community/graph-theory/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rocq-community%2Fgraph-theory/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260878328,"owners_count":23075959,"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":["coq","docker-coq-action","graph-theory","mathcomp","mathcomp-ci"],"created_at":"2024-09-27T06:41:37.344Z","updated_at":"2026-03-16T16:40:28.214Z","avatar_url":"https://github.com/rocq-community.png","language":"Coq","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!---\nThis file was generated from `meta.yml`, please do not edit manually.\nFollow the instructions on https://github.com/coq-community/templates to regenerate.\n---\u003e\n# Graph Theory\n\n[![Docker CI][docker-action-shield]][docker-action-link]\n[![Chat][chat-shield]][chat-link]\n[![Contributing][contributing-shield]][contributing-link]\n[![Code of Conduct][conduct-shield]][conduct-link]\n[![Zulip][zulip-shield]][zulip-link]\n[![DOI][doi-shield]][doi-link]\n\n[docker-action-shield]: https://github.com/coq-community/graph-theory/actions/workflows/docker-action.yml/badge.svg?branch=master\n[docker-action-link]: https://github.com/coq-community/graph-theory/actions/workflows/docker-action.yml\n[chat-shield]: https://img.shields.io/badge/Zulip-join_chat-brightgreen.svg\n[chat-link]: https://coq.zulipchat.com/#narrow/stream/284683-GraphTheory\n\n[contributing-shield]: https://img.shields.io/badge/contributions-welcome-%23f7931e.svg\n[contributing-link]: https://github.com/coq-community/manifesto/blob/master/CONTRIBUTING.md\n\n[conduct-shield]: https://img.shields.io/badge/%E2%9D%A4-code%20of%20conduct-%23f15a24.svg\n[conduct-link]: https://github.com/coq-community/manifesto/blob/master/CODE_OF_CONDUCT.md\n\n[zulip-shield]: https://img.shields.io/badge/chat-on%20zulip-%23c1272d.svg\n[zulip-link]: https://coq.zulipchat.com/#narrow/stream/237663-coq-community-devs.20.26.20users\n\n\n[doi-shield]: https://zenodo.org/badge/DOI/10.1007/s10817-020-09543-2.svg\n[doi-link]: https://doi.org/10.1007/s10817-020-09543-2\n\nA library of formalized graph theory results, including various\nstandard results from the literature (e.g., Menger's Theorem, Hall's\nMarriage Theorem, the excluded minor characterization of\ntreewidth-two graphs, and Wagner's Theorem) as well as some more\nrecent results arising from the study of relation algebra within\nthe ERC CoVeCe project (e.g., soundness and completeness of an\naxiomatization of graph isomorphism).\n\n## Meta\n\n- Author(s):\n  - Christian Doczkal (initial)\n  - Damien Pous (initial)\n  - Daniel Severín (external contributor)\n- Coq-community maintainer(s):\n  - Christian Doczkal ([**@chdoc**](https://github.com/chdoc))\n  - Damien Pous ([**@damien-pous**](https://github.com/damien-pous))\n- License: [CeCILL-B](LICENSE)\n- Compatible Coq versions: 8.18 or later\n- Additional dependencies:\n  - MathComp's [SSReflect library](https://math-comp.github.io), version 2.1.0 or later\n  - MathComp's [Algebra library](https://math-comp.github.io)\n  - MathComp's [finmap library](https://github.com/math-comp/finmap)\n  - MathComp's [Algebra tactics](https://github.com/math-comp/algebra-tactics)\n  - [Hierarchy Builder](https://github.com/math-comp/hierarchy-builder), version 1.5.0 or later\n  - Gonthier's [formal proof](https://github.com/coq-community/fourcolor) of the Four-Color Theorem (optional dependency)\n- Coq namespace: `GraphTheory`\n- Related publication(s):\n  - [A Variant of Wagner's Theorem Based on Combinatorial Hypermaps](https://hal.inria.fr/hal-03142192) doi:[10.4230/LIPIcs.ITP.2021.17](https://doi.org/10.4230/LIPIcs.ITP.2021.17)\n  - [Graph Theory in Coq - Minors, Treewidth, and Isomorphisms](https://hal.archives-ouvertes.fr/hal-02316859) doi:[10.1007/s10817-020-09543-2](https://doi.org/10.1007/s10817-020-09543-2)\n  - [Completeness of an Axiomatization of Graph Isomorphism via Graph Rewriting in Coq](https://hal.archives-ouvertes.fr/hal-02333553) doi:[10.1145/3372885.3373831](https://doi.org/10.1145/3372885.3373831)\n  - [A Formal Proof of the Minor-Exclusion Property for Treewidth-Two Graphs](https://hal.archives-ouvertes.fr/hal-01703922) doi:[10.1007/978-3-319-94821-8_11](https://doi.org/10.1007/978-3-319-94821-8_11)\n  - [Formalization of the Domination Chain with Weighted Parameters (Short Paper)](https://drops.dagstuhl.de/opus/volltexte/2019/11091/) doi:[10.4230/LIPIcs.ITP.2019.36](https://doi.org/10.4230/LIPIcs.ITP.2019.36)\n\n## Building and installation instructions\n\nTo manually build and install the whole project, including Wagner's theorem which requires\nthe Coq proof of the Four-Color Theorem, do:\n\n``` shell\ngit clone https://github.com/coq-community/graph-theory.git\ncd graph-theory\nmake   # or make -j \u003cnumber-of-cores-on-your-machine\u003e \nmake install\n```\n\nHowever, the easiest way to install released versions of Graph Theory\nlibraries selectively is via [opam](https://opam.ocaml.org/doc/Install.html):\n\n```shell\nopam repo add coq-released https://coq.inria.fr/opam/released\nopam install coq-graph-theory # core library\nopam install coq-graph-theory-planar # planarity results depending on coq-fourcolor\n```\n\n## Documentation\n\nThis project contains:\n\n- a general purpose Coq library about graph theory:\n  - directed graphs, simple graphs, multigraphs\n  - paths, trees, forests, isomorphism, connected components, etc.\n  - minors and tree decompositions\n  - Menger's theorem and some of its corollaries (Hall's marriage theorem and König's theorem)\n  - the excluded-minor characterisation of treewidth at most two graphs (as those excluding K4 as a minor)\n- soundness and completeness of an axiomatization of isomorphism of two-pointed treewidth-two (`2p`) multigraphs:\n  - isomorphisms up to label-equivalence and edge-flipping for multigraphs\n  - 2p graphs form a 2p algebra and thus also a 2pdom algebra\n  - every K4-free graph can be represented by a 2p-term\n  - 2pdom axioms are complete w.r.t. graph isomorphism for connected 2p graphs.\n- a proof of Wagner's theorem (planarity of K5 and K3,3 graphs) based on combinatorial hypermaps\n- two proofs of the weak perfect graph theorem (WPGT):\n  - one proof based on Lovasz's replication lemma\n  - one proof based on a matrix rank argument\n\nAdditional information on the contents of individual files is available at the [project website](https://perso.ens-lyon.fr/damien.pous/covece/graphs/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocq-community%2Fgraph-theory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frocq-community%2Fgraph-theory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frocq-community%2Fgraph-theory/lists"}