[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"0CvYeQvrWY":3},"# hex\n\nVerified computational algebra in Lean 4: an aggregator for the released\n`hex` libraries.\n\n- Manual: \u003Chttps://kim-em.github.io/hex-dev/>\n- API documentation: \u003Chttps://leanprover.github.io/hex/docs>\n\n# Quickstart\n\nAdd to your `lakefile.toml`:\n\n```toml\n[[require]]\nname = \"hex\"\ngit = \"https://github.com/leanprover/hex.git\"\nrev = \"main\"\n```\n\nThen `import Hex` re-exports every library in the table below at a single\ncoherent pinned set:\n\n```lean\nimport Hex\n\nopen Hex\n\n-- Exact, fraction-free integer determinant.\ndef M : Matrix Int 3 3 := #m[2, 1, 1; 1, 2, 1; 1, 1, 2]\n#eval M.det   -- 4\n\n-- LLL: reduce an integer lattice basis and read off a provably short vector.\n-- The `by decide` arguments discharge the reduction-factor side conditions.\ndef L : Matrix Int 3 3 := #m[1, 1, 1; 1, 0, 2; 3, 5, 6]\n#eval lllNative.firstShortVector L (3 / 4) (by decide +kernel) (by decide +kernel) (by decide)\n```\n\nTo depend on just one piece, require that library directly (for example\n[`hex-lll`](https://github.com/leanprover/hex-lll) for the Mathlib-free LLL\ncore) instead of the aggregator.\n\n# Libraries\n\nEach computational library is Mathlib-free; its Mathlib correspondence proofs\nand Mathlib-facing API, where they exist, live in a separate `*-mathlib`\nlibrary.\n\n| Component | Computational | Mathlib layer |\n|---|---|---|\n| Foundations | [HexBasic](https://github.com/leanprover/hex-basic) | — |\n| Matrices | [HexMatrix](https://github.com/leanprover/hex-matrix) | [HexMatrixMathlib](https://github.com/leanprover/hex-matrix-mathlib) |\n| Row reduction | [HexRowReduce](https://github.com/leanprover/hex-row-reduce) | [HexRowReduceMathlib](https://github.com/leanprover/hex-row-reduce-mathlib) |\n| Determinants | [HexDeterminant](https://github.com/leanprover/hex-determinant) | [HexDeterminantMathlib](https://github.com/leanprover/hex-determinant-mathlib) |\n| Bareiss | [HexBareiss](https://github.com/leanprover/hex-bareiss) | [HexBareissMathlib](https://github.com/leanprover/hex-bareiss-mathlib) |\n| Gram-Schmidt | [HexGramSchmidt](https://github.com/leanprover/hex-gram-schmidt) | [HexGramSchmidtMathlib](https://github.com/leanprover/hex-gram-schmidt-mathlib) |\n| LLL | [HexLLL](https://github.com/leanprover/hex-lll) | [HexLLLMathlib](https://github.com/leanprover/hex-lll-mathlib) |\n\nDevelopment of the full project (including unreleased libraries) happens in the\n[`hex-dev`](https://github.com/kim-em/hex-dev) monorepo.\n",1783784682722]