Ancient Chinese Logic Solves the Double-Free Bug

Reconstructing Concurrency Invariants Through Medieval East Asian Logic

A new essay maps 11th–14th century East Asian structural logic—Shao Yong's trigram combinatorics, Qin Jiushao's array algebra, and Su Song's escapement clocks—onto modern concurrent memory reclamation. The result is a precise symbolic vocabulary for preventing double frees and use-after-free races, with four methods (Qian, Kun, Kan, Li) that read like a medieval I Ching for lock-free programming.

Do not employ Kan: deallocating memory while reference paths remain published creates an invisible dangling pointer.
  1. jrapdx3

    This aroused my curiosity. Tried to get the article. Clicking on the item didn't fetch the site, never did connect.

  2. gg582

    tried a silly crossover mapping memory reclamation invariants (visibility, UAF, CAS) to old trigram structures in c11. surprisingly mapped 1:1 pretty well. put the puzzle and code snippets here

  3. gg582

    I wrote this post as a bit of an unconventional thought experiment.

    The idea was to take the concepts of memory reclamation and pointer visibility (stuff you see in EBR or RCU) and map them onto medieval East Asian state-machine logic—specifically the structural and matrix ideas from the Song-Yuan period.

    To keep it grounded in actual code, I set up a small concurrent deallocation puzzle using C11 atomics and mapped four classical trigram patterns (乾, 坤, 坎, 離) directly to real-world memory invariants:

    * Revoking visibility via CAS before freeing (orthodox safe reclamation)

    * Asymmetric pipeline handoffs

    * Classic use-after-free bugs from premature freeing

    * Race conditions caused by blind `memset` zeroing

    It's an attempt to see if ancient structural framing can provide an interesting symbolic vocabulary for modern low-level systems programming, without turning it into philosophical fluff. Thought some folks here might find the crossover interesting.

More from this day

2026-09-12