Am 24.01.21 um 12:03 schrieb Ben Franksen:
> A /realization functor/ R is a functor from abstract patches (sequences
> of names and contexts) to concrete patches (with a commute function),
> such that
> 
>  (a) R maps abstract paths to concrete paths of the same length
>  (b) for any two parallel abstract paths ns and ms of length 2,
>      commute(R(ns))=Just(R(ms)) (here R is the mapping on arrows)
>  (c) there is a distinguished state E, such that E is an element of
>      R({}) (here R is the mapping on objects i.e. contexts)

I just realized (pun, haha) that this functor has a name in Darcs: we
call it 'effect'. I think I like that name better.

Here is my picture of the overall structure of patch theory, when
extended to the lower levels. We have three categories: abstract patches
(AP), concrete patches (CP), and partial bijections (PB), and two functors:

  AP ---effect--> CP ---apply--> PB

(While PB is a groupoid, CP is not, contrary to what I stated in my last
mail, because that would mean pp^:s->s = id_s, which does not play well
with commutation).

The effect functor is understood to be relative to some choice of start
state, see condition (c). Neither functor is injective (on morphisms;
for objects I haven't checked this). I don't think the apply functor is
surjective in any strict sense, but we should reasonably expect that for
any two states s and t there is an arrow p in CP such that apply(p) is
defined at s and apply(p)(s)=t. Indeed, the treeDiff function in Darcs
gives a possible solution (the result depends on which diff algorithm is
selected).

The effect functor is surjective only if we restrict CP to sequences
that are "sensible" relative to the chosen start state. For any sensible
concrete patch sequence cp there is a sequence of names ap such that
effect(ap)=cp, since this is precisely the condition under which we are
able to record such a sequence.

Cheers
Ben

_______________________________________________
darcs-users mailing list
darcs-users@osuosl.org
https://lists.osuosl.org/mailman/listinfo/darcs-users

Reply via email to