# Download Crux

* [Crux-LLVM (Ubuntu 22.04 64-bit)](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-ubuntu-22.04-X64.tar.gz) ([GPG Signature](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-ubuntu-22.04-X64.tar.gz.sig))
* [Crux-LLVM (Ubuntu 24.04 64-bit)](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-ubuntu-24.04-X64.tar.gz) ([GPG Signature](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-ubuntu-24.04-X64.tar.gz.sig))
* [Crux-LLVM (OSX Arm)](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-macos-15-ARM64.tar.gz) ([GPG Signature](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-macos-15-ARM64.tar.gz.sig))
* [Crux-LLVM (Windows 64-bit)](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-windows-2022-X64.tar.gz) ([GPG Signature](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-llvm-0.12-windows-2022-X64.tar.gz.sig))
* [Crux-MIR (Ubuntu 22.04 64-bit)](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-mir-0.12-ubuntu-22.04-X64.tar.gz) ([GPG Signature](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-mir-0.12-ubuntu-22.04-X64.tar.gz.sig))
* [Crux-MIR (Ubuntu 24.04 64-bit)](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-mir-0.12-ubuntu-24.04-X64.tar.gz) ([GPG Signature](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-mir-0.12-ubuntu-24.04-X64.tar.gz.sig))
* [Crux-MIR (OSX Arm)](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-mir-0.12-macos-15-ARM64.tar.gz) ([GPG Signature](https://github.com/GaloisInc/crucible/releases/download/crux-v0.12/crux-mir-0.12-macos-15-ARM64.tar.gz.sig))

Crux binaries for Linux, macOS, and Windows are available from the GitHub [releases page](https://github.com/GaloisInc/crucible/releases). Binaries are distributed as tarballs which you can extract to a location of your choice. Note that Crux-MIR binaries for Windows are not currently included, but we expect to include them in an upcoming release.

GPG signatures are available for each release, and we encourage you to [check the signature](http://gnupg.org/gph/en/manual/x135.html) against our [public key](https://app.gitbook.com/o/OKpco5V1fngn2MK4lcSF/s/UApIrUvk02G42EmQuRHP/crux/pgp-public-key) before installing to ensure the integrity of the release you downloaded.

Crux is also packaged using Docker, and can be fetched using one of the following commands:

```
docker pull ghcr.io/galoisinc/crux-llvm:0.12
docker pull ghcr.io/galoisinc/crux-mir:0.12
```

Use the following command to run `crux-mir` through `cargo crux-test` from Docker on the Cargo project in the current directory:

```
docker run --rm -it --mount type=bind,source=$(pwd),target="/crux-mir/workspace" ghcr.io/galoisinc/crux-mir:0.12
```

### Dependencies <a href="#dependencies" id="dependencies"></a>

Crux requires a companion tool, `mir-json`, which provides a Cargo plugin and `rustc` wrapper. We recommend installing `mir-json` directly with Cargo by following the instructions in the [`mir-json` README](https://github.com/GaloisInc/mir-json/blob/master/README.md).

Crux can make use of a variety of external SMT solvers, including Boolector, CVC4, CVC5, Yices, and Z3. These solvers can be downloaded from their respective developers at the locations below.

* [Boolector](http://fmv.jku.at/boolector/) from Johannes Kepler University Linz
* [CVC4](https://cvc4.github.io/) from New York University
* [CVC5](https://cvc5.github.io/) from Stanford University and the University of Iowa
* [Yices](http://yices.csl.sri.com/) from SRI International
* [Z3](https://github.com/Z3Prover/z3/releases) from Microsoft Research


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://tools.galois.com/saw/crux/download-crux.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
