Download WHITEPAPER.md from Snapkitty/carry-agent: direct link, hf CLI and curl.
- Browser
- Download file 22.9 kB
-
https://huggingface.co/Snapkitty/carry-agent/resolve/main/WHITEPAPER.md
- Command line
-
hf download hf://Snapkitty/carry-agent/WHITEPAPER.md
-
curl -L -o WHITEPAPER.md https://huggingface.co/Snapkitty/carry-agent/resolve/main/WHITEPAPER.md
CARRY: A Formally Verified Sovereign Agent Quantum Simulator
Authors: Ahmad Ali Parr, Jessica L. Williams (SNAPKITTYWEST)
Version: 1.0.0
Date: 2026-08-21
License: AGPL-3.0-only
Repository: carry-agent
Status: Architecture + Kernel Release β All circuits verified, 14/14 tests pass
Abstract
CARRY is a formally verified quantum circuit simulator and governance research platform built entirely from scratch in Rust. It provides exact StateVector and Density Matrix simulation engines, a formally specified 7-state Finite State Machine (FSM) governing all quantum execution, a multi-agent ownership and verification architecture, declarative Answer Set Programming (ASP) constraint evaluation, and an Integrity Constraint Protocol (ICP) governance pipeline. A parallel formal verification pass using two independent agents extracted 13 invariants from the codebase, identified 9 counterexamples and weak claims, and fixed all confirmed bugs. The invariants are machine-checked in Lean 4 and the formal semantics are specified in Agda using dependent types. CARRY is not affiliated with any physical quantum hardware vendor and is explicitly designed so that simulated quantum entities are permanently distinguishable from physical qubits.
1. Motivation
Quantum computing research produces a large surface area of claims that are difficult to audit: simulation correctness, protocol governance, multi-agent coordination under resource constraints, and the relationship between high-level algorithmic descriptions and low-level circuit execution. Most quantum simulators are validated by running known circuits and checking outputs, with no formal connection between the simulation semantics and a mathematical specification.
CARRY is built from the opposite direction. The formal specification β written in Agda using dependent types β is the source of truth. The Rust runtime is an implementation of that specification, tested by an F# reference interpreter that serves as the conformance anchor. The invariant structure is explicit: properties are classified as Axioms, Definitions, Invariants, or Refinement Theorems, and every sorry in the Lean proofs is a documented open obligation with a stated path to closure.
The result is a system where proof-carrying execution is the architecture, not an afterthought.
2. System Architecture
2.1 Layer Model
Agda (Formal Semantics)
β dependent types
β illegal transitions unrepresentable
β
β shared definitions
βΌ
Lean 4 (Proof Engine)
β 13 invariants, 11 machine-checked
β 4 honest sorry with stated blockers
β
β verified spec
βΌ
F# Reference Backend
β executable semantics
β conformance corpus anchor
β
conformance tests
β
βΌ
Rust Minimal Runtime
β carry-agent crate
β 14/14 tests pass
β native binary / WASM target
2.2 Simulation Engines
CARRY implements two simulation modes selectable at construction:
StateVector mode maintains the full complex amplitude vector |Οβ© β β^{2^n}. For n qubits the state has 2^n complex entries. Gate application is exact matrixβvector multiplication. Born-rule measurement collapses the state in place.
Density Matrix mode maintains Ο β β^{2^n Γ 2^n}. This supports noise model simulation. Gate application is the conjugation U Ο Uβ . Measurement collapses via projection operators. Purity Tr(ΟΒ²) is tracked as a diagnostic signal.
All quantum entities are tagged at construction:
| Tag | Meaning |
|---|---|
SIMULATED_QUBIT |
Software-simulated qubit |
SIMULATED_QUANTUM_STATE |
Amplitude vector or density matrix |
SIMULATED_ENTANGLEMENT |
Heuristic entanglement tracking |
SIMULATED_TOPOLOGICAL_QUBIT |
Fibonacci anyon simulator |
PHYSICAL_QUBIT |
Reserved β never instantiated |
The PHYSICAL_QUBIT variant exists in the type but has no constructor path. It cannot be produced by the simulator, providing a permanent type-level distinction between simulation and hardware.
2.3 Gate Library
Standard gate set: I, X, Y, Z, H, S, T, Rx(ΞΈ), Ry(ΞΈ), Rz(ΞΈ), CNOT, CZ, SWAP, CustomUnitary.
All built-in gates are unitary by construction. The CustomUnitary variant accepts an arbitrary matrix; the formal architecture requires that callers supply a unitary matrix (Invariant INV-1 depends on this). Formal verification that CustomUnitary inputs are unitary is listed as open obligation MI-4.
2.4 Quantum FSM
All quantum execution is governed by a strict 7-state FSM:
INIT β PREPARE β ENTANGLE β COMPUTE β MEASURE β VERIFY β COMMIT
β
ββ PREPARE (loop)
ββ COMMIT (terminal)
Any state β HALTED (emergency)
Two terminal states exist: HALTED (constraint violation or emergency) and CYCLE_LIMIT (budget exhausted). Both are absorbing β once reached, no transition out is possible. This is proved in Lean 4 (INV-5) and enforced by a guard at the top of the transition() function added during the formal verification pass.
Every transition requires an explicit precondition string, postcondition string, operation label, and agent ID. All transitions are logged to an append-only history. The history is the audit trail.
2.5 Multi-Agent Architecture
Agents are constructed as complementary pairs:
- Primary agent β holds
COMPUTEpermission, owns a disjoint set of qubits - Partner agent β holds
VERIFY,MONITOR, orRECOVERpermission
Qubit ownership is assigned at construction and is immutable. No method on Agent mutates qubit_ownership after construction. verify_action_permissions reads ownership but does not write it. Agent pairs cross-verify each other's state through the MultiAgentCoordinator.
Invariant INV-7 (pairwise disjoint ownership) is proved in Lean 4.
2.6 Governance Pipeline
Three governance layers operate on every quantum execution cycle:
ICP (Integrity Constraint Protocol) β a 6-stage mandatory pipeline: FormalSetup β Observe β Validate β FormalCheck β Execute β Verify. The Execute stage is gated behind the Validate and FormalCheck stages. Any stage returning failure transitions the FSM directly to HALTED.
ASP (Answer Set Programming) β a declarative constraint engine evaluating rules over qubit facts: QubitControl, Entangled, AgentControls, and UniqueControl (no qubit controlled by more than one agent). ASP UNSAT terminates the cycle.
GITC (Governance Invariant Topological Cycle) β an experimental research module interleaving ASP checks with topological braid operations and quantum gate application. After formal verification, invariant_holds correctly reflects the conjunction of all three checks: quantum state validity AND ASP SATISFIABLE AND ICP VERIFIED.
2.7 Reference Circuits
The benchmark suite implements six reference circuits verified against known quantum computing results:
| Circuit | Qubits | Gates | Expected State |
|---|---|---|---|
| Bell | 2 | 2 | ( |
| GHZ-3 | 3 | 3 | ( |
| Teleportation | 3 | 7 | State transfer protocol |
| Deutsch-Jozsa | 2 | 5 | Constant/balanced oracle |
| Grover-2Q | 2 | 12 | Amplitude amplification |
| QFT-3Q | 3 | 10 | Quantum Fourier Transform |
All circuits complete with SUCCESS status and post-circuit fidelity 1.0 (normalized state preserved throughout).
3. Formal Verification
3.1 Invariant Taxonomy
Every formal claim is classified:
| Class | Description |
|---|---|
| AXIOM | Load-bearing assumption; not proved |
| DEFINITION | Semantic content of the system |
| INVARIANT | Property preserved by execution; proved by induction |
| REFINEMENT | Proof that implementation matches specification |
3.2 Confirmed Invariants (13 total)
| ID | Statement | Status |
|---|---|---|
| INV-1 | Unitary gate application preserves normalisation βΟβΒ² = 1 | β Lean (from DEF-2) |
| INV-2 | Density matrix purity: 0 < Tr(ΟΒ²) β€ 1 | ? Open (PSD + Cauchy-Schwarz) |
| INV-3 | Cycle counter strictly monotone, β€ maxCycle | β Lean (omega) |
| INV-4 | FSM step succeeds only for DAG-allowed (s, s') pairs | β Lean (type obligation) |
| INV-5 | Halted and CycleLimit are absorbing states | β Lean (case split) |
| INV-6 | Gate targets in-bounds and distinct | β Lean (predicate defined) |
| INV-7 | Agent qubit ownership pairwise disjoint | β Lean (Finset.Disjoint) |
| INV-8 | Measurement random_draw clamped to [0, 1) | β Lean (clamp arithmetic) |
| INV-9 | Fibonacci fusion: 1βx = x, xβ1 = x | β Lean (pattern match) |
| INV-10 | Taylor series terminates before f64 overflow | β Rust + axiom |
| INV-11 | invalid_trajectories_prevented β€ num_cycles | β Lean (bound given) |
| INV-12 | GITC invariant_holds iff all three checks pass | β Lean (Bool.and) |
| INV-13 | 6052 emulator terminates in β€ max_cycle steps | β Rust + axiom |
3.3 Bugs Found and Fixed by Formal Verification
The formal verification pass β conducted by two parallel independent agents reading different subsets of the codebase β identified 9 confirmed defects:
| ID | Severity | Description | Fix Applied |
|---|---|---|---|
| CE-1 | High | random_draw >= 1.0 collapses statevector to zero norm |
Clamp + Err on norm=0 |
| CE-2 | Critical | Fibonacci fusion ignores anyon charges; applies tauβtau probability to all pairs | Full charge pattern match |
| CE-3 | High | FSM error message reports post-halt state, not actual invalid source | Capture source before mutation |
| CE-4 | Medium | EntanglementGraph::entangle(q, q) silently accepts self-entanglement |
Documented (ASP rejects it) |
| CE-5 | High | invariant_holds only checks quantum norm; ignores ASP/ICP results |
Conjunction of all three |
| CE-6 (FTB) | High | Taylor series overflow to Inf for large |t| and order_n | Break on !is_finite() |
| CE-7 | Medium | Silent LOAD discard on out-of-range register (emulator) | Documented MI |
| MI-7 | Medium | GITC counter double-increments when both ASP and ICP fail same cycle | Single increment per cycle |
| WC-3 | Medium | Benchmark fidelity hardcoded 1.0 | Computed from actual state validity |
3.4 Open Obligations
| ID | Claim | Blocker | Path |
|---|---|---|---|
| OPEN-1 | INV-2 purity bounded | Matrix PSD + Cauchy-Schwarz in Lean | Mathlib Matrix.PosDef assembly |
| OPEN-2 | Taylor overflow axiom | f64 semantics in Lean | Float model library or accept as AX |
| OPEN-3 | Emulator termination axiom | Loop termination over Vec | Well-founded recursion on queue length |
| OPEN-4 | B3 braid relation | R/F matrices not implemented | Tag: RESEARCH_HYPOTHESIS until implemented |
| MI-3 | Gate target bounds check in apply_gate | Runtime, not formal | Add target < num_qubits guard before apply |
| MI-4 | CustomUnitary unitarity check | Runtime | Verify Uβ U = I at gate construction |
3.5 Agda Specification
The Agda layer encodes the FSM transition relation as a dependent type Transition : FSMState β FSMState β Set. A value of type Transition s s' is a machine-checked proof that the edge (s, s') exists in the DAG. An illegal (s, s') pair has no constructor and cannot be typed. This makes INV-4 and INV-5 structural impossibilities rather than runtime checks.
Key theorems proved directly in Agda:
halted-absorbing : Transition Halted s' β s' β‘ Halted(total, closes by constructor inspection)cyclelimit-absorbing : Transition CycleLimit s' β s' β‘ Halted(identical argument)
4. Research Modules
4.1 Fibonacci-Taylor Braids (FTB)
Status: RESEARCH_HYPOTHESIS
The FTB module synthesizes circuit gate sequences by combining Fibonacci recurrence values with Taylor operator expansion coefficients. The mathematical claim β that angle = taylor_coeff * fib_val produces a meaningful gate synthesis for topological braid operators β is not established. The module is explicitly tagged ResearchStatus::ResearchHypothesis at the type level and its outputs are non-deterministic with respect to any known braid synthesis algorithm.
After the formal verification pass: the Taylor series now terminates safely (no Inf/NaN propagation to gate angles), and the output is structurally well-formed. The mathematical claim remains open.
4.2 Topological Qubit Simulator
Status: PARTIAL β strand permutation layer complete; R/F matrices pending
The topological module simulates Fibonacci anyon positional braiding using the B3 braid group generators Οβ, Οβ and their inverses. The golden ratio quantum dimension Ο = (1 + β5)/2 β 1.6180 is used consistently from a single definition site.
After the formal verification pass: fusion rules now correctly handle all charge combinations (1β1, 1βtau, tauβ1, tauβtau). The probabilistic split 1/ΟΒ² applies only to the tauβtau case, as required by Fibonacci anyon theory.
Known limitation: The code simulates strand permutations (Sβ quotient of Bβ) but does not implement the unitary R-matrix and F-matrix action in the fusion space. The non-Abelian phase data that gives Fibonacci anyons their computational universality is absent. The Bβ braid relation ΟβΟβΟβ = ΟβΟβΟβ holds coincidentally in Sβ but is not verified at the level of unitary matrices. This is the most significant architectural gap between the stated model and the implementation.
4.3 Governance Invariant Topological Cycle (GITC)
Status: RESEARCH_HYPOTHESIS β structure verified, dynamic coupling pending
The GITC module claims to encode governance constraints inline with topological execution. After the formal verification pass, invariant_holds correctly reports the conjunction of quantum state validity, ASP satisfiability, and ICP verification. The double-counting bug in invalid_trajectories_prevented is fixed.
Known limitation: The ASP constraint set is static β the same four facts (two qubits, one agent, one control assignment) are added every cycle regardless of the current quantum state. True inline constraint encoding would require the ASP instance to be parameterized by the actual simulation state at each cycle. This gap is documented; the module is not presented as a complete implementation of the stated architectural claim.
4.4 6052 Cycle-Accurate Emulator
The 6052 emulator provides a deterministic, cycle-accurate execution substrate with a hard MAX_CYCLE budget. Instructions: LOAD, APPLY_GATE, MEASURE, ENTANGLE, HALT. The cycle-limit check fires before each instruction dispatch, guaranteeing termination. Out-of-range register loads (reg β₯ 256) are silently discarded β this is a known limitation (MI-4 in the formal verification inventory) and the receipt failures counter does not reflect silent discards.
5. Implementation Details
5.1 Technology Stack
| Layer | Technology | Purpose |
|---|---|---|
| Formal semantics | Agda | Dependent-type specification |
| Proof engine | Lean 4 + Mathlib | Machine-checked invariants |
| Reference backend | F# (.NET 8) | Executable semantics / conformance |
| Runtime | Rust (2021 edition) | Production simulator |
| CLI | carry-cli binary | `quantum init |
5.2 Build and Run
# Build
cargo build --release
# Run all tests (14/14)
cargo test
# Benchmark reference circuits
cargo run --bin carry-cli -- quantum benchmark
# Verify governance pipeline (ICP + ASP)
cargo run --bin carry-cli -- quantum verify
# Topological qubit demo
cargo run --bin carry-cli -- quantum topology
# Inspect FSM state
cargo run --bin carry-cli -- quantum inspect
# Audit trail
cargo run --bin carry-cli -- quantum audit
# Run with custom cycle limit
cargo run --bin carry-cli -- quantum run --max-cycle 500
5.3 Test Suite
| Test | What It Verifies |
|---|---|
test_core_simulator_statevector_and_purity |
StateVector init, H gate, norm validity, purity=1.0 |
test_density_matrix_simulator |
DensityMatrix init, CNOT, purity in (0,1] |
test_quantum_fsm_and_max_cycle |
FSM transitions, terminal absorption, cycle limit |
test_agent_pair_cross_verification |
Primary+partner qubit ownership, cross-verify |
test_asp_constraint_engine |
SAT/UNSAT on governance facts |
test_quantum_dag_provenance |
DAG node insertion, provenance hash chain |
test_icp_governance_gate_and_halt |
ICP pipeline, HALT on invalid state |
test_6052_emulator_hard_cycle_stop |
MAX_CYCLE termination, CYCLE_LIMIT status |
test_gitc_experiment |
GITC full cycle, invariant_holds correctness |
test_reference_circuits_benchmark |
Bell, GHZ, Teleportation, Deutsch, Grover, QFT |
6. Claims and Honest Scope
What CARRY is:
- A first-principles quantum circuit simulator with exact amplitude arithmetic
- A formally specified execution governance system (FSM + ICP + ASP + agent ownership)
- A research platform for governance-integrated quantum execution
- A proof-of-concept for the formal architecture: Agda spec β Lean proofs β F# reference β Rust runtime
- A correctly-classified research platform for topological qubit and braid group simulation (strand permutation layer)
What CARRY is not:
- A physical quantum computer or interface to one
- A verified implementation of the full non-Abelian Fibonacci anyon model (R/F matrices are absent)
- A complete formal verification β 4 open obligations remain
- A replacement for Qiskit, Cirq, or other production quantum simulators for large-scale circuit simulation
- A claim that the FTB braid synthesis is a valid gate synthesis algorithm (tagged RESEARCH_HYPOTHESIS)
Simulation vs Hardware
Every simulated entity carries a permanent SIMULATED_* tag. The PHYSICAL_QUBIT variant exists in the tag enum but has no constructor and cannot be instantiated by the simulator. No output of CARRY should be interpreted as evidence of physical quantum behavior.
7. Formal Verification Process
The formal verification methodology applied to this codebase follows a four-step protocol:
- State transition boundary isolation β identify exact points where state mutations resolve; define S_t, f, S_{t+1}
- Algebraic assertion formulation β conservation laws, algebraic boundaries, memory/concurrency safety
- SMT sanity check β Z3 pseudocode encoding of each invariant to find counterexamples before committing to Lean
- Interactive theorem prover lock-down β Lean 4 inductive types, base case + inductive step
Two independent agents conducted parallel extraction passes over disjoint file subsets:
- Agent A:
core.rs,fsm.rs,agents.rs,dag.rs,icp.rs,asp.rs,benchmarks.rs - Agent B:
topological.rs,ftb.rs,gitc.rs,emulator_6052.rs
All 9 defects identified were fixed and verified by re-running cargo test (14/14 pass). The Lean 4 invariant file QuantumInvariants.lean reflects the post-fix state of the system.
8. Future Work
| Priority | Item |
|---|---|
| High | Implement Fibonacci anyon R-matrix and F-matrix (pentagon + hexagon equations) |
| High | Close INV-2: Lean proof of purity bounds via Matrix.PosDef |
| High | Add gate target bounds check in apply_gate_to_statevector (MI-3) |
| High | Validate CustomUnitary matrix is unitary at construction (MI-4) |
| Medium | Wire F# conformance corpus to Rust test suite |
| Medium | Hermiticity enforcement and re-symmetrization for DensityMatrix (MI-1) |
| Medium | Dynamic ASP fact generation from actual simulator state (GITC coupling) |
| Medium | Synchronize FSM cycle count with agent cycle counts (MI-6) |
| Low | Close emulator termination axiom via well-founded recursion (OPEN-3) |
| Research | Promote FTB from RESEARCH_HYPOTHESIS to validated gate synthesis |
9. License and Attribution
License: AGPL-3.0-only
Authors:
- Ahmad Ali Parr β quantum module architecture, formal extraction, Gemini-assisted implementation
- Jessica L. Williams / SNAPKITTYWEST β formal architecture design, Agda/Lean specification, F# reference backend, invariant taxonomy
Named after: David Hilbert (1862β1943) β the mathematician who attempted to formalize all of mathematics. The attempt produced the foundations of modern logic, proof theory, and theoretical computer science.
Dependencies: Rust standard library only. No external quantum computing libraries.
Appendix A: File Index
| File | Description |
|---|---|
runtime/quantum/core.rs |
StateVector + DensityMatrix engines, gates, measurement |
runtime/quantum/fsm.rs |
7-state quantum FSM controller |
runtime/quantum/agents.rs |
Primary/partner agent pairs, ownership, cross-verification |
runtime/quantum/dag.rs |
Quantum execution DAG with provenance hashing |
runtime/quantum/icp.rs |
Integrity Constraint Protocol (6-stage pipeline) |
runtime/quantum/asp.rs |
Answer Set Programming constraint solver |
runtime/quantum/ftb.rs |
Fibonacci-Taylor Braid synthesis (RESEARCH_HYPOTHESIS) |
runtime/quantum/topological.rs |
Fibonacci anyon topological qubit simulator |
runtime/quantum/gitc.rs |
Governance Invariant Topological Cycle |
runtime/quantum/emulator_6052.rs |
Cycle-accurate 6052 instruction emulator |
runtime/quantum/benchmarks.rs |
Reference circuit benchmark suite |
runtime/quantum/mod.rs |
Module root |
runtime/quantum/QuantumInvariants.lean |
Lean 4 machine-checked invariants (13 total) |
runtime/quantum/QuantumSpec.agda |
Agda dependent-type specification |
runtime/quantum/QuantumReference.fs |
F# executable reference backend + conformance suite |
runtime/quantum/FORMAL_ARCHITECTURE.md |
Architecture document |
runtime/main.rs |
carry-cli binary |
SHA3-512: CARRY_QUANTUM_WHITEPAPER_v1.0_2026-08-21