Structures
Observed-remove set
Alice must remove the old Eagle Creek beacon while Bob reports its replacement from another trail. Carol still has an older notebook and may receive their records in either order. The ranger needs the replacement to remain without restoring the old installation.
A replacement needs a new identity
Alice's original report gave the old beacon tag A:1.
After she observes that installation, her removal names
A:1. It does not remove every future beacon called Eagle
Creek.
Bob adds the replacement while his station and Alice's station cannot
exchange notes. His addition gets the fresh tag B:2. An
observed-remove set
removes only the addition identities that the removing replica
observed.
Each additions-page row pairs a beacon name with its tag. Each
removals-page row copies the same pair, so an old note cannot restore
that installation. The notebook also keeps the highest tag number seen.
Bob has seen A:1, so his next tag is B:2.
| Notebook | Additions page | Removals page | Highest tag number seen | Visible list |
|---|---|---|---|---|
| Alice | empty | Eagle Creek: A:1 |
1 |
empty |
| Bob |
Eagle Creek: A:1Eagle Creek: B:2
|
empty | 2 |
Eagle Creek |
| Carol | Eagle Creek: A:1 |
empty | 1 |
Eagle Creek |
After all records arrive, each additions page retains Eagle Creek:
B:2, each removals page retains Eagle Creek:
A:1, and each highest tag number is 2. The
visible list contains Eagle Creek because the replacement tag remains.
Three field notebooks
Keep the replacement, not the old beacon
Alice removes the installation she observed while Bob concurrently installs a replacement under a fresh identity.
Merge rule Remove observed tags; keep concurrent fresh tags.
Alice
Eagle Creek is active
Visible beacon list
Checkpoint note Remove observed tag A:1
Bob
Eagle Creek is active
Visible beacon list
Checkpoint note Add Eagle Creek as B:2
Carol
Eagle Creek is active
Visible beacon list
Checkpoint note No note in this race
Mechanism evidence A:1 is the live old installation.
- No records shared yet.
Enable JavaScript to run the demo. The starting state and expected result remain in the lesson.
The old Eagle Creek installation is active. Race its removal against Bob's replacement.
The concurrent replacement wins
Alice could not name B:2 when she removed the old beacon
because Bob had not sent it yet. Bob's addition is concurrent with her
removal, so it survives. This is the set's add-wins rule.
A delayed copy of A:1 does not return. The replicas retain
removal knowledge for that exact tag. The visible value is still Eagle
Creek, but the notebook's surviving B:2 identity proves
that it is the replacement.
The full reference lesson lets you temporarily block notes between Alice and Bob, preserve a stale copy, exchange the conflicting deltas, and inspect the live tags and tombstones.
Sources and implementation
The interactive lesson calls Watershed's OR-set kernel through the stable Atlas toolkit.