Anzaetek Quantum: what's shipping today

 · quantum  · announcement  · rust  · lean4

We are publishing a snapshot of the Anzaetek Quantum stack as it stands today. This post is deliberately narrow: it lists what is shipping, not what is coming. If you want a feature, check here before asking — if it is not on this page, it is not in the build.

Two layers

The stack is two layers: an open-source runtime (omega-functions) and a closed-source toolkit (Quantum) built on top.

Runtime — open source, Apache-2.0 at github.com/Anzaetek/omega-functions-public. Announced today. It is the execution layer — four simulation backends, PQC-authenticated server, C FFI, WASM sandbox, CLI.

Quantum toolkit — closed source. It is the circuit layer — an IR with symbolic parameters and annotations, optimizer passes, format exporters, a QML stack, error-correction codes, and a spec-extraction pipeline to Lean 4 and Rocq. It compiles down to the open runtime.

Circuit language

The Quantum toolkit's AST covers 30+ gate types across Pauli, Clifford, T, rotation, controlled, and photonic families. Parameters can be symbolic (ParamExpr: symbols, Pi, binary operations, function calls), which is what makes variational algorithms work without special-casing. Annotations — Assert, Prove, Ensures, Requires, Invariant, ResourceBound — attach correctness claims to circuit points so that the Lean/Rocq exporters know what to prove.

There is a circuit! proc-macro for inline Rust construction:


circuit!(bell, 2, 2 => { h 0; cx 0,1; measure_all; })

And a pipe/tensor-product composition algebra (>>, |, repeat, inverse) for building larger circuits from parts.

Optimizer — 13 passes

Identity removal, adjacent gate cancellation, adjoint-pair cancellation (collapses QFT >> IQFT to zero gates), rotation merging, commutation reorder, gate decomposition, T-merge, FastTMerge on a Clifford tableau, PhasePolyDedup with an F₂ Gaussian-elimination kernel search (per arXiv:2407.08695), BBMerge, InternalHOpt, the Clifford+T pipeline, and optional Tket2 integration. These are not speculative; they ship in quantum-core and each has unit tests.

Format exporters — 8 formats

OpenQASM 2.0, OPTICQASM 1.0, JSON, .qc, omega-IR (for direct handoff to the runtime), C ABI FFI, Lean 4, and Rocq/Coq. The Lean 4 and Rocq exports turn a circuit plus its annotations into theorem statements that the prover checks.

QML

quantum-qml is a statevector simulator with mid-circuit projective measurement and reset, a QuantumLayer type that integrates with PyTorch through tch-rs, parameter-shift gradients that flow through tch's autograd, a pure-Rust CMA-ES optimizer for the gradient-free cases, and a surrogate trainer implementing arXiv:2505.05249.

The circuit builders that ship today cover standards (Bell, GHZ, QFT, QPE), Trotter steps (1st and 2nd order, H₂, Ising, Heisenberg), photonic meshes (Clements, MZI), QSVT and LCU block encoding, and QML encoding layers (angle, IQP, hardware-efficient).

Error correction

Repetition code [[n,1,n]], Steane [[7,1,3]], and surface code [[d²,1,d]] with an add_error_correction transform that lifts a logical circuit into an encoded one. There is an MWPM decoder for surface-code syndromes.

Algorithmic examples

These compile, run, and are part of the examples directory and test matrix:

  • Shor — factors 15, 21, 35; a semiclassical 1-counting-qubit variant; Shor-DLP (discrete logarithm); Shor-ECDLP with structural EC-point-addition circuits at p = 97 and surface-code physical-resource estimates at secp256k1-sized primes (256–521 bits).
  • QFT / QPE — both standard and iterative (Kitaev's 1-ancilla variant), with robust-phase-estimation examples.
  • HHL — full linear-system solver example, not a stub.
  • Grover — 2- and 3-qubit search with statevector verification.
  • Block encoding and LCU — diagonal block encoding and linear-combination-of-unitaries demos.
  • Quantum walk, Deutsch–Jozsa, Bernstein–Vazirani, Simon, swap test, teleportation, superdense coding — small but real.
  • QAOA — MaxCut example with parameter-shift gradient descent and a CMA-ES variant; lives as a WASM guest that the open runtime can execute in its sandbox.
  • VQE — H₂ ground-state example at the reference energy, also shipped as a WASM guest.

Aria DSL and resource estimation

Aria is the surface DSL we use to describe circuit templates that can be instantiated with different parameters. The parser in quantum_core::ast::aria produces an AriaProgram of templates; AriaProgram::instantiate(name, ¶ms) lowers a template to a concrete Circuit — loops unrolled, oracles inlined, symbolic parameter arrays resolved. Five example .aria files all round-trip through parse and instantiate.

The quantum_core::resource module provides logical ResourceEstimate counts and surface-code PhysicalEstimate extrapolations, plus an oracle-sketching layer for comparing algorithm variants that differ only in their oracle implementation.

Spec extraction to Lean 4

quantum spec extract --aria --all --out

turns Aria annotations into Lean 4 theorem obligations. There is also a #[quantum_core::spec] attribute macro that decorates a fn -> Circuit and emits _lean4() and _write_lean4(&Path) sidecar functions with the same obligation-footer output, and a build.rs recipe for compile-time emission.

Proofs that actually close

Lean 4 standalone (23 theorems, 0 sorry). Gate identities (H² = I, HXH = Z, HZH = X, Clifford self-inverse pairs), Grover probability bounds, DFT unitarity up to packaging, QPE accuracy bounds.

Lean 4 mathlib-backed (6 files, partial closure). ECC is fully closed — rep3_encode is defined as denote [CX(0,1); CX(0,2)] and the syndrome/decode theorems are proved. BlockEncoding is fully closed. CircuitSemantics has one open sorry on denote_embed_subcircuit. QFT has two open sorries on the dft_unitary and qft_correct step cases (mathlib's Kronecker packaging). QPE has two open sorries on the orthogonality / Dirichlet-kernel packaging. Grover has four open sorries on the 2D-subspace argument. The statements are all load-bearing types over real unitary / matrix predicates, not placeholder Prop := sorry stubs.

Rocq. Four files (Gates, QFT, Grover, QLibCompat shim). Covers σ-self-inverse, S² = Z, XZ anti-commute, QFT 1-qubit structural lemmas, Grover probability bounds.

Server and clients

quantum-server speaks length-prefixed JSON over a Unix socket with 0600 permissions or a TCP socket with bearer-token auth. Methods: ping, info, parse, optimize, compile. Reference client implementations ship in Rust (standalone Cargo, serde_json only), Python (stdlib only, ≥ 3.8, tested on 3.13.5 and 3.9.6), and shell (bash + python3 for framing + optional jq).

Omega-functions integration

Eleven of eleven integration requirements with omega-functions are done. The open runtime's omega-server exposes /v1/quantum/execute accepting the Quantum toolkit's OmegaCircuitIR JSON with a backend selector that dispatches to Statevector / MPS / Pauli / Photonics. The Observable builder and gradient methods are wired end-to-end. The photonics backend has a parameter-shift-based adjoint gradient.

Distribution

Binary-only tarballs via scripts/release/: build-host-cpu.sh for the current machine, build-host-gpu.sh for Metal (macOS) or CUDA (Linux) with libtorch bundling, build-all-cpu.sh for darwin-arm64, linux-amd64, linux-arm64 cross-builds, and build-all-gpu.sh for the GPU variants. Each tarball carries bin/, examples/ (Aria, e2e, client-rust/python/shell, Rust, WASM guests), and docs/. A compile-time expiry check runs when QUANTUM_EXPIRY_DAYS is set.

What this post is not

This is a state-of-the-build. It is not a roadmap. Items that are on the TODO list — closing the remaining Lean 4 sorries, GPU backends, full executable Shor-ECDLP at large primes, TOHPE kernel-search equivalence proofs — are left out on purpose. When they ship, they will be announced the same way.

For access to the closed-source toolkit or a custom integration, contact@anzaetek.com. The open runtime is at github.com/Anzaetek/omega-functions-public and needs no contact — clone, build, ship.

← Back to the blog