Wrong models run anyway.
Catch the error before you simulate.
Paste an ODE system, PDE, reaction network, or tensor equation. ANANKE refuses the unsound ones — with the exact reason — before you waste a simulation. No LLM in the verdict.
dC/dt = -CL*C C: mg/L CL: L/hr
Ask an LLM if a model is sound — it guesses.
Returns a confident, plausible answer. It can't tell you the dimensions don't balance, that a rate constant carries the wrong units, or that the reaction creates mass — it pattern-matches and hopes. Run it and you waste days on a model that was broken from line one.
Refuses with the exact reason — which variable, which law, a witness — or verifies and seals a certificate. Deterministic: the same input always gives the same verdict, and an auditor re-derives the seal from the payload alone. When it can't decide, it says so; it never guesses.
One engine, structural truths decided without running anything.
These hold the moment you write the model — before any solver, independent of initial values. You write the model in one editor; the engine routes by what you wrote and runs the checks that apply.
Not another simulator.
The step before one.
MATLAB, NONMEM, SciPy, Julia will happily integrate a broken model and draw you a confident graph. ANANKE is the gate before that: verify the model is structurally sound, get an auditable certificate, then simulate in the tool you already use. Like a type checker for scientific models.
Verify before you
trust the graph.
Paste a model. Get a verdict, a reason, and a certificate.