LABS / PROGRAMA DE INVESTIGACIÓN[INV]Prototipo de investigación (0.1.0a1) · En investigación

EFCH — Investigación en Computación Orientada a Propiedades

EFCH explora si los sistemas de software pueden construirse a partir de propiedades y restricciones explícitas, organizando la síntesis, la verificación y la ejecución en torno a dichas especificaciones.

NOTA EPISTÉMICA:Aviso de alcance científico: EFCH es un programa de investigación experimental (prototipo 0.1.0a1), no un paradigma general demostrado ni un compilador listo para producción. La viabilidad general y la superioridad de EFCH frente a tecnologías existentes no están demostradas, y los resultados de experimentos acotados no se extrapolan a todas las aplicaciones.

ESQUEMA TÉCNICO // FLUJO DE VERIFICACIÓN

Flujo experimental en EFCH 0.1.0a1

En el prototipo EFCH, la fuente de verdad de un programa es una definición formal (.efch) con semántica, propiedades, dominio, carga de trabajo y presupuesto. Las implementaciones son candidatas que solo se aceptan si el verificador formal demuestra su equivalencia.

definition (.efch) ──► typed core ──► semantic identity (SHA-256)
                                          │
    candidates (.efl / LLM / SyGuS) ──────┼──► SMT (Z3 5.1.0.0): well-defined + equivalent ──► proved | refuted | unknown
                                          │
                                          └──► C (gcc -O2) ──► differential vectors ──► interleaved timing ──► evidencia.json
STAGE 01

1. Definición Formal (.efch)

Declara semántica precisa, propiedades matemáticas, dominio acotado de entrada, distribución de carga de trabajo, objetivo y presupuesto.

STAGE 02

2. Núcleo Tipado e Identidad Semántica

Normaliza la especificación a un núcleo tipado y calcula una identidad semántica determinista (SHA-256).

STAGE 03

3. Implementaciones Candidatas

Pueden ser propuestas por una persona, EFCH Lang (.efl), búsqueda enumerativa SyGuS (cvc5) o síntesis guiada por LLM.

STAGE 04

4. Verificación Formal Independiente (Z3)

Comprueba buena definición y equivalencia semántica frente a la especificación, emitiendo probado, refutado (con contraejemplo) o desconocido.

STAGE 05

5. Materialización en C y Medición

Las candidatas probadas se traducen a C (gcc -O2), se contrastan con pruebas diferenciales, se miden de forma intercalada y se registran en evidencia.json.

REGISTRO DE HIPÓTESIS // H1–H6

Compuertas de investigación y registro experimental

EXP-019 (P1)
[SUP]Respaldado dentro del alcance

Persistencia de evidencia semántica frente a reverificación completa y memoización reforzada ante cambios controlados de especificación y solucionador.

Evaluado bajo protocolo congelado (tag exp019-protocolo); artefactos y borrador archivados en Zenodo (10.5281/zenodo.23873679). Los defectos D10–D13 y la limitación L-D14 siguen abiertos.

EXP-004 y EXP-015 (P2)
[SUP]Respaldado dentro del alcance

Decodificación binaria acotada en EFCH Lang 0.1 con prueba de equivalencia SMT y generación de código C.

Equivalencia probada en Z3 y reproducida en la reejecución del 2 de noviembre de 2026 (razones M9 de 1.030 y 0.965 frente a C). Archivado en Zenodo (10.5281/zenodo.23874420).

EXP-005 y EXP-010 (P2)
[INC]Inconcluso

Comparación empírica de EFCH Lang 0.1 frente a C manual, Rust-Kani 0.68.0, Go 1.26 y Dafny 4.11.0.

Muestra concisión en decodificación binaria acotada junto con compromisos claros de expresividad frente a verificadores de propósito general.

EXP-007, EXP-008 y EXP-009 (P2)
[REF]Refutado / Resultados negativos

Pruebas de estrés de complejidad de protocolo (incluyendo DNS) y evaluaciones negativas de frontera.

Preservados íntegramente en el archivo público P2 para documentar dónde fallan las restricciones actuales del dominio acotado.

Compuerta G4 (EXP-001 / EXP-002)
[REF]Refutado (Compuerta G4 no superada)

Ventaja estructural de rendimiento de candidatas seleccionadas frente a compiladores optimizadores estándar (gcc -O2).

EXP-001 y EXP-002 no mostraron ventaja frente a gcc -O2 en las primitivas evaluadas; documentado en README-efch-0.1.0a1.md.

Live Engineering (H1 / H2)
[PRP]Propuesto (Etapa RFC)

Separación de supervisión humana (H1) y persistencia de evidencia (H2) mediante contratos semánticos mínimos.

Documentado en RFC y Contract Conformance Pack 0.1; no autoriza implementación P0 ni valida hipótesis empíricas.

FRONTERAS METODOLÓGICAS

Limitaciones explícitas de EFCH 0.1.0a1

  1. L-01Dominio pequeño y estrictamente acotado: no hay bucles no acotados, recursión, memoria mutable ni efectos de E/S. Las entradas bytes tienen como máximo 64 bytes.
  2. L-02La traducción a C no está verificada formalmente: solo se contrasta mediante pruebas diferenciales.
  3. L-03Algunas propiedades son difíciles para SMT: por ejemplo, la igualdad entre dos árboles de sumadores de 64 bits (popcount.efch, propiedad complemento) queda como desconocido.
  4. L-04La generación por LLM no es determinista: las candidatas generadas se guardan y se verifican de forma determinista con efch verify.
  5. L-05Medición local y defectos abiertos: el objetivo minimize time se mide en una sola máquina, y los defectos de integridad D10–D13 / limitación L-D14 siguen abiertos.

VERIFICACIÓN Y REPRODUCIBILIDAD

Artefactos públicos y reproducción informada

Todos los paquetes públicos incluyen manifiestos SHA-256 y scripts para fijar Z3 5.1.0.0 de modo que cualquier investigador pueda auditar y reejecutar las pruebas.

Artefactos EFCH P1 — Persistencia de Evidencia Semántica (EXP-019)

Manuscrito en borrador — sin revisión por pares, no enviado a revista. Software de investigación (0.1.0a1).

$ sha256sum -c SHA256SUMS
$ sha256sum -c experimentos/exp019/MANIFIESTO.sha256
$ mkdir -p datos && tar -xzf data/exp019-resultados.tar.gz -C datos

Artefactos EFCH P2 — Decodificación Binaria Verificada con EFCH Lang (EXP-004 a EXP-015)

Manuscrito en borrador (v0.2) — sin revisión por pares, no enviado a revista. Software de investigación (0.1.0a1).

$ sha256sum -c SHA256SUMS
$ tar -xzf data/efch-lang-resultados.tar.gz
$ scripts/vendor_z3.sh && python3 -m unittest discover -s tests