{"id":31883996,"url":"https://github.com/input-output-hk/network-equivalences","last_synced_at":"2026-02-17T07:06:34.927Z","repository":{"id":42173158,"uuid":"450612665","full_name":"input-output-hk/network-equivalences","owner":"input-output-hk","description":"Formal proofs of equivalences of different kinds of networks","archived":false,"fork":false,"pushed_at":"2024-01-23T18:08:25.000Z","size":249,"stargazers_count":2,"open_issues_count":8,"forks_count":1,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-12T06:02:26.142Z","etag":null,"topics":["broadcast","formal-methods","formal-verification","network","unicast"],"latest_commit_sha":null,"homepage":"","language":"Isabelle","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/input-output-hk.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-01-21T19:16:47.000Z","updated_at":"2023-04-25T12:42:31.000Z","dependencies_parsed_at":"2024-01-23T00:32:53.268Z","dependency_job_id":"0d7d2764-6be0-48ac-8a00-123bcc348992","html_url":"https://github.com/input-output-hk/network-equivalences","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/input-output-hk/network-equivalences","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/input-output-hk%2Fnetwork-equivalences","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/input-output-hk%2Fnetwork-equivalences/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/input-output-hk%2Fnetwork-equivalences/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/input-output-hk%2Fnetwork-equivalences/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/input-output-hk","download_url":"https://codeload.github.com/input-output-hk/network-equivalences/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/input-output-hk%2Fnetwork-equivalences/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279013521,"owners_count":26085368,"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","status":"online","status_checked_at":"2025-10-13T02:00:06.723Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["broadcast","formal-methods","formal-verification","network","unicast"],"created_at":"2025-10-13T03:53:41.947Z","updated_at":"2025-10-13T03:53:46.681Z","avatar_url":"https://github.com/input-output-hk.png","language":"Isabelle","funding_links":[],"categories":[],"sub_categories":[],"readme":"Overview\n========\n\nThe `network-equivalences` library contains proofs of behavioral\nequivalences of various communication networks. For reasoning on an\nappropriately high level, it introduces and uses a communication\nlanguage that is embedded in [the Þ-calculus][thorn-calculus].\n\nPart of this library are discussed in the following conference articles:\n  * [Correctness of Broadcast via Multicast: Graphically and\n    Formally](https://arxiv.org/abs/2209.09472)\n  * [Proofs about Network Communication: For Humans and\n    Machines](https://arxiv.org/abs/2308.10652)\n\n[thorn-calculus]:\n    https://github.com/input-output-hk/thorn-calculus\n    \"Þ-calculus\"\n\n\nRequirements\n============\n\nYou need Isabelle2022 to use this Isabelle library. You can obtain\nIsabelle2022 from the [Isabelle website][isabelle].\n\n[isabelle]:\n    https://isabelle.in.tum.de/\n    \"Isabelle\"\n\nIn addition, you need the following Isabelle sessions:\n\n  * [`Thorn_Calculus`](https://github.com/input-output-hk/thorn-calculus)\n\n\nSetup\n=====\n\nTo make this Isabelle library available to your Isabelle installation,\nadd the path of the `src` directory to the file\n`$ISABELLE_HOME_USER/ROOTS`. You can find out the value of\n`$ISABELLE_HOME_USER` by running the following command:\n\n    isabelle getenv ISABELLE_HOME_USER\n\n\nBuilding\n========\n\nRunning `make` builds the PDF file that includes the documentation and\nthe code and places it in `$ISABELLE_BROWSER_INFO/IOG`. You can find out\nthe value of `$ISABELLE_BROWSER_INFO` by running the following command:\n\n    isabelle getenv ISABELLE_BROWSER_INFO\n\nThe makefile specifies two targets: `properly`, which is the default,\nand `qnd`. With `properly`, fake proofs (`sorry`) are not accepted; with\n`qnd`, quick-and-dirty mode is used and thus fake proofs are accepted.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finput-output-hk%2Fnetwork-equivalences","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finput-output-hk%2Fnetwork-equivalences","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finput-output-hk%2Fnetwork-equivalences/lists"}