Solve Math Rigorously
Overview
This skill is solver-first. Default to understanding the mathematical object, mapping the problem, choosing the right method family, solving in inspectable steps, and testing the result before sounding certain. If the source is a photo, screenshot, or uploaded page, first turn it into a trustworthy transcription and diagram map, then solve from that map. Teaching, worksheets, and lesson generation remain available, but they are secondary to accurate problem solving.
Claude-First Usage
This skill is intended to work well in Claude Desktop and Claude chat surfaces.
- Treat uploaded images and PDFs as first-class inputs.
- Prefer Claude's native multimodal reading first.
- Use the helper scripts only when the environment actually supports code execution.
- If code execution is unavailable, do not block on tooling. Continue with careful transcription, reasoning, and explicit uncertainty handling.
Read references/claude-surface-playbook.md before assuming tools or file-system access.
Default Solver Mode
Use this mode unless the user explicitly asks for something else.
Core standard:
- Understand the problem before transforming it.
- Build a problem map before committing to a method.
- Solve one hinge step at a time.
- Check every candidate result aggressively.
- Present the logic in the order a strong human solver would want to read it.
Solver Operating Modes
solver: full map, full method selection, clear derivation, and independent verificationphoto-solver: inspect the image, transcribe and map the task carefully, resolve or flag ambiguities, then solve and verifyfast-answer: concise visible output, but still do the mapping and verification internallyworked-solution: show the derivation in full, with the hinge step and method choice made explicitproof: separate exploration from proof, test for counterexamples early, then write a clean argumentexam: minimize exposition, show only essential steps, and make the final answer easy to gradetutor: reveal the next move or next subgoal rather than dumping the whole solution at once
Secondary educational modes remain available when the user explicitly wants them:
diagnosticworksheetlessonreviewprimary-schoolparent-teacher
Photo Intake Protocol
If the task comes from a photo, screenshot, scanned page, uploaded PDF, whiteboard, or handwritten note:
- Inspect the whole image before reading line by line. Determine whether it contains one problem, multiple problems, or a diagram plus text.
- Delimit the task boundaries. Do not accidentally solve the wrong subproblem from the page.
- Transcribe the problem exactly, preserving:
- symbols
- exponents
- fractions
- radicals
- inequality signs
- labels on diagrams, axes, and tables
- Separate
clearly read,inferred from context, anduncertaincontent. - For diagrams, record explicit givens separately from what only appears visually plausible. Do not infer exact equality or scale from a sketch unless it is marked or stated.
- If legibility is poor and code execution is available, use
scripts/math_photo_helper.pyto create enhanced views before solving. - When ambiguity still matters after enhancement, state the competing readings and either ask the user to confirm or solve each plausible interpretation.
Read references/photo-mapping-playbook.md, references/diagram-reading-playbook.md, and references/claude-surface-playbook.md for photo-based tasks.
Problem Mapping Protocol
Before solving, map the task explicitly:
- Restate the target in mathematical terms.
- If the source is a photo, restate from the verified transcription, not from a guess.
- Identify the mathematical object:
- simplification or evaluation
- equation or system
- inequality
- optimization
- proof
- counting or probability
- recurrence or sequence
- geometry or trigonometry
- modeling or word problem
- Define symbols, givens, unknowns, domain restrictions, units, hidden constraints, and any uncertain glyphs or labels coming from the source.
- Decide what counts as a complete answer:
- exact value
- approximation
- all solutions
- proof
- interval or region
- extremum and where it occurs
- List 2-3 plausible method families before choosing one.
Read references/problem-mapping-playbook.md when the problem is dense, ambiguous, or easy to misclassify.
Method Selection
Choose methods by triggers, not habit.
- Factor, substitute, or change form when the expression structure suggests it.
- Use symmetry, invariants, parity, or monotonicity when brute force looks wasteful.
- Use coordinates, vectors, or a diagram when geometry becomes algebra more cleanly than synthetic reasoning.
- Use derivative, convexity, or endpoint analysis for optimization.
- Use complements, conditioning, linearity of expectation, or counting models in probability and combinatorics.
- Use a small-case search or counterexample hunt before attempting a universal proof.
Read references/method-selection-playbook.md when choosing between competing approaches.
Solver Loop
Run the solve loop deliberately:
- Choose the most promising branch.
- Carry the branch until a hinge step succeeds or clearly stalls.
- After each nontrivial step, checkpoint:
- Is the transformation valid?
- Did any domain restriction change?
- Is the new form actually easier?
- If the branch stalls, pivot instead of forcing it:
- change representation
- try a smaller case
- isolate a subgoal
- differentiate or factor
- translate to coordinates or a table
- Once a candidate answer appears, verify it before polishing the explanation.
Read references/solver-loop-playbook.md when the path is not obvious or when a first attempt stalls.
Step-By-Step Communication Standard
- Expose the hinge step. Do not skip the move that makes the solution work.
- If the source was a photo and the reading was not obvious, show the interpreted statement before solving.
- Justify the operation when it is not immediate.
- Keep notation stable. Do not silently rename objects or switch parameter meanings.
- Separate exact values from approximations.
- For proofs, separate exploration from the final proof.
- For systems or longer derivations, summarize subgoals as you move.
- If a result is only numerically supported, say that clearly.
Verification And Testing
Escalate verification until confidence is genuinely high:
- Sanity checks:
- sign
- scale
- units
- symmetry
- boundary behavior
- special values
- Structural checks:
- substitute back
- differentiate or integrate back
- compare equivalent forms
- verify constraints and excluded cases
- Independent checks:
- solve a second way
- compute a small case
- estimate numerically
- use a geometric or probabilistic interpretation
- Tool-assisted checks:
- use
scripts/math_verify.py - use
scripts/math_visualize.py - use
scripts/math_table.pywhen a table exposes the pattern better than prose - use
scripts/math_photo_helper.pywhen better preprocessing is needed to trust the transcription
- use
Read references/verification-playbook.md before claiming confidence on nontrivial work.
Tooling
If code execution is available and sympy, numpy, or matplotlib are unavailable, bootstrap a local environment from the skill root:
bash scripts/bootstrap_env.sh
Then run the helpers with .venv/bin/python3. If code execution is not available in the Claude surface, continue without scripts and make the verification status explicit in the response.
scripts/math_verify.py
Use this helper for direct solver-side checks.
Capabilities:
- expression equivalence
- derivative checks
- antiderivative checks
- definite integral checks
- substitution and evaluation
- direct relation satisfaction check