code wiki / _hdl_build / nx_inflate_gate.nx

nx_inflate_gate.nx

buildroot/runtime/_hdl_build/nx_inflate_gate.nx

5925 B96 linesdepth 3pulls 4 transitivereach 0 importersview sourcekind gate/prooftopic inflate
docsdependenciesstructsconstsfunctions

about

nx_inflate_gate.nx -- PROVE THE DECOMPRESSOR AGAINST AN INDEPENDENT IMPLEMENTATION. ★A ROUND-TRIP AGAINST OUR OWN COMPRESSOR WOULD VALIDATE ITS OWN BUGS. If nx_gzip and nx_inflate shared a misreading of RFC 1951 they would agree perfectly and both be wrong -- the banked "a round-trip equivalence gate cannot kill a symmetric mutant" law, applied to compression. So the fixture below is a REAL gzip stream produced by an INDEPENDENT implementation (system gzip), embedded byte-for-byte, together with the exact plaintext it must yield. Agreement here is cross-implementation evidence, not self-consistency. The CRC32 tooth uses the PUBLISHED IEEE check value for "123456789" (0xCBF43926) -- a constant from the standard itself, not a number we produced and then declared correct. NEGATIVE CONTROLS ARE THE POINT. A decompressor that silently truncates on corruption is worse than one that is absent, because it hands you plausible partial data. Every wall is fired in-run. license_tier: ORIGINAL No hw writes (Rule 26).

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_gate_verdict.nx nx_inflate.nx nx_inflate_gate.nx

imports: nx_syscalls.nxnx_gate_verdict.nxnx_inflate.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main gv_ctr sys_mmap gv_head gv_puts sys_write sys_mmap ↻ ig_fixture sys_mmap ↻ inf_gunzip inf_raw sys_mmap ↻ inf_bits inf_build inf_codes inf_decode inf_bits ↻ inf_bits ↻ inf_decode ↻ inf_crc32 ig_expect gv_puts ↻ gv_num sys_mmap ↻ sys_write ↻ sys_munmap gv_check gv_puts ↻ inf_crc32 ↻ gv_verdict gv_puts ↻ gv_num ↻ gv_journal sys_openat_append sys_mmap ↻ gv_catn sys_mmap ↻ sys_munmap ↻ sys_now_realtime_sec sys_mmap ↻

structs

none

consts

21const IG_N: i64 = 46

functions

22func ig_fixture() -> *u8
called by 1: main calls 1: sys_mmap
39func ig_expect() -> *u8 { return "hello hello hello hello world world world" as *u8 }
called by 1: main
41func main(argc: i64, argv: *i64) -> i64