使用说明
MCP服务器逻辑求解器
一个强大的逻辑推理系统,将大型语言模型(LLM)与形式定理证明能力相结合。该项目利用 MCP逻辑 服务器提供自动推理和逻辑验证。
概述
该系统旨在:
- 自然语言和一阶逻辑(FOL)格式的过程逻辑问题
- 利用Prover9/Mace4实现自动定理证明
- 提供基于LLM分析的结构化推理
- 处理复杂的逻辑运算,包括XOR转换
- 为逻辑结论生成详细的解释
FOL输入要求
一阶逻辑(FOL)输入必须严格遵循Prover9的语法要求:
-
逻辑运算符:
- 通用量词:∀(翻译为“所有”)
- 存在量词:∃(翻译为“存在”)
- 连词:∧(翻译为“&”)
- 分离:∨(翻译为“|”)
- 含义:→ (翻译为“->”)
- 双重含义:↔ (翻译为“<->”)
- 否定:¬(翻译为“-”)
- XOR运算:⊕(自动转换为等效形式)
-
格式指南:
- 前提和结论必须是格式良好的公式
- 变量和谓词应遵循Prover9的命名约定
- XOR表达式使用否定和双蕴涵自动转换为等效形式
例子:
# Original FOL with Unicode
∀x (P(x) ∧ Q(x)) → (R(x) ⊕ S(x))
# Translated for Prover9
all x ((P(x) & Q(x)) -> -(R(x) <-> S(x)))
关键组件
1.逻辑求解器(main.py)
- 通过两级管道处理逻辑问题:
- 第一阶段:使用LLM和Prover9集成进行详细的逻辑分析
- 第二阶段:推理过程的结构化总结
- 支持批量处理多个逻辑问题
- 提供全面的输出,包括前提、结论和解释
2.模板(template.py)
LOGICAL_SOLVER_TEMPLATE:指导LLM解决逻辑问题- 结合自然语言和FOL分析
- 与Prover9集成以进行形式验证
- 提供结构化推理指南
LOGICAL_SUMMARIZER_TEMPLATE:确保输出格式一致- 生成JSON结构化响应
- 包括解释、答案和工具使用信息
3.解析器(parser.py)
- 处理FOL公式转换
- 擅长XOR运算处理
- 确保与Prover9语法的兼容性
4.Prover9输出解释
系统对Prover9定理证明结果的解释如下:
-
THEOREM PROVED:表示Prover9已经找到了一个形式证明,证明结论在逻辑上是从前提中得出的。在这种情况下,系统返回“True”。 -
SEARCH FAILED:表示Prover9找不到证明。这一结果需要进一步分析,因为它可能意味着:- “错误”:前提明显与结论相矛盾或不支持结论
- “不确定”:前提不足以确定结论的真值时
该系统使用基于LLM的分析来区分“假”和“不确定”情况 SEARCH FAILED 遇到。
先决条件
在设置此项目之前,您需要:
-
设置MCP逻辑服务器:
git clone https://github.com/angrysky56/mcp-logic cd mcp-logic -
遵循MCP逻辑设置说明:
- 对于Windows:
windows-setup-mcp-logic.bat - 对于Linux:
chmod +x linux-setup-script.sh ./linux-setup-script.sh
- 对于Windows:
-
启动MCP逻辑服务器:
- 对于Windows:
run-mcp-logic.bat - 对于Linux:
./run-mcp-logic.sh
- 对于Windows:
安装
-
克隆此存储库:
git clone [your-repository-url] cd mcp-server-logical-solver -
安装依赖项:
pip install -r requirements.txt
配置
1.环境变量(.env)
创建一个 .env 根目录中的文件具有以下设置:
# Model Configuration
MODEL_PROVIDER=openai # Options: openai, anthropic, gemini, ollama
MODEL_NAME=gpt-4 # Specify your model name
API_KEY=your_api_key_here # Required for OpenAI/Anthropic/Gemini
# Optional Settings
DEBUG=False # Enable debug mode
2.MCP配置(MCP_config.json)
更改文件 mcp_config_example.json 向 mcp_config.json 在根目录中:
{
"mcpServers": {
"mcp-logic": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-logic/src/mcp_logic",
"run",
"mcp_logic",
"--prover-path",
"/path/to/mcp-logic/ladr/bin"
]
}
}
}
确保调整 --prover-path 和 --directory 与克隆位置匹配的值 MCP逻辑 .
运行项目
1.基本用法(单题)
python test.py
这将处理一个示例问题并将输出保存到 output.json.
2.批量处理
python main.py input.json output.json
哪里:
input.json:包含逻辑问题的输入文件的路径output.json:保存结果的路径
输入JSON格式:
[
{
"premises": "Natural language premises...",
"premises-FOL": "First order logic premises...",
"conclusion": "Natural language conclusion...",
"conclusion-FOL": "First order logic conclusion...",
"label": "True/False/Uncertain" // Optional ground truth
}
]
输出格式
系统生成以下格式的结构化输出。 tool_use 指示工具调用是否成功:
{
"premises": "Original natural language premises",
"premises-FOL": "Processed FOL premises",
"conclusion": "Natural language conclusion",
"conclusion-FOL": "FOL conclusion",
"answer": "True/False/Uncertain",
"explanation": "Detailed reasoning process",
"tool_use": "True/False"
}
故障排除
-
MCP服务器连接问题
- 验证MCP逻辑服务器是否正在运行
- 检查中的端口设置
mcp_config.json - 确保没有防火墙阻止连接
-
模型API问题
- 在中验证您的API密钥
.env文件 - 检查您是否有足够的API信用
- 确保所选型号适用于您的帐户
- 在中验证您的API密钥
-
输入格式问题
- 验证输入的JSON格式
- 确保FOL语句格式正确
- 检查逻辑符号中的Unicode字符是否正确
