{"id":28837343,"url":"https://github.com/viperproject/foundational-boogie","last_synced_at":"2026-02-02T14:32:06.484Z","repository":{"id":122624105,"uuid":"337972591","full_name":"viperproject/foundational-boogie","owner":"viperproject","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-19T08:35:38.000Z","size":996,"stargazers_count":5,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-19T09:29:46.904Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Isabelle","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/viperproject.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-11T08:41:18.000Z","updated_at":"2024-12-08T17:02:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"a3b8b2aa-dedc-4276-955c-ea04d9d27020","html_url":"https://github.com/viperproject/foundational-boogie","commit_stats":null,"previous_names":["viperproject/foundational-boogie"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/viperproject/foundational-boogie","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viperproject%2Ffoundational-boogie","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viperproject%2Ffoundational-boogie/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viperproject%2Ffoundational-boogie/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viperproject%2Ffoundational-boogie/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/viperproject","download_url":"https://codeload.github.com/viperproject/foundational-boogie/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/viperproject%2Ffoundational-boogie/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260748147,"owners_count":23056519,"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":[],"created_at":"2025-06-19T12:06:28.731Z","updated_at":"2026-02-02T14:32:06.478Z","avatar_url":"https://github.com/viperproject.png","language":"Isabelle","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Isabelle formalization of Boogie\nThis is an Isabelle formalization of the Boogie intermediate verification language.\nMoreover, it contains helper theory files to support the [validation of the Boogie \nverifier](https://github.com/gauravpartha/boogie_proofgen/), which is currently being\ndeveloped.\n\nThe theory files are compatible with Isabelle 2022 (and not backwards \ncompatible with older versions).\n\n## More details on the theory files\nThe theory files can be split into two categories: the formalization of the \nBoogie language and the theory files that help certifying the different phases.\n\nThe theory files for the Boogie language itself are given by:\n* `Lang.thy`: Syntax of the Boogie language\n* `BoogieDeBruijn.thy`: Some formalization on DeBruijn binders\n* `Semantics.thy`: Semantics of the Boogie language and definition of procedure \ncorrectness (only describes control-flow graphs in terms of control flow)\n* `Ast.thy`: Semantics of Boogie AST (uses `Semantics.thy` for control flow independent elements)\n* `Util.thy`: Some helper lemmas\n* `Typing.thy`: Boogie's type system\n* `TypeSafety.thy`: Type safety proof for expressions\n\nThe theory files for helping the certification of the different phases are given by:\n* `VCExprHelper.thy`: Theory that helps relate a Boogie expression with a corresponding \nexpression in the verification condition (VC).\n* `VCPhaseML.thy`: Isabelle tactics used to relate Boogie expressions with \ncorresponding VC expressions. The tactics are written in SML as is common for Isabelle.\n* `HelperML.thy`: Some helper ML functions.\n* `VCHints.thy`: Defines a SML datatype that is used by the tactics in `VCPhaseML.thy`.\n* `Passification.thy`: Main theory that helps deal with the certification of the passification phase.\n* `PassificationEndToEnd.thy`: Provides lemmas and definitions that help lift the global block\ntheorem of the entry block in the passification phase to a theorem that shows\nthe passification source CFG is correct under the assumption of the VC.\n* `PassificationML.thy`: Some ML tactics used in the certification of the \npassification phase.\n* `BackedgeElim.thy`: Main theory that helps deal with the certification of the CFG-to-DAG phase.\n* `CFGOptimizationsLoop.thy`: Main theory that helps deal with the certification of the CFG optimizations phase.\n* `Ast_to_Cfg_Validation.thy`: Main theory that helps deal with the certification of the AST-to-CFG phase.\n* `TypingHelper.thy`: Helper lemmas/definitions for proving that expressions are well-typed.\n* `TypingML.thy`: ML tactic to prove that an expression is well-typed.\n\n## Including as a session\nThe `BoogieLang/ROOT` file defines an Isabelle session that can be imported by adding the\n`BoogieLang` directory to the `ROOTS` file in the Isabelle home directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviperproject%2Ffoundational-boogie","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviperproject%2Ffoundational-boogie","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviperproject%2Ffoundational-boogie/lists"}