Lean-yjs: formally proving the Yjs conflict resolution algorithms

@dmonad Kevin Jahns
Mon, 15 Sep 2025 16:23:37 +0000

Hi @iasakura,

I really appreciate you working on this!

Nine years later, you are actually the first to point out the issue in the pseudocode in the paper! The algorithm for item.integrate in the Yjs codebase did not change at all (aside from some optimizations I made). It seems I translated the code incorrectly to pseudocode. Thanks for going the extra mile and using the correct algorithm.

It’s unfortunate that the code in the paper is incorrect. I’m going to reference your repository and this discussion in the Yjs readme. I’m sure you will write a paper about lean-yjs. I would love to reference that as well.