On this page
One-one and onto proofs come early in the first chapter of NCERT Class 12 Maths, and two slips are easy to make in them: a factor quietly cancelled, or a square root taken without checking it exists. AI can find those slips if you write the proof yourself and ask it to attack each step.
What do one-one and onto actually require?
The definitions come from Section 1.3 of the NCERT Class 12 Mathematics textbook, Chapter 1.
One-one (injective): a function f: X → Y is one-one if, for every x1, x2 in X, f(x1) = f(x2) implies x1 = x2.
Onto (surjective): f is onto if, for every y in Y, there exists an x in X such that f(x) = y.
Bijective: both one-one and onto.
A one-one proof must rule out every pair of different inputs with the same output. An onto proof must produce an x for every y in the codomain, and that x must really lie in the domain. The same NCERT chapter shows that f(x) = x² on the real numbers is neither: f(−1) = f(1), and −2 is never an output. Our explainer on one-one and onto functions covers the basics.
Why not just ask AI to write the proof?
Because a fluent proof is not a correct one. In the Proof or Bluff study of the 2025 USA Math Olympiad, Petrov and colleagues had expert judges grade full proofs from several reasoning models in March 2025: only one model reached 25%, and all the others scored under 5%.
A second study of sycophancy in language models by Sharma and colleagues found that five AI assistants tended to agree with what the user believes, and that people sometimes preferred a convincingly written agreeable answer over a correct one. If you ask "Is my proof right?", you invite a yes. We have written more about this in why AI sometimes agrees with your wrong answer.
So flip the job. You write the proof. The AI's only task is to break it.
How do you prove a quadratic is one-one and onto, step by step?
Take f(x) = x² − 4x + 7. Here is a typical first draft, claiming f: R → R is a bijection.
One-one: suppose f(a) = f(b). Then a² − 4a = b² − 4b, so (a − b)(a + b − 4) = 0, so a = b.
Onto: let y = x² − 4x + 7. Completing the square, y = (x − 2)² + 3, so x = 2 ± √(y − 3). Every y has a preimage.
Ask the AI to attack each numbered step. It should find two holes.
Step 1 fails. The product is zero if a = b or a + b = 4. Take a = 1 and b = 3: f(1) = 4 and f(3) = 4. Two inputs, one output.
Step 2 fails. √(y − 3) is real only when y ≥ 3. Take y = 1: there is no real x with f(x) = 1, because f(x) is never below 3.
The fix is to choose the domain and codomain on purpose: f: [2, ∞) → [3, ∞).
One-one: (a − b)(a + b − 4) = 0 as before. With a, b ≥ 2, a + b − 4 = 0 forces a = b = 2. Either way a = b.
Onto: for any y ≥ 3, take x = 2 + √(y − 3). Then x ≥ 2, so x is in the domain, and f(x) = (√(y − 3))² + 3 = y.
Our post on restricting the domain to make a function one-one works through more cases.
What should you type into the AI?
Paste your proof with numbered steps, then use a prompt like this:
"Here is my proof that f is one-one and onto, with the domain and codomain stated. Do not rewrite it. For each numbered step, try to find a specific counterexample: two different inputs with the same output, or a value in the codomain with no preimage. If you find a counterexample, give the actual numbers."
Then check the AI's work the same way you check yours:
Plug every counterexample it gives back into f yourself. If the two outputs it names are not equal, the AI was wrong, not you.
If it says a step is fine, ask it to name the exact line where the domain was used.
If the slip is in method rather than in one line, the Fermi Problem Library has worked problems with a step-by-step solver that explains the reasoning rather than printing an answer. And when you are not sure where your gaps in relations and functions are, Fermi's AI tutor works out what you already know and builds a plan for the session.
Next time you write a one-one or onto proof, number the steps, then spend two minutes asking for a counterexample to each before you call it done.



