{"id":"orset-add-wins-semantics","text":"Concurrent add and remove of the same element in `ORSet` resolves in favor of the add, because the add's unique tag was not in the remover's tombstone snapshot","truth_value":"IN","source":"entries/2026/05/29/conflict-free-replicated-data-types-crdts.md","source_url":"","source_hash":"","justifications":[],"dependents":[],"metadata":{"example":"def merge(self, other):\n    merged_tombstones = self._tombstones | other._tombstones\n    merged_tags = (self_tags | other_tags) - merged_tombstones\n    # new add() creates fresh tag not in tombstones -> add wins"},"explanation":{"steps":[{"node":"orset-add-wins-semantics","truth_value":"IN","reason":"premise"}]}}