17–18 de agosto de 2026
O modelo estava errado. O compilador não. O zero silencioso era a mentira.
Um dia. A subject reduction falhou no cálculo Lean. A recusa virou instrumento e achou dois sítios que fabricavam. À meia-noite, quatro lanes independentes tinham nomeado a mesma ausência em quatro superfícies.
- 01 Manhã — EpistemicEffects.lean perdeu subject reduction. check.sio manteve o tipo do payload. O compilador estava certo.
- 02 Tarde — um programa bem tipado devolve um valor ou recusa. Usada como instrumento, essa frase encontrou abs() + 1 ainda tipado como i64, e um stub vazio ainda legível como 0.
- 03 Noite — pin_count, CALL, o estado visual e o muro de reclamation: um valor plausível onde a ausência devia ser declarada.
Manhã · o modelo
A subject reduction era falsa. Isso é um facto do cálculo, não do Madaros.
O #1772 provou um contra-exemplo de preservação. O #1779 registou o veredicto: measure a colapsar o payload para Real é um defeito de EpistemicEffects.lean, não uma escolha da linguagem. O checker (`checker_check_measure_expr_inplace`) mete o tipo do argumento em ty_knowledge — measure de um Nat é Knowledge<Nat>. O CLAUDE.md já dizia que measure() rende Knowledge<mg>. O #1780 fechou a correspondência e deixou o modelo V1 refutado sob um aviso. Não cites EpistemicEffects.lean como metateoria. É um modelo refutado.
fn measure (x: T) -> Knowledge<T> with Observe
checker_check_measure_expr_inplace keeps T. The refuted calculus typed every kraw as Knowledge<Real> and discarded the measured value. A unit type cannot survive that collapse.
EpistemicEffects.lean has subject reduction
REFUSED
- E0Syntax
- E1HIR Type
- E2Effect Lattice
- E3GUM Variance Bounds
- E4Lean 4 Formal Proof
- E5Closed-form Theorem
Preservation is false for that calculus (#1772). measure collapsing the payload to Real contradicts the spec and check.sio. The nearest weakening also fails: the corruption propagates through application. This is a refuted model, not metatheory. E5 is unreached.
Tarde · o instrumento
Um programa bem tipado recusa. A prova, usada como lâmpada, achou dois sítios que ainda fabricavam.
O #1788 provou, no fragmento E219 e sem sorry, refusal_is_not_zero e well_typed_value_or_refuse. Esse ficheiro é um modelo. Não prova que check.sio o implementa — o portão pára em E4 e diz-o. A mesma tarde o modelo foi virado contra o compilador: o #1801 fechou os dois sítios que ainda fabricavam depois de uma recusa. abs() + 1 é ty_error(), não i64. Um stub IR vazio emite ud2, não um 0 por queda. O lean_single continua sem E219. Uma banda de Cmin de vancomicina que não está dentro de [10, 20] é PRE_REFUSE — a mesma tese, numa dose.
check.sio implements well_typed_value_or_refuse
UNBOUNDED
- E0Syntax
- E1HIR Type
- E2Effect Lattice
- E3GUM Variance Bounds
- E4Lean 4 Formal Proof
- E5Closed-form Theorem
SounioRefusalHonesty.lean proves the E219 fragment with no sorry. The file itself says that is a model, not a proof that check.sio implements the model. Citing the theorem as a compiler proof is empirical extrapolation. E5 is unreached.
abs() + 1 is not i64; empty stub is ud2
TRUSTWORTHY
- E0Syntax
- E1HIR Type
- E2Effect Lattice
- E3GUM Variance Bounds
- E4Lean 4 Formal Proof
- E5Closed-form Theorem
The afternoon theorem, turned on the compiler, closed two sites of the same class. add_refuse_l: the checker returns ty_error() instead of the declared i64. Empty non-builtin stubs emit ud2. lean_single still has no E219. Two sites, not subject reduction for the whole compiler.
19extern "C" {20fn malloc(size: i64) -> i64;21fn abs(x: i64) -> i64;22}2324fn main() -> i64 with IO {25let p = malloc(64)26print_int(p)27print_int(abs(0 - 7))28029}
error[E250]: call to an `extern "C"` function the native backend does not implement
| = help: only these body-less names are implemented: print, print_int, print_char, print_f64, get_arg, get_arg_count, stcut 127r_len, str_char_at, str_eq, str_slice, starts_with, str_concat, str_from_bytes, read_file, write_file, file_size, sqrt, exp, log, sin, cos, assert, heap_alloc, heap_free, f64_to_bits, bits_to_f64, syscall6, malloc, free, getpid, getppid, exit, abort, system, read_i64, write_i64, read_f64, write_f64
= note: there is no dynamic linker in this backend; an unimplemented extern compiles to an empty stub whose calls read 0
Noite · a mesma ausência
Quatro lanes. Uma classe. Um valor plausível onde pertencia uma ausência declarada.
Às 01:00 UTC de 18 de agosto, #1830, #1825, #1829 e #1823 tinham aterrado de quatro lanes que não partilhavam write-set. pin_count era lido como 0 pins vivos; o emissor nunca o incrementa — o sentinela é agora −1, UNWIRED. CALL era recusada só como opcode desconhecido; agora tem nome, MLI_I_CALL_UNSPECIFIED, e has_value=false. O FabricatedDatum deu cara ao quinto estado. O muro de reclamation embarcou a testemunha antes do conserto: o gate está vermelho de propósito aos 4 194 304 allocations (rc=182). O #1792 continua aberto na superfície da dissertação. A classe não está fechada. Está, finalmente, visível.
Read as zero live pins
Printed as given
0
Sentinel UNWIRED
The other reading
-1
The live x86_linux emitter never increments pin_count. Readers treated 0 as a measurement. #1830 writes −1 (runtime_context_pin_count_unwired) and pin_registry_ready: false. Same class as var=0.000000. Does not implement reclaim.
An unspecified CALL is an unknown opcode
TRUSTWORTHY
- E0Syntax
- E1HIR Type
- E2Effect Lattice
- E3GUM Variance Bounds
- E4Lean 4 Formal Proof
- E5Closed-form Theorem
CALL was refused only by the unknown-op catch-all, so a specified-but-unpinned ABI looked like a missing case — the #1801 empty-stub class. Interp now returns MLI_I_CALL_UNSPECIFIED (14) and has_value=false. A genuinely unknown opcode stays I5.
Handle reclamation at 2^22 allocations
REFUSED
- E0Syntax
- E1HIR Type
- E2Effect Lattice
- E3GUM Variance Bounds
- E4Lean 4 Formal Proof
- E5Closed-form Theorem
The product is the before-state. At 1,000,000 allocations the control holds. At 4,194,304 the fixture fail-closes with rc=182 (POSITIVE_CONTROL_FIRED). A reclamation patch is accepted only when the same gate prints HANDLE_RECLAMATION_OK. Absence declared, not a silent green.
Noite · a classe, rasgada
Estas três caras são a razão de quatro lanes se terem reconhecido.
Um zero que o outro motor não dá. Um inteiro vestido de ε. Um diagnóstico cortado a meio da palavra. O medidor continua a recusar o numeral falso. O FabricatedDatum (#1829) mostra as duas caras e não rasga quando são a mesma string. Os dois primeiros recibos são o #1792. O censo do corte é o #1794.
0.000000 #1792 4604219396932172800 #1792 33 > 127 #1794
Madaros
Printed as given
0.000000
lean_single
The other reading
~1e-5
rapamycin_epistemic_adaptive. Madaros printed var(blood/brain/periph)=0.000000. lean_single shows ~1e-5 / ~1e-9. A calibrated zero would be a measurement. This zero is the stub. #1792 is open: fail-closed detection, not a compiler ABI fix.
Madaros TEST 6
Printed as given
4604219396932172800
lean_single ε
The other reading
0.671038
epistemic_pbpk28 TEST 6 printed AUC confidence 4604219396932172800.000000 — documented as the IEEE-bit-pattern-as-decimal of lean_single 0.671038. The integer exceeds JS 2^53; this control keeps it as text. It is not a unit-interval ε. #1792 remains open.
Pre-#1784 print
Printed as given
| = help: only these body-less names are implemented: print, print_int, print_char, print_f64, get_arg, get_arg_count, st
Dropped · 206 chars
Dropped after 127
r_len, str_char_at, str_eq, str_slice, starts_with, str_concat, str_from_bytes, read_file, write_file, file_size, sqrt, exp, log, sin, cos, assert, heap_alloc, heap_free, f64_to_bits, bits_to_f64, syscall6
#1794 counted 33 user-facing diagnostics over the old 127-character print cap. Every one was cut. E219 help is 333 characters; 206 were dropped mid-word. The historical CI logs that quote them are incomplete in the tails. #1784 closed the path. This card is the census, not the fix.