Beyond probability
A language model produces the most plausible answer, not a guaranteed one. Plausible is fine for a chatbot; it is unacceptable for a brake controller or a production IAM policy.
Generative AI guesses; safety-critical systems can't. Apkallu Labs wraps large language models in formal verification — building a full-stack verified ecosystem from the code that flies aircraft to the cloud infrastructure that trains the models.
A language model produces the most plausible answer, not a guaranteed one. Plausible is fine for a chatbot; it is unacceptable for a brake controller or a production IAM policy.
Every AI-generated artifact — a C function, a Terraform plan — must discharge formal proof obligations before release. A hallucination can't get past a proof obligation.
Designed against DO-178C, ISO 26262, and the security baselines regulated infrastructure demands. If the logic doesn't hold, nothing ships.
Verifier Workbench puts the Prover-in-the-Loop to work on C code today. Each function is checked by a bounded model checker over a real SAT or SMT solver. Every refuted obligation comes with the inputs that break it, and a model's fix counts only when the checker proves it removes the defect and changes nothing else.
A live run on arith.c: CBMC 5.95.1 over Z3 4.8.12 refutes two obligations in 0.12 s. The sum in avg() overflows at a = b = −2147475457, and store() writes buf[16], one past the end of the array. Each finding carries the inputs that break it, in decimal and hex, and the path that reaches it.
Repair asks a model for a patch, then checks it mechanically. Here the first attempt is rejected: the behavior proof shows store(idx = 13, v = 128) would leave buf[13] different. The second widens the sum and tightens the guard; CBMC re-verifies it and proves both functions behave as before wherever the original was well-defined.
Each run gets a printable report: the checks and loop bound that applied, each proof obligation with its status, the counterexamples, the patch that held and every attempt it took to get there. Print it or save it as PDF.
Each product stands alone; together they form a verified stack — the logic that runs your systems, the infrastructure it runs on, and the expertise to operate both.
Write the formal contract; Studio's generate-and-prove loop produces an implementation that SMT solvers verify against it — then generates the MC/DC test vectors and certification evidence to match.
Describe infrastructure in natural language; Cloud generates the Terraform and Kubernetes manifests — and proves every plan against your security and compliance policies before anything is applied.
Hands-on expertise for the hard parts: on-prem cluster design and operations, documentation that is actually runnable, and strategy for putting AI to work without betting the company on a guess.
Standard LLM pipelines stop at "looks right." Ours wraps the model in a formal verification layer, so nothing leaves the loop without a proof — and every rejection makes the next attempt smarter.
A function contract, an infrastructure requirement, a policy constraint — stated once, formally.
A fine-tuned LLM drafts candidate code or configuration, constrained by the contract and coding standards.
SMT solvers check the candidate against every obligation. Invalid? The counterexample drives automatic repair. Valid? Correctness is proven, not sampled.
Proof logs, coverage, and traceability come out of the pipeline as first-class artifacts — ready for auditors, certification authorities, and your own postmortems.
store(idx = 13, v = 128) is well-defined in the original, but the global buf differs at buf[13] (original: 128, patched: 0).arith.c, as the Workbench logged it: the first patch changes what store() does and is rejected with a counterexample; the second is proved.Turning solver counterexamples into structured repair prompts that converge — measuring iteration counts, not vibes, on a public benchmark of safety-critical leaf functions.
Unique-cause MC/DC provably cannot isolate logically coupled conditions. We're building masking-MC/DC analysis that covers them soundly instead of flagging them and moving on.
Encoding cloud security baselines as machine-checkable obligations, so "no public buckets, ever" is a theorem about the plan — not a linter rule someone can silence.
We hire people who think a counterexample is good news. Remote-friendly, headquartered in Renton, Washington.
Frama-C/WP, SMT solving, and the taste to keep specifications honest.
Own the generate-and-repair loop: prompting, fine-tuning, and convergence benchmarks.
Kubernetes, Terraform internals, and the pipeline that proves both.
Tell us which layer you need — code, infrastructure, or expertise — and we'll take it from there.