返回目录
模型与 MCP 插件

math-rigor

bauerelizabeth07139/math-rigor

Auditable mathematical proving for DeepSeek Harness: a local stdio MCP server (23 tools), a bundled workflow skill, and the /prove and /audit-proof commands. proven / refuted / inconclusive are never conflated, and unproven steps are reported, not hidden.

Stars
0
Forks
0
Issues
0
更新
3 天前

PROJECT TOPICS

项目标签

INSTALL REFERENCE

安装参考

未验证
dsh plugin --profile web add github:bauerelizabeth07139/math-rigor

该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。

PROJECT README

README

∷ math-rigor ∷

可审计的数学证明工具链,作为 DSH 插件运行:本地 stdio MCP 服务器(23 个工具)+ 流程 skill + 两个 slash 命令

Auditable mathematical proving for DeepSeek Harness: a local stdio MCP server (23 tools), a bundled workflow skill, and two slash commands.

∀ ε > 0, ∃ δ > 0, s.t. |x − a| < δ ⟹ |f(x) − L| < ε

[GitHub stars]() [GitHub forks]() [GitHub issues]() [GitHub release]() [CI status]() [version]() License [Python]() [MCP]() [tools]()


这是什么

dsh-math-rigor 是一个 Cordis host plugin(DSH 0.2.x)。装进 profile 后它做三件事:

  1. 准备并使用隔离的 Python 3.10+ 虚拟环境,以 stdio 启动 server/math_rigor_server.py,经 @deepseek-ai/dsh-mcp-client 接入 DSH;服务器注册的 23 个工具在 agent 侧显示为 mcp__math_rigor__<tool>(如 mcp__math_rigor__proof_start)。
  2. 注册 bundled skill math-rigor(source: 'bundled',模型与用户均可触发)。
  3. 注册 slash 命令 /prove 与 /audit-proof。

设计上只坚持一件事:判定词汇不混用。

判定 含义
proven 否定式被证明不可满足,可以当结论用
refuted 给出了具体反例,命题为假
inconclusive 求解器未决定且未找到反例,不是证明
verified 审计:每一步都被机器检查,目标已导出
sound_with_gaps 审计:结构成立、无被推翻项,但有未检查步骤(逐条列出)
flawed 审计:有被推翻/无效步骤、未解除假设、未证明引理,或目标未导出

安装

Desktop 应用 —— Plugins → Add plugin,填入 https://github.com/bauerelizabeth07139/math-rigor,装好后打开新 bundle 的开关。Desktop 启动的是保留 profile desktop。

CLI —— --profile 换成你实际启动的那个 profile;装进别的 profile,当前会话不会加载它。

dsh plugin --profile web add bauerelizabeth07139/math-rigor

机器上没有 git —— pnpm 解析 owner/repo 这类 git 简写时要调用 git ls-remote,改填 tarball 地址(把 main 换成 commit SHA 可固定构建;同一地址也能填进 Desktop 对话框)。

dsh plugin --profile web add https://codeload.github.com/bauerelizabeth07139/math-rigor/tar.gz/main

首次运行:先建好 Python 环境

MCP 工具在 Python 环境存在之前不可用。 两种建法:

A. 让插件自己建 —— loader row 里打开 setup;插件在加载阶段创建 <home>/venv 并执行 pip install -r requirements.txt(需要网络,通常数分钟,会阻塞加载到 setupTimeoutMs 为止)。

- id: dsh-math-rigor
  config:
    setup: true

B. 先跑离线脚本 —— --home 必须与插件实际使用的 home 一致:

Windows:  py -3 tools/setup_dsh.py --home "%USERPROFILE%\.dsh\math-rigor"
POSIX:    python3 tools/setup_dsh.py --home ~/.dsh/math-rigor

环境未就绪时,插件记一条 warning,注册 skill 与两个命令,不挂载任何 MCP 工具;两个命令以 error 返回,并给出需要执行的确切命令(含 --home "<home>")和「重启 DSH profile」的提示。环境就绪后重启 profile。

依赖 版本
Python 3.10+
mcp / sympy / z3-solver / mpmath 2.2.0 / 1.14.0 / 5.1.0.0 / 1.3.0

这四项就是 requirements.txt 声明的全部依赖。加载时插件要求 <home>/venv 的解释器 ≥ 3.10、import mcp, sympy, z3, mpmath 成功,且 venv/.requirements.sha256 与 requirements.txt 的 sha256 一致;任一不满足即视为环境不合格。


配置

配置项来自 index.js 的 schemastery Config,写在 profile 的 loader row 里。

键 类型 默认值 说明
home string $DSH_HOME/math-rigor;DSH_HOME 未设置时 ~/.dsh/math-rigor 数据目录;venv 在 <home>/venv,证明会话在 <home>/sessions
python string 空 显式指定解释器;空则探测 Windows 的 python.exe/py、其他平台的 python3/python
setup boolean false 加载时创建 venv 并安装依赖
setupTimeoutMs number 600000 1000–600000,步长 1;setup 总预算
toolCallTimeoutMs number 300000 1000–600000,步长 1;单次 MCP 工具调用超时

在 loader row 里覆盖某一项:

- id: dsh-math-rigor
  config:
    home: "D:/math-rigor-data"
    setupTimeoutMs: 900000

home 会以环境变量 MATH_RIGOR_HOME 传给 MCP 服务器;~ 与 ~/... 展开为当前用户主目录。


命令

命令 参数 行为
/prove <mathematical proposition> 排入六阶段严格证明流程:形式化 → 策略 → 引理分解 → 逐步证明(每步机检)→ 机器审计 → 如实报告
/audit-proof <proof text or math-rigor session id> 排入证明审查流程:拆成步骤 DAG、逐条读 verdict、结构性审查、给出问题清单

两者都要求环境已就绪,否则直接返回错误;参数为空时拒绝并提示用法。排入的消息以「Load the math-rigor skill before acting」开头,agent 先加载 skill 再按 commands/*.md 的正文执行。


Skill

bundle 自带 math-rigor skill(skills/math-rigor/SKILL.md),在证明、推导、恒等式/不等式验证、归纳、整除、反例搜索、证明审查类任务上触发,规定六阶段流程与结果语义,并附 4 份参考文件:inference-rules.md(22 条逻辑规则 + 19 种非逻辑理由)、strategies.md、notation.md、worked-examples.md。


工具总表

server/math_rigor_server.py 共 23 个 @server.tool 注册。在 DSH 里调用请使用 mcp__math_rigor__ 前缀后的完整名称。

分组 工具 用途
会话 proof_workflow 返回流程阶段、判定词汇表与审计强制检查项
会话 proof_start 开一个证明会话:登记问题、精确目标、每个符号的定义域
会话 proof_add_given 登记题面给定的前提(不证明,审计追踪其仍为假设)
会话 proof_add_assumption 登记临时假设(之后必须由解消规则解除)
会话 proof_add_lemma 登记引理义务,或声明 assumed=true 并披露
会话 proof_add_step 加一步并立即机检,返回 verified/refuted/invalid/unchecked
会话 proof_validate 审计整个证明:引用图、假设解除、引理、目标是否导出、机器覆盖率
会话 proof_status 查看会话;空参则列出全部会话
会话 proof_export 导出 markdown / LaTeX / JSON,含每步理由与审计判定
逻辑 logic_check_step 单步推理:形状是否匹配规则 + 语义是否成立
逻辑 logic_entails 前提是否蕴含结论,返回 proven 或带反例赋值的 refuted
逻辑 logic_truth_table 纯命题逻辑完全枚举(最多 10 个变量)
逻辑 logic_rules 列出全部推理规则(可按 propositional / predicate / equality 过滤)
验证器 verify_identity 两个表达式是否为同一个函数
验证器 verify_inequality 带定义域的全局不等式(如 x + 1/x >= 2,x > 0)
验证器 verify_forall 任意全称命题:整除、奇偶、界、代数恒等式、量化逻辑
验证器 verify_induction 归纳法:基例 + k >= start & P(k) -> P(k+1)
验证器 verify_limit 极限值(符号 + 数值;oo 表无穷,+/- 表单侧)
验证器 find_counterexample 找反例:先问 SMT,再扫显式区间,最后采样
符号 symbolic_eval 单次符号运算:simplify/expand/factor/diff/integrate/limit/series/solve/sum/…
符号 symbolic_numeric 高精度求值,并报告结果是否为精确整数/有理数及精确分数
符号 expr_normalise 规范化成 latex / text / sympy 形式,确认能解析
数论 number_theory 精确整数运算:is_prime、factorize、totient、gcd/lcm、bezout、crt、legendre、jacobi、fibonacci、…

安全

证明器的输入是数学表达式,所以"绝不用 eval 求值输入"是它的安全底线;写文件、起进程、联网 同样有明确边界。这些不是声明,而是 tests/test_security.py(22 项检查)逐条读本包自己的 文件来强制的事实,任何一条被越过都会直接失败:

面 行为
进程 只起 Python:探测解释器的短进程 + stdio 上的证明服务器;从不经过 shell,因此没有任何值会被当作命令解析
服务器环境 只给一个变量 MATH_RIGOR_HOME。Harness 的环境里还有模型 API key,服务器看不到
写文件 全部落在插件自己的家目录 $DSH_HOME/math-rigor(venv、哈希标记、状态),不写 profile、不写工作目录
读文件 $DSH_HOME(来自环境)与交给工具的那份数学输入
网络 只有一次:首次使用时 <venv>/python -m pip install -r requirements.txt。证明过程本身完全离线
密钥 无
动态代码 无 —— 输入由自带词法/语法分析器(server/rigor/ast_nodes.py)解析成 AST,再翻译成 SMT-LIB 交给 z3、或用 sympy 构造器建表达式;全程没有 eval/exec/compile 输入

requirements.txt 里每个包都钉死到精确版本(mcp==2.2.0、sympy==1.14.0、 z3-solver==5.1.0.0、mpmath==1.3.0),所以下载内容在下载之前就是可审计的;插件把该文件的 SHA-256 记在 venv 旁的标记里,哈希不变就不再装。完整说明见 SECURITY.md。

五级验证

社区标准是"先审计、后五级验证":组合 → 启动冒烟 → 健康检查 → 全量启动 → 功能实测。 前四级只说"能加载",第五级才说"真的证出来了"。本包在 plugintest profile 上的证据:

级别 检查 结果
L1 组合 bundle 在组合树里正确挂载 dsh --profile plugintest --dump-config → exit 0,树中出现 dsh-math-rigor
L2 冒烟 入口模块按 loader 方式加载 index.js 导入成功、配置 schema 解析通过
L3 健康 对发布文件做静态审计 python tests/test_security.py → 22/22;plugin_audit.py → 0 条 high
L4 全量启动 宿主半注册工具与 skill,并起 MCP 服务器 tests/test_mcp_stdio.py(stdio 握手与 23 个工具)
L5 功能实测 真的证明/证伪一条命题 tests/run_all.py 全模块通过(parse/translate/smt/logic/symbolic/verify/proof/mcp)

故障排查

*(a) 装完后没有 `mcp__math_rigor__工具。** 环境没建好。按「首次运行」建/venv后重启 profile;setup: true时看日志里的 warning,其中带着具体原因(找不到 Python、pip` 失败、超时等)。

(b) bundle 完全没加载。 在 DSH 0.2.x 上,peer 版本范围不匹配会让 Cordis 整体跳过 bundle,而不是只丢工具。发布的 0.2.0 声明 >=0.1.5-rc.1 <0.2.0-0 || >=0.2.0-rc.0 <0.3.0-0(针对 @deepseek-ai/dsh-commands、dsh-llm、dsh-mcp-client、dsh-skill),先核对 DSH 版本是否落在范围内,别照着过期的范围说明排查。

(c) pip 需要网络。 建 venv 和装依赖都要联网;走代理时在 setup 之前设置 PIP_INDEX_URL,例如 $env:PIP_INDEX_URL = "https://your-mirror.example/simple"。

(d) 重建环境。 删掉 venv(rm -rf "<home>/venv",或整个删掉 <home>)后重跑 tools/setup_dsh.py --home "<home>"。


English

What it is

dsh-math-rigor is a Cordis host plugin for DSH 0.2.x. It prepares an isolated Python 3.10+ virtual environment and launches server/math_rigor_server.py as a stdio MCP server through @deepseek-ai/dsh-mcp-client, so the server's 23 tools reach the agent as mcp__math_rigor__<tool>. It also registers one bundled skill (math-rigor) and two slash commands (/prove, /audit-proof).

Its contract: proven / refuted / inconclusive are never conflated, and a proof audit separates verified / sound_with_gaps / flawed, reporting unproven steps instead of hiding them.

Install

  • Desktop app: Plugins → Add plugin → https://github.com/bauerelizabeth07139/math-rigor, then switch the new bundle on. The Desktop app boots the reserved desktop profile.
  • CLI: dsh plugin --profile web add bauerelizabeth07139/math-rigor — install into the profile you actually boot.
  • No git on the machine: pnpm resolves a git shorthand with git ls-remote, so use the tarball URL instead: dsh plugin --profile web add https://codeload.github.com/bauerelizabeth07139/math-rigor/tar.gz/main (pin a commit SHA in place of main for a fixed build). The same address works in the Desktop dialog.

First run

The MCP tools are unavailable until the Python environment exists. Either set setup: true in the loader row's config: and let the plugin build <home>/venv and run pip install -r requirements.txt (network access, several minutes), or run the offline helper first:

Windows:  py -3 tools/setup_dsh.py --home "%USERPROFILE%\.dsh\math-rigor"
POSIX:    python3 tools/setup_dsh.py --home ~/.dsh/math-rigor

Until then the plugin logs a warning, registers the skill and the commands, and mounts no MCP tools; the commands answer with the exact command to run.

Requirements: Python 3.10+, mcp==2.2.0, sympy==1.14.0, z3-solver==5.1.0.0, mpmath==1.3.0.

Configuration

Key Type Default Notes
home string $DSH_HOME/math-rigor, else ~/.dsh/math-rigor venv at <home>/venv, sessions at <home>/sessions
python string empty explicit interpreter; empty probes python.exe/py on Windows, python3/python elsewhere
setup boolean false build the venv on load
setupTimeoutMs number 600000 1000–600000
toolCallTimeoutMs number 300000 1000–600000
- id: dsh-math-rigor
  config:
    setup: true

Commands

Command Input Queues
/prove <mathematical proposition> the six-stage rigorous proof workflow, each step machine-checked as it is added
/audit-proof <proof text or math-rigor session id> the proof-audit workflow: step DAG, per-step verdicts, structural review, ranked flaw list

Both require the environment to be ready; otherwise they return an error naming the setup command to run.

Skill and tools

The bundled math-rigor skill carries the six-stage process and four reference files (inference-rules.md, strategies.md, notation.md, worked-examples.md). The 23 MCP tools, grouped: session/workflow proof_workflow, proof_start, proof_add_given, proof_add_assumption, proof_add_lemma, proof_add_step, proof_validate, proof_status, proof_export; logic logic_check_step, logic_entails, logic_truth_table, logic_rules; verifiers verify_identity, verify_inequality, verify_forall, verify_induction, verify_limit, find_counterexample; symbolic symbolic_eval, symbolic_numeric, expr_normalise; number theory number_theory. One-line purposes are in the table above.


Legacy:ZCode 安装路径

math-rigor 最早是为 ZCode 写的,仓库里仍保留那条链路的脚本;它不是 DSH 的安装路径,DSH 用户可忽略本节。

入口 作用
install.ps1 / install.sh Windows / macOS·Linux 安装:建 venv、装依赖、先自检服务器、再注册 MCP、复制 skill 与命令
tools/install.py 安装主体:把 mcp.servers.math-rigor 写进 ~/.zcode/cli/config.json;把 skills/math-rigor/ 复制进 ~/.zcode/skills/;把 commands/*.md 复制进 ~/.zcode/commands/。ZCODE_HOME 可覆盖 ~/.zcode
tools/install_check.py 按 ZCode 的加载规则校验 skill / 命令 / 配置
tools/verify_deployment.py 按 ZCode 的实际使用方式核对部署后的配置
tools/smoke_test.py 以 ZCode 的方式启动服务器并确认它能作答

ZCode 侧与 DSH 侧共用同一个服务器、同一套工具与判定词汇。


License

MIT · by bauerelizabeth07139

CLASSIFICATION EVIDENCE

分类依据

项目类型插件
功能分类模型与 MCP
规则置信度高

系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: math、mcp、proof、theorem-proving。