Vector clocks: Why is it necessary to increment my clock on receiving a message?
Look at the definition of $&lt;_H$.

We say that $e_1&lt;_H e_2$ (event 1 happened before event 2) if:


$e_1,e_2$ took place in the same process, and $e_1$ happened first (events within the same process are ordered).
$e_1,e_2$ are the sending and receiving of some message $m$, correspondingly.


Finally, we take the transitive closure of the above, and this yield Lamport's happened before relation.

Our objective is to assign time stamps to events, $T_{e_i}$ with a partial order $&lt;_t$, such that $e_1&lt;_H e_2 \iff T_{e_1}&lt;_t T_{e_2}$.

The timestamps suggested here are vectors in $\mathbb{N}^n$, with the ordering $T_{e_p}&lt;_t T_{e_q} \iff T_{e_p}[p]&lt;T_{e_q}[p]$ where $e_p,e_q$ are events in processes $p,q$ correspondingly (assume each time stamp contains the process id).

Back to your question, not updating your clock upon receiving a message would cause your new relation $&lt;_t$ to disagree with $&lt;_H$ in events within the same process. For example, you would have $c\not\rightarrow d$ (figure 3). In addition, this is mentioned in the paper (rule 2, increase the local clock at each atomic event, which is either sending or receiving a message).