v0.9.0 Pure-std Rust compiler · C · WebAssembly · SMT-LIB2

Write the physics once. Solve for any unknown.

Aven is a relational language for physical and operational systems. Equations are invariants, not assignments: give Aven any sufficient set of knowns and it settles the rest, checks the units, records every derived fact in a hash-chained ledger, and compiles pinned models to solver-free C or WebAssembly.

dynamics.aven
// One equation. No input or output is fixed.
relation Dynamics {
    force = mass * acceleration
}

// Knowns go in a solve block; Aven settles the rest.
solve Dynamics with {
    force        = 4200.0
    acceleration = 5.0
}
$ avenc run dynamics.aven
Solver Trace:
  [force = mass * acceleration] mass <- backward Newton

Settled Environment:
  acceleration     = 5.0000
  force            = 4200.0000
  mass             = 840.0000

Fact Ledger: 3 facts settled.
0
External crates
Compiler, solver and SHA-256 are Rust std only
1414.9µs
Median solve, including IPC
avenc bench evaluations/flight_mesh/flight_mesh_ipc.aven --iterations 2000. Log: evaluations/flight_mesh/runs/2026-10-27-linux/avenc_bench.txt. 4-vCPU Linux container, 2026-10-27.
664.3/s
Solves per second, one client
Same command and log.
4
Execution targets
Native solver, C99, WebAssembly, SMT-LIB2
Live demo

The real solver, running in your browser

This is the actual Aven omnidirectional solver compiled to WebAssembly — not a one-way calculator. Change the inputs to solve forward, or switch to reverse to fix a target and let it solve backward for an input. The model is examples/server_capacity.aven, a Little's Law sizing relation. Nothing is sent to a server.

Inputs
Solved values
Loading solver…
Model solved this tick

            

The solver (symbolic forward evaluation plus guarded Newton–Raphson) is compiled from the same Rust that powers avenc run — 348 KB of WebAssembly, instantiated with no imports. Both directions run entirely in your browser.

What it does

One model, checked, solved, explained and compiled

Solve in any direction

Relations have no fixed inputs. Aven evaluates forward where it can, and solves backward with symbolic derivatives and guarded Newton–Raphson where it must.

avenc run

Units checked and converted

Dimensions are inferred across every equation; adding m/s to s is a compile error. Values given in km/h, hPa or MB are converted before solving and shown back in their own units.

avenc check

Tamper-evident audit log

Every settled fact extends a SHA-256 hash chain, optionally HMAC-signed. Edits, deletions, reordering and truncation are all detected. Stale inputs block the decision (exit code 3).

avenc verify-ledger

Optimization with certificates

minimize and maximize over real and integer variables. Results are labelled proven optimal only when a bound certifies them. Pareto frontiers with knee detection.

avenc pareto

Solver-free C and WebAssembly

forward blocks compile to branchless C99 or WebAssembly 1.0 with no runtime. Generated C is checked to match avenc run exactly.

avenc emit-c · avenc emit-wasm

Explain every number

Print the derivation tree of any value, replay a run in the time-travel debugger, branch a what-if, or export the model to SMT-LIB2 for Z3 or CVC5.

avenc why · avenc debug · avenc emit-smt
Workflow

From model to deployment

Real output from examples/server_capacity.aven, a Little's Law sizing model.

avenc check
$ avenc check examples/server_capacity.aven
Checking module 'examples/server_capacity.aven'...
  Blocks:   2
  Solves:   1

✓ Dimensional Analysis PASSED:
  Verified 10 equation(s) across SI/Systems unit registry.

✓ System Determinacy PASSED: All relation blocks have
  0 degrees of freedom.
Verification

Claims are checked against independent references

The verify/ harnesses in the repository compare Aven with established tools, and tests/claims.rs turns each documented claim into a test.

HarnessWhat it checks
verify/oracle.pyAnswers match HiGHS and SciPy on random integer, linear, infeasible, unbounded, nonconvex-integer and smooth models.
verify/c_diff.pyEmitted C compiles warning-free, is branchless, and matches avenc run exactly.
verify/fuzz.pyMalformed and adversarial input never crashes, panics or hangs the compiler.
verify/ledger_tamper.pyEvery tampering technique tried on an audit log is detected.
verify/live_atmosphere.pyThe flight model matches an independent ISA computation on 150 live aircraft.

Build your first model in fifteen minutes

The guide walks from installation to solving, unit checking, optimization and code generation, with every example runnable as written.