Hybrid reasoning and proof verification engine
Project description
🧠 Episteme AI — Hybrid Reasoning & Proof Verification Engine
Episteme es un motor de razonamiento híbrido (lógico + heurístico + estructural) diseñado para:
- ✔ Verificar demostraciones formales y semiformales
- ✔ Analizar argumentos en lenguaje natural
- ✔ Detectar inferencias inválidas, contradicciones y pasos débiles
- ✔ Ofrecer trazabilidad paso a paso mediante ASTs y grafos
- ✔ Integrar teoremas externos a través de una Theory DB
Episteme está pensado como framework de investigación y análisis, con aplicaciones en:
- educación en lógica y matemáticas
- auditoría de razonamientos y argumentos
- investigación en razonamiento automático
- sistemas híbridos (reglas + LLMs, en el futuro)
🚀 Características principales (v0.3)
🔹 1. Proof Engine
- Parser estructurado para proofs con pasos numerados
- Checker basado en reglas clásicas:
- Modus Ponens
- Modus Tollens
- Contraposición
- Instanciación Universal
- Doble negación
- Silogismo hipotético
- Eliminación de conjunción
- Normalización léxica de expresiones (
A->B,A → B,¬A, etc.) - Soporte para teoremas con
invoke_theorem - Theory DB en JSON
- Construcción de ProofGraph (nodos + dependencias)
🔹 2. Natural Reasoning Engine
- Parser heurístico de texto natural
- Identificación de:
- hipótesis
- claims
- tesis
- evidencia
- Detección de contradicciones
- Detección de relaciones evidencia → afirmación
- Construcción de ArgumentGraph
- Flags de rigor:
- score heurístico
- fortalezas
- debilidades
🔹 3. API (FastAPI)
Endpoints principales:
POST /evaluate_proofPOST /proof/check_stepPOST /parse_proofPOST /check_proofPOST /reasoning/analyzeGET /theory/listGET /theory/get
La API devuelve:
- resultados paso a paso
- grafos estructurados
- metadata y versionado (
api_version)
Documentación interactiva disponible en /docs.
🔹 4. UI Next.js (v0.3)
Incluye:
- dos modos: Proof | Reasoning
- editor de texto
- evaluación paso a paso
- visualización de ProofGraph y ArgumentGraph
- layout automático de grafos
- interacción:
- click en nodos
- resaltado de dependencias
- sincronización lista ↔ grafo
📦 Instalación y ejecución
Instalación desde PyPI
pip install episteme-ai
Nota: el paquete publicado en PyPI se llama
episteme-ai, pero el paquete importable en código sigue siendoepisteme(por ejemplofrom episteme.core.checker import ProofChecker).
1) Clonar el repositorio (instalación desde código fuente)
git clone https://github.com/victor-mateu/episteme.git
cd episteme
🖥 Backend (FastAPI)
Crear entorno virtual
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.\.venv\Scripts\Activate.ps1 # Windows PowerShell
Instalar dependencias
pip install -r requirements.txt
Ejecutar API
uvicorn episteme.api.main:app --reload
La API estará disponible en:
http://127.0.0.1:8000
Documentación interactiva en:
http://127.0.0.1:8000/docs
🌐 Frontend (Next.js)
Entrar en el directorio de la UI:
cd episteme-ui
npm install
npm run dev
Front disponible en:
http://localhost:3000
🧩 Formato de Proofs
Los proofs siguen esta sintaxis:
1. assume A
2. assume A -> B
3. derive B from 1,2 using modus_ponens
Documentación completa:
👉 docs/proof_format.md
📚 Theory DB
Los teoremas se almacenan en:
episteme/theory/<theory_name>.json
Ejemplo:
{
"name": "Basic Real Analysis",
"version": "0.1",
"theorems": {
"EVT": "Every continuous function on a closed interval [a,b] attains a maximum and a minimum."
}
}
Se cargan así:
checker = ProofChecker(theory_name="basic_analysis")
Documentación completa:
👉 docs/theories.md
🧠 Natural Reasoning
Para analizar argumentos en lenguaje natural:
POST /reasoning/analyze
Ejemplo:
{
"text": "Supongamos que X. Sin embargo, no X."
}
Salida esperada:
-
frases clasificadas (claim, hypothesis, …)
-
contradicciones detectadas
-
relaciones evidencia → conclusión
-
flags de rigor
Documentación completa:
👉 docs/api_usage.md
🧪 Tests
Ejecutar tests:
pytest
Coverage:
pytest --cov=episteme
Los tests cubren:
-
Parsers
-
Checker y Reglas
-
Normalización
-
Grafos
-
Theory loader
-
API
🛠 Estructura del repositorio
episteme/
api/
core/
docs/
parsers/
reasoning/
theory/
episteme-ui/
examples/
notebooks/
tests/
🧭 Roadmap resumido
v0.4
-
Exportación a Lean/Coq (proof sketch → formal)
-
Añadir más reglas de inferencia
-
Integración con RAG (retrieval de teoremas/documentos)
-
Versionado de API (
/v1) -
CI/CD
v0.5
-
Modo estricto avanzado (niveles de confianza)
-
Integración opcional con LLM para revisión argumental
-
Análisis argumental asistido
-
Scoring avanzado
v1.0
-
Episteme Cloud (API SaaS)
-
Multiusuario, logs, organización, dashboards
-
Plugins externos de teorías
🤝 Contribuir
Pull requests y sugerencias son bienvenidas.
Para contribuciones:
1. Crear rama: feat/..., fix/..., docs/...
2. Ejecutar tests antes del commit
3. Mantener consistencia con los estilos del repo
4. Añadir documentación si se introduce una nueva feature
📬 Contacto
Para preguntas, ideas o colaboraciones:
[EMAIL / GITHUB / WEB]: [- / victor-mateu / -]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file episteme_ai-0.3.3.tar.gz.
File metadata
- Download URL: episteme_ai-0.3.3.tar.gz
- Upload date:
- Size: 53.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
674f074df3b21e1927bc458b39d8a73612b20affa952ab6009a0a3ba3c6634a4
|
|
| MD5 |
b327229775443aaca9e5e100f6e82045
|
|
| BLAKE2b-256 |
b7e085d8c2dc040bdb68dd4712542f8ca2e5ac6b6abd2c3431cd3221878f8445
|
File details
Details for the file episteme_ai-0.3.3-py3-none-any.whl.
File metadata
- Download URL: episteme_ai-0.3.3-py3-none-any.whl
- Upload date:
- Size: 42.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11e644d8708b32fdc5e69dbf76a9ce0ab764cdfa47a4aa4d6b2b3c5764e2c00e
|
|
| MD5 |
10962f1e040c0deb97b164d5c8217d48
|
|
| BLAKE2b-256 |
011e9b7291b2c3788460f3a26b95fc90bb9dfc57384d5601b102ddf185da8a90
|