Essay · Reasoning
Make the Model Commit
Free-text reasoning is cheap and ungradeable. Make the model emit something a solver can falsify.
Key Takeaway
Improve model reliability by forcing it to emit checkable mathematical or symbolic structures (like SMT inputs or type definitions) verified by external solvers rather than relying on unstructured text.
A language model will produce a fluent, confident explanation of a scene that cannot physically exist — and an equally fluent one of a scene that can. The output surface is too cheap. Prose never has to commit to a constraint that something else can check, so a wrong answer costs the model nothing but a slightly different paragraph.
Propose, then verify
In one project I stopped asking the model to explain and started asking it to commit: emit a structured program — declared contacts, supports, centre-of-mass claims — and hand it to an SMT solver. Now a wrong claim is not a softly-worded sentence; it is an UNSAT. Either the centre of mass is over the support polygon or it is not. The model proposes; the checker disposes.
Why this generalises
Anywhere the answer has checkable structure — geometry, arithmetic, schedules, types, proofs, API contracts — you can push the model to emit that structure and verify it externally. This is the spine of the neuro-symbolic revival, and it is the most reliable way I know to make machine reasoning gradeable instead of merely persuasive. The verifier turns confidence into a testable claim.
The honest caveat
This only works where you can formalise the check, and most interesting questions resist formalisation. The space of problems with a clean external verifier is smaller than we would like. But for the slice that has one, “make the model commit to a verifiable artifact” beats “trust the prose” every single time — and it is worth designing problems so that more of them fall into that slice.