Oh, this gets easier if you split C into two steps: one to raise List Tx
into List (List Tx)
(by putting every element in a singleton list), call it c=R(s), and the other that repeatedly merges adjacent chunks when they’re out of order and gives you the best chunking, b=C(c)
Then you have C(a) \ge a fairly straightforwardly (hopefully?), and also C(a+b) = C(C(a) + b) = C(a+C(b)) = C(C(a)+C(b)) directly from merge order independence.
Also, I think that means you’re always comparing chunks (List Tx
) by feerate, and chunkings (List (List Tx)
) by diagram.