Skip to content

Formal Verification

Formal Verification (naso-verify)

Overview

naso-verify is Naso’s embedded SMT-based verification engine. It uses Z3 to prove compile-time guarantees about linear resource usage, quantum uncomputation safety, array bounds, and polyhedral loop invariants.

Verification Targets

TargetCheckError Code
Linear resourcesEvery [1] consumed exactly onceNASO-LIN-*
Erased quantities[0] values eliminatedNASO-ERASE-*
Quantum uncomputationAncilla returned to $0\rangle$
Array boundsAll accesses in-boundsNASO-BND-*
Polyhedral schedulesDependences preservedNASO-POL-*