| name | math-help |
| description | Guide to the math cognitive stack - what tools exist and when to use each |
| triggers | help, guide, how do I, what math, math help, math tools, which tool, math tutorial |
| user-invocable | false |
Math Cognitive Stack Guide
Cognitive prosthetics for exact mathematical computation. This guide helps you choose the right tool for your math task.
Quick Reference
| I want to... | Use this | Example |
|---|---|---|
| Solve equations | sympy_compute.py solve | solve "x**2 - 4 = 0" --var x |
| Integrate/differentiate | sympy_compute.py | integrate "sin(x)" --var x |
| Compute limits | sympy_compute.py limit | limit "sin(x)/x" --var x --to 0 |
| Matrix operations | sympy_compute.py / numpy_compute.py | det "[[1,2],[3,4]]" |
| Verify a reasoning step | math_scratchpad.py verify | verify "x = 2 implies x^2 = 4" |
| Check a proof chain | math_scratchpad.py chain | chain --steps '[...]' |
| Get progressive hints | math_tutor.py hint | hint "Solve x^2 - 4 = 0" --level 2 |
| Generate practice problems | math_tutor.py generate | generate --topic algebra --difficulty 2 |
| Prove a theorem (constraints) | z3_solve.py prove | prove "x + y == y + x" --vars x y |
| Check satisfiability | z3_solve.py sat | sat "x > 0, x < 10, x*x == 49" |
| Optimize with constraints | z3_solve.py optimize | optimize "x + y" --constraints "..." |
| Plot 2D/3D functions | math_plot.py | plot2d "sin(x)" --range -10 10 |
| Arbitrary precision | mpmath_compute.py | pi --dps 100 |
| Numerical optimization | scipy_compute.py | minimize "x**2 + 2*x" "5" |
| Formal machine proof | Lean 4 (lean4 skill) | /lean4 |
The Five Layers
Layer 1: SymPy (Symbolic Algebra)
When: Exact algebraic computation - solving, calculus, simplification, matrix algebra.
Key Commands:
# Solve equation
uv run python -m runtime.harness scripts/sympy_compute.py \
solve "x**2 - 5*x + 6 = 0" --var x --domain real
# Integrate
uv run python -m runtime.harness scripts/sympy_compute.py \
integrate "sin(x)" --var x
# Definite integral
uv run python -m runtime.harness scripts/sympy_compute.py \
integrate "x**2" --var x --bounds 0 1
# Differentiate (2nd order)
uv run python -m runtime.harness scripts/sympy_compute.py \
diff "x**3" --var x --order 2
# Simplify (trig strategy)
uv run python -m runtime.harness scripts/sympy_compute.py \
simplify "sin(x)**2 + cos(x)**2" --strategy trig
# Limit
uv run python -m runtime.harness scripts/sympy_compute.py \
limit "sin(x)/x" --var x --to 0
# Matrix eigenvalues
uv run python -m runtime.harness scripts/sympy_compute.py \
eigenvalues "[[1,2],[3,4]]"
Best For: Closed-form solutions, calculus, exact algebra.
Layer 2: Z3 (Constraint Solving & Theorem Proving)
When: Proving theorems, checking satisfiability, constraint optimization.
Key Commands:
# Prove commutativity
uv run python -m runtime.harness scripts/z3_solve.py \
prove "x + y == y + x" --vars x y --type int
# Check satisfiability
uv run python -m runtime.harness scripts/z3_solve.py \
sat "x > 0, x < 10, x*x == 49" --type int
# Optimize
uv run python -m runtime.harness scripts/z3_solve.py \
optimize "x + y" --constraints "x >= 0, y >= 0, x + y <= 100" \
--direction maximize --type real
Best For: Logical proofs, constraint satisfaction, optimization with constraints.
Layer 3: Math Scratchpad (Reasoning Verification)
When: Verifying step-by-step reasoning, checking derivation chains.
Key Commands:
# Verify single step
uv run python -m runtime.harness scripts/math_scratchpad.py \
verify "x = 2 implies x^2 = 4"
# Verify with context
uv run python -m runtime.harness scripts/math_scratchpad.py \
verify "x^2 = 4" --context '{"x": 2}'
# Verify chain of reasoning
uv run python -m runtime.harness scripts/math_scratchpad.py \
chain --steps '["x^2 - 4 = 0", "(x-2)(x+2) = 0", "x = 2 or x = -2"]'
# Explain a step
uv run python -m runtime.harness scripts/math_scratchpad.py \
explain "d/dx(x^3) = 3*x^2"
Best For: Checking your work, validating derivations, step-by-step verification.
Layer 4: Math Tutor (Educational)
When: Learning, getting hints, generating practice problems.
Key Commands:
# Step-by-step solution
uv run python scripts/math_tutor.py steps "x**2 - 5*x + 6 = 0" --operation solve
# Progressive hint (level 1-5)
uv run python scripts/math_tutor.py hint "Solve x**2 - 4 = 0" --level 2
# Generate practice problem
uv run python scripts/math_tutor.py generate --topic algebra --difficulty 2
Best For: Learning, tutoring, practice.
Layer 5: Lean 4 (Formal Proofs)
When: Rigorous machine-verified mathematical proofs, category theory, type theory.
Access: Use /lean4 skill for full documentation.
Best For: Publication-grade proofs, dependent types, category theory.
Numerical Tools
For numerical (not symbolic) computation:
NumPy (160 functions)
# Matrix operations
uv run python scripts/numpy_compute.py det "[[1,2],[3,4]]"
uv run python scripts/numpy_compute.py inv "[[1,2],[3,4]]"
uv run python scripts/numpy_compute.py eig "[[1,2],[3,4]]"
uv run python scripts/numpy_compute.py svd "[[1,2,3],[4,5,6]]"
# Solve linear system
uv run python scripts/numpy_compute.py solve "[[3,1],[1,2]]" "[9,8]"
SciPy (289 functions)
# Minimize function
uv run python scripts/scipy_compute.py minimize "x**2 + 2*x" "5"
# Find root
uv run python scripts/scipy_compute.py root "x**3 - x - 2" "1.5"
# Curve fitting
uv run python scripts/scipy_compute.py curve_fit "a*exp(-b*x)" "0,1,2,3" "1,0.6,0.4,0.2" "1,0.5"
mpmath (153 functions, arbitrary precision)
# Pi to 100 decimal places
uv run python scripts/mpmath_compute.py pi --dps 100
# Arbitrary precision sqrt
uv run python -m scripts.mpmath_compute mp_sqrt "2" --dps 100
Visualization
math_plot.py
# 2D plot
uv run python scripts/math_plot.py plot2d "sin(x)" \
--var x --range -10 10 --output plot.png
# 3D surface
uv run python scripts/math_plot.py plot3d "x**2 + y**2" \
--xvar x --yvar y --range 5 --output surface.html
# Multiple functions
uv run python scripts/math_plot.py plot2d-multi "sin(x),cos(x)" \
--var x --range -6.28 6.28 --output multi.png
# LaTeX rendering
uv run python scripts/math_plot.py latex "\\int e^{-x^2} dx" --output equation.png
Educational Features
5-Level Hint System
| Level | Category | What You Get |
|---|---|---|
| 1 | Conceptual | General direction, topic identification |
| 2 | Strategic | Approach to use, technique selection |
| 3 | Tactical | Specific steps, intermediate goals |
| 4 | Computational | Intermediate results, partial solutions |
| 5 | Answer | Full solution with explanation |
Usage:
# Start with conceptual hint
uv run python scripts/math_tutor.py hint "integrate x*sin(x)" --level 1
# Get more specific guidance
uv run python scripts/math_tutor.py hint "integrate x*sin(x)" --level 3
Step-by-Step Solutions
uv run python scripts/math_tutor.py steps "x**2 - 5*x + 6 = 0" --operation solve
Returns structured steps with:
- Step number and type
- From/to expressions
- Rule applied
- Justification
Common Workflows
Workflow 1: Solve and Verify
- Solve with sympy_compute.py
- Verify solution with math_scratchpad.py
- Plot to visualize (optional)
# Solve
uv run python -m runtime.harness scripts/sympy_compute.py \
solve "x**2 - 4 = 0" --var x
# Verify the solutions work
uv run python -m runtime.harness scripts/math_scratchpad.py \
verify "x = 2 implies x^2 - 4 = 0"
Workflow 2: Learn a Concept
- Generate practice problem with math_tutor.py
- Use progressive hints (level 1, then 2, etc.)
- Get full solution if stuck
# Generate problem
uv run python scripts/math_tutor.py generate --topic calculus --difficulty 2
# Get hints progressively
uv run python scripts/math_tutor.py hint "..." --level 1
uv run python scripts/math_tutor.py hint "..." --level 2
# Full solution
uv run python scripts/math_tutor.py steps "..." --operation integrate
Workflow 3: Prove and Formalize
- Check theorem with z3_solve.py (constraint-level proof)
- If rigorous proof needed, use Lean 4
# Quick check with Z3
uv run python -m runtime.harness scripts/z3_solve.py \
prove "x*y == y*x" --vars x y --type int
# For formal proof, use /lean4 skill
Choosing the Right Tool
Is it SYMBOLIC (exact answers)?
└─ Yes → Use SymPy
├─ Equations → sympy_compute.py solve
├─ Calculus → sympy_compute.py integrate/diff/limit
└─ Simplify → sympy_compute.py simplify
Is it a PROOF or CONSTRAINT problem?
└─ Yes → Use Z3
├─ True/False theorem → z3_solve.py prove
├─ Find values → z3_solve.py sat
└─ Optimize → z3_solve.py optimize
Is it NUMERICAL (approximate answers)?
└─ Yes → Use NumPy/SciPy
├─ Linear algebra → numpy_compute.py
├─ Optimization → scipy_compute.py minimize
└─ High precision → mpmath_compute.py
Need to VERIFY reasoning?
└─ Yes → Use Math Scratchpad
├─ Single step → math_scratchpad.py verify
└─ Chain → math_scratchpad.py chain
Want to LEARN/PRACTICE?
└─ Yes → Use Math Tutor
├─ Hints → math_tutor.py hint
└─ Practice → math_tutor.py generate
Need MACHINE-VERIFIED formal proof?
└─ Yes → Use Lean 4 (see /lean4 skill)
Related Skills
/mathor/math-mode- Quick access to the orchestration skill/lean4- Formal theorem proving with Lean 4/lean4-functors- Category theory functors/lean4-nat-trans- Natural transformations/lean4-limits- Limits and colimits
Requirements
All math scripts are installed via:
uv sync
Dependencies: sympy, z3-solver, numpy, scipy, mpmath, matplotlib, plotly