Interactive profile
fastLow-latency-oriented solver profile for the edit/verify loop.
Aura integrates contracts and Z3-backed verification into the ordinary toolchain. The differentiator is not merely “there is an SMT solver”; it is the path from source obligation to structured, source-oriented feedback.
This is a precise explanatory visualization of the repository’s proof architecture — not a simulated claim that the browser is executing Z3.
cell bounded_inc(x: u32[0..99]) -> u32:
requires x < 100
ensures result <= 100
val next: u32 = x + 1
assert next <= 100
nextThis panel explains the repository’s proof flow; it is not a browser-hosted compiler session.
Timeout and solver unknown are not proofs. Counterexamples are not just red badges. Each state needs to survive the trip back to the developer without being flattened into marketing-friendly success/failure.
Source intent becomes an explicit proof obligation.
Semantic state is lowered into verifier-consumable constraints.
Feature-gated Z3 runs under fast, ci or thorough profiles.
Proof, counterexample, timeout or unknown remain distinct outcomes.
Counterexample data can be mapped toward Aura types and source ranges.
aura-lsp streams phases and structured diagnostics to Sentinel/editor clients.
Low-latency-oriented solver profile for the edit/verify loop.
CI-oriented defaults intended to balance depth with repeatable automation.
Deeper verification mode; the repository’s verification example notes quantifier acceptance under thorough.
cargo run -p aura --features z3 -- verify main.aura --smt-profile fast
# optional warm solver state inside a run
AURA_Z3_INCREMENTAL=1 cargo run -p aura --features z3 -- verify main.auraThe documented aura.counterexample.v2 shape can carry bindings, values, value kinds, Aura type information, relevance, source ranges and source-anchored injections when available.
sat
(model
(define-fun p () Int 180)
)assert p <= 100
^^^^^^^^
p: u32 = 180
relevant: true
source: this assertionAura’s website deliberately refuses “formally verified compiler” and universal latency claims that the repository does not establish.