Verified math and code
Right at math and code.
Proven, not promised.
Verdict adapts a model to be correct at math and code, then checks every answer with sympy and real unit tests before you see it.
The problem
Sounding right is not being right.
Generic models answer math and code in a confident, fluent voice. On hard problems that voice often hides a wrong answer. The fix is not a better tone. It is a check.
Sum the divisors of 28.
Fluent, formatted, and wrong. Nothing ran.
Sum the divisors of 28.
Same question. Answer matched by sympy, then kept.
The thesis
Math and code are checkable. So the improvement is provable.
Every answer is run through a check before it counts. Two checks carry the whole idea.
sympy checks the math
✓ verifiedThe proposed answer is compared to the reference with a symbolic engine, so an algebraically equal form still counts as correct.
real tests run the code
✓ tests passThe proposed program is executed against a real unit test suite. If a test fails, the solution is dropped. Only passers are kept.
Verified, not vouched for
13,260 rows passed a real check.
The cards below are illustrative. The counts are not. I checked every math answer against an independent gold standard three ways, ran every code snippet against real unit tests, and labelled the rows I did not check instead of counting them in.
- calculus✓ verified
d/dx [ x sin x ]
sin x + x cos x
sympy diff == diff → True - number theory✓ verified
gcd(252, 198)
18
sympy gcd(252,198) == 18 → True - arrays✓ verified
max_subarray(nums)
Kadane, O(n)
pytest 14 / 14 passed - strings✓ verified
group_anagrams(words)
sorted key buckets
pytest 11 / 11 passed - algebra✓ verified
Σ k for k = 1..100
5050
sympy summation == 5050 → True - graphs✓ verified
shortest_path(g, s, t)
BFS on unweighted
pytest 8 / 8 passed
How it works
From verified data to a number you can check.
- 01
Build the verified data
17,000 rows from 7 named public corpora. 9,104 math rows checked against an independent gold standard, 4,156 code rows run against unit tests, and 3,740 general rows I did not check and did not pretend to.
- 02
Adapt on Adaption
Adaptive Data by Adaption ingested 17,586 rows from the corpus and ran the adaptation. The platform scored the data 8.0 before the pass and 8.2 after, grade B either side.
- 03
Measure it head to head
AutoScientist scored the adapted model against the base, head to head. Adapted 46. Base 54. It went backwards, and the run state says exactly why.
- 04
Ship all of it open
Dataset, build scripts, weights, and the result that lost. All of it on Hugging Face and Kaggle. Four commands on the open page settle every number here.