carry-agent / WHITEPAPER.md
SNAPKITTYWEST's picture
push from SNAPKITTYWEST/carry-agent
80d7559 verified
|
Raw History Blame Contribute Delete
22.9 kB

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 COMPUTE permission, owns a disjoint set of qubits
  • Partner agent β€” holds VERIFY, MONITOR, or RECOVER permission

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:

  1. State transition boundary isolation β€” identify exact points where state mutations resolve; define S_t, f, S_{t+1}
  2. Algebraic assertion formulation β€” conservation laws, algebraic boundaries, memory/concurrency safety
  3. SMT sanity check β€” Z3 pseudocode encoding of each invariant to find counterexamples before committing to Lean
  4. 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