{"id":28615523,"url":"https://github.com/ocamlpro/verification_for_dummies","last_synced_at":"2025-06-12T02:09:18.014Z","repository":{"id":77363805,"uuid":"411682635","full_name":"OCamlPro/verification_for_dummies","owner":"OCamlPro","description":"Induction as a formal program verification technique for the uninitiated, written in Rust.","archived":false,"fork":false,"pushed_at":"2022-09-12T15:46:32.000Z","size":1572,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-09T12:40:50.697Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","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/OCamlPro.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}},"created_at":"2021-09-29T13:20:22.000Z","updated_at":"2022-12-05T14:50:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"d8be0c6c-945a-4e23-b6bd-7ae5245dd40d","html_url":"https://github.com/OCamlPro/verification_for_dummies","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/OCamlPro/verification_for_dummies","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OCamlPro%2Fverification_for_dummies","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OCamlPro%2Fverification_for_dummies/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OCamlPro%2Fverification_for_dummies/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OCamlPro%2Fverification_for_dummies/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OCamlPro","download_url":"https://codeload.github.com/OCamlPro/verification_for_dummies/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OCamlPro%2Fverification_for_dummies/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259382323,"owners_count":22848842,"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-12T02:09:13.694Z","updated_at":"2025-06-12T02:09:17.980Z","avatar_url":"https://github.com/OCamlPro.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Induction For Dummies\n\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-sa/4.0/\"\u003e\n    \u003cimg\n        alt=\"Creative Commons License\"\n        style=\"border-width:0\"\n        src=\"https://i.creativecommons.org/l/by-sa/4.0/88x31.png\"\n    /\u003e\n\u003c/a\u003e\n\nThis work is licensed under a \u003ca\n    rel=\"license\"\n    href=\"http://creativecommons.org/licenses/by-sa/4.0/\"\n\u003eCreative Commons Attribution-ShareAlike 4.0 International License\u003c/a\u003e.\n\nInduction as a formal program verification technique for the uninitiated.\n\n## Building\n\n\u003e This book relies mostly on [`mdbook`] and [`mdbook-linkcheck`].\n\n[Install Rust] if you haven't already, make sure it's not outdated, and retrieve the dependencies.\n\n```bash\n# Update Rust toolchain.\n\u003e rustup update\n# Install/update `mdbook` and `mdbook-linkcheck`.\n\u003e make update_deps\n```\n\nUse the [`manager`](#Manager) to run the tests if you want, but be aware that this requires the\nbinaries for [Z3] and mikino to be in your path. You can download its latest release [here][Z3\nreleases].\n\n```bash\n\u003e make test\n# or\n\u003e cargo run\n```\n\n\n## Manager\n\nThe manager is written in Rust, its code is in the `manage` directory. It is responsible for\ntesting the whole book. This relies mostly on [`mdbook`] and [`mdbook-linkcheck`], but the manager\nalso tests all files appearing in a `code` directory inside `src` (recursively).\n\nSuch a file `file.ext` is expected to either\n\n- be a Rust file (`ext` is `rs`), meaning they are tested by [`mdbook`] if reachable, or\n- have an associated `file.ext.out` *output* file.\n\nThe output file contains the output of running a certain command on `file.ext`, which depends on\n`ext`. For instance, `file.smt2` should have a `file.smt2.out` companion file containing the output\nof `z3 file.smt2`.\n\n\n## License\n\nThis work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License.\nTo view a copy of this license, visit \u003chttp://creativecommons.org/licenses/by-sa/4.0\u003e or send a\nletter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.\n\n\n[Install Rust]: https://www.rust-lang.org/tools/install\n(Rust installation homepage)\n[`mdbook`]: https://github.com/rust-lang/mdBook\n(mdbook on github)\n[`mdbook-linkcheck`]: https://github.com/Michael-F-Bryan/mdbook-linkcheck\n(mdbook-linkcheck on github)\n[Z3]: https://github.com/Z3Prover/z3\n(Z3 on github)\n[Z3 releases]: https://github.com/Z3Prover/z3/releases\n(Z3 releases on github)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Focamlpro%2Fverification_for_dummies","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Focamlpro%2Fverification_for_dummies","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Focamlpro%2Fverification_for_dummies/lists"}