In reply to Have_A_Doubt:
So seq1 isn’t aware whether seq2 assigns to it as well. Essentially behaving as 2 separate variables
YES. You see that clearly on tools that use thread viewers that display each thread and the variables associated with them.
Logically, that makes sense. What if in the same cycle x=data1 in the LHS of the AND sequence, and it assigns x=data2 on the RHS of the AND sequence. What is the value of x? you can’t define it if x is a common single variable.