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.4.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.4-py3-none-any.whl (42.8 kB view details)

Uploaded Python 3

File details

Details for the file episteme_ai-0.3.4.tar.gz.

File metadata

  • Download URL: episteme_ai-0.3.4.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.4.tar.gz
Algorithm Hash digest
SHA256 9e609aab07595808c4411c23bc9f505f61ffb84c4a5c439a936491102c293ab9
MD5 743a5aafd426365326671757b2c8b1ee
BLAKE2b-256 a18bda2cb5836429da8e660452856da0d6e224b14c8546008499519c89dfed38

See more details on using hashes here.

File details

Details for the file episteme_ai-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: episteme_ai-0.3.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7f27a97465440533e8a48950f339bbba3107fa72d9a5ab7a1174d1bcffa340d9
MD5 c55a1f74f409718f2257f5879af3507f
BLAKE2b-256 5ed73a7ef0283040c4000be2420c497b9e76ad5f04b0d38ccc75bb753a42cc4b

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