d2514b766a207ec049b26727f541c4d32d2a89c5
T8 §C-§F: la coordinación real no vive en el tipo de dato sino en un
INVARIANTE que la fusión no preserva. Modelo canónico de Bailis (saldo ≥ 0).
- invariant::AccountConfig: bound + retiros por réplica + grafo. Estado =
GCounter grow-only de retiros; V = {s : bound ≥ Σ retiros}.
- haz_verdict (§C): reconcilia por el orden nativo y corre libre ⟺ punto
fijo ∈ V, con localización de réplicas/aristas culpables.
- i_confluence_oracle: oráculo independiente (suma por componente vía
union-find), camino distinto de la difusión.
- calm_syntactic: condena el retiro por-programa (a batir).
VERSIÓN FUERTE PROBADA (STRONG_RESULT.md): testigo A (retiros [10,10] sobre
100) → haz=libre / CALM-sintáctico=coordina con I preservado. Barrido halla
>100 testigos. proptest: haz == I-confluence en toda instancia (corrección);
haz nunca miente (soundness). La topología importa: mismos 60/60 corren
libres particionados y coordinan conectados.
Honestidad §F: el booleano ES I-confluence (Bailis 2014), no más allá de
CALM; la novedad es el cómo (topología-consciente, difusión a punto fijo) y
la propina (estado reconciliado + nudo). M4 desbloqueado. main muestra el
testigo. 46 tests, clippy limpio.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Languages
Rust
100%