[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"q2ZWfE38Ib":3},"\n\n⚠️ **Note: The contents of this repo are copied mechanically from the [hax repo](https://github.com/cryspen/hax/tree/main/hax-lib/proof-libs/aeneas-lean). Please file any issues or PRs there.** ⚠️\n\n\n# Hax Lean Library\n\nThis Lean library contains the Lean infrastructure of Hax. Most notably:\n- the Lean extraction of our model of Rust core/std/alloc libraries and supporting infrastructure\n- tactics for verification of extracted code\n\n## Using this library\n\nAdd to your `lakefile.toml`:\n\n```toml\n[[require]]\nname = \"hax\"\ngit = \"https://github.com/cryspen/hax-lean\"\nrev = \"VERSION_OR_COMMIT_HASH\"\n```\n\n## Core Models\n\nThe Lean extraction of our model of Rust core/std/alloc libraries and supporting infrastructure\ncan be found in the `CoreModels` directory.\n\nThe heart of the package is automatically generated by Aeneas:\n- `CoreModels/Core/Funs.lean`\n- `CoreModels/Core/Types.lean`\n- `CoreModels/Alloc/Funs.lean`\n- `CoreModels/Alloc/Types.lean`\n\nNot all items extract smoothly. The files `TypesPrologue.lean`, `FunsPrologue.lean` and\n`FunsEpilogue.lean` contain manual workarounds for some items.\n\nThe crates `hax_lib` and `rust_primitives` are not intended to be extracted by Aeneas.\nThe Lean analogues of their items are defined manually in `HaxLib/Funs.lean` and\n`RustPrimitives/Funs.lean`.\n\n## Tactics\n\nThe main tactic provided by this package is `hax_mvcgen`. It extends Lean's verification condition\ngenerator `mvcgen` to able to handle Hoare-triples inside pre- and postconditions.",1784558053655]