SLIDE 64 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OT functions for a replicated list object [Ellis and Gibbs, 1989]
OT
(
Ins(a1, p1, pr1), Ins(a2, p2, pr2)
)
=
Ins(a1, p1, pr1) p1 < p2 Ins(a1, p1 + 1, pr1) p1 > p2 NOP p1 = p2 ∧ a1 = a2 Ins(a1, p1 + 1, pr1) p1 = p2 ∧ a1 ̸= a2 ∧ pr1 > pr2 Ins(a1, p1, pr1) p1 = p2 ∧ a1 ̸= a2 ∧ pr1 ≤ pr2 OT
(
Ins(a1, p1, pr1), Del(_, p2, pr2)
)
=
Ins(a1, p1, pr1) p1 ≤ p2 Ins(a1, p1 − 1, pr1) p1 > p2 OT
(
Del(_, p1, pr1), Ins(a2, p2, pr2)
)
=
Del(_, p1, pr1) p1 < p2 Del(_, p1 + 1, pr1) p1 ≥ p2 OT
(
Del(_, p1, pr1), Del(_, p2, pr2)
)
=
Del(_, p1, pr1) p1 < p2 Del(_, p1 − 1, pr1) p1 > p2 NOP p1 = p2
Hengfeng Wei (Nanjing University) Replicated List (Jupiter) December 17, 2018 8 / 9