[prev in list] [next in list] [prev in thread] [next in thread] 

List:       darcs-conflicts
Subject:    Re: [darcs-conflicts] conflictor plan, part 3: conflictor commutation
From:       Marnix Klooster <marnix.klooster () gmail ! com>
Date:       2005-04-30 20:20:25
Message-ID: 4273E889.2040507 () gmail ! com
[Download RAW message or body]

David Roundy wrote:

>On Thu, Apr 28, 2005 at 08:58:17PM +0200, Marnix Klooster wrote:
>  
>
>>Hello David,
>>
>>Just like Ian, I don't quite get the following.  You wrote (slightly
>>edited for new notation):
>>
>>    
>>
>>>We define
>>>
>>>B || [A,C] => B[AB,C]
>>>
>>>so the total merge is
>>>
>>>(AB || C) => AB[AB,C]
>>>
>>>In terms of commutation, this means that
>>>
>>>inv(B)[A,C] <-> c[AB,C]inv([C,AB])
>>>
>>>Note that I've also now introduced a third patch, [C,AB], in which the
>>>sequence shows up in the second "this patch" part.
>>>
>>>      
>>>
>>Can you explain the "this means that" step in more detail?  I see that
>>
>>    (AB)+C = AB[AB,C]
>>    (AB)+C = C[C,AB]
>>    
>>
>
>(tentatively switching to a variant of Ian's modified conflictor notation,
>where [C,AB] is [C;A,B] and [C,A] is [C;A])
>
>The second isn't true if A and B are separate patches (since patch number
>is conserved on merge),
>
>AB+C = C[C;A][C;A,B]
>
>This can then be commuted in two steps
>
>C[C;A][C;A,B] <-> (easy) A[A,C][C;A,B] <-> (by above merge) AB[AB;C]
>
>So if we take the second commute
>
>[A;C][C;A,B] <-> B[AB;C] and apply the property that a commute with a patch
>and its inverse makes no chanch (except to the patch and its inverse)--I
>think this is your 'juggle axiom'--then
>
>inv(B)[A;C] <-> [AB;C]inv([C;A,B])
>  
>
Aha!  Now I'm clear why I was confused.  When writing [C,AB] you meant a
relationship between *three* patches, whily I meant one between two
patches, where one (AB) was 'accidentally' composed of two sub-patches. 
In my own notation, you just showed me that we have the following law
(axiom, I think):

    <C,AB> = <C,A><C+A,B>

where A, B, and C are patches (or expressions that result in patches). 
Justification: if we add C to the context of AB, then we first add C to
the context of A, resulting in <C,A>; and then we add C<C,A> (= C+A) to
the context of B.

Groetjes,
 <><
Marnix

_______________________________________________
darcs-conflicts mailing list
darcs-conflicts@darcs.net
http://www.abridgegame.org/cgi-bin/mailman/listinfo/darcs-conflicts
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic