Skip to main content

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_proof
  • POST /proof/check_step
  • POST /parse_proof
  • POST /check_proof
  • POST /reasoning/analyze
  • GET /theory/list
  • GET /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 siendo episteme (por ejemplo from 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

episteme_ai-0.3.3.tar.gz (53.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

episteme_ai-0.3.3-py3-none-any.whl (42.8 kB view details)

Uploaded Python 3

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

Hashes for episteme_ai-0.3.3.tar.gz
Algorithm Hash digest
SHA256 674f074df3b21e1927bc458b39d8a73612b20affa952ab6009a0a3ba3c6634a4
MD5 b327229775443aaca9e5e100f6e82045
BLAKE2b-256 b7e085d8c2dc040bdb68dd4712542f8ca2e5ac6b6abd2c3431cd3221878f8445

See more details on using hashes here.

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

Hashes for episteme_ai-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 11e644d8708b32fdc5e69dbf76a9ce0ab764cdfa47a4aa4d6b2b3c5764e2c00e
MD5 10962f1e040c0deb97b164d5c8217d48
BLAKE2b-256 011e9b7291b2c3788460f3a26b95fc90bb9dfc57384d5601b102ddf185da8a90

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page