[darcs-users] question mergers, revisited

Mirian Crzig Lennox list-darcs-users at cosmic.com
Mon Jan 19 17:49:07 UTC 2004


Back in December, I posted that I had been having some difficulty
unwinding a particular hypothetical merger:

    M(M(A,B),M(M(C,D),E))

I began by unwinding the two halves,

              C
    A         M(C,D)
    M(A,B)    M(M(C,D),E)

then got stuck trying to reconcile patch A with M(C,D).  After staring
at the problem for on three weeks, this is what I've come up with:

* Since none of the mergers in either column involves A with C or D,
  we may assume that AC' <=> CA' and AD' <=> DA' are valid
  commutations.

* By definition, a merger comprises parallel patches; thus M(P1,P2) is
  semantically equivalent to M(P2,P1) regardless of context.
  Furthermore, for any simple patch P3,

     if P1P3 <=> P3'P1' and P2P3 <=> P3'P2' then M(P1,P2)P3 <=> P3'M(P1'P2')

Consequently, my full unwinding works out to:

     C'
     M(C'D')
     A
     M(A,B)
     M(M(A,B),M(M(C,D),E))

Where C' and D' are C and D respectively commuted with A.

Is this correct?

cheers,
Mirian




More information about the darcs-users mailing list