# Why doesn't Dynamic update if it only contains a Set statement? [strict]

Consider the 3 following manually entered evaluations where a Set statement is brought to the Front-End by Dynamic:

Obviously the Set statement in Dynamic is evaluated only once, at the beginning. Despite remaining on the screen at all times and despite manual future alteration of t, t=0 does not seem to be evaluated again. According to documentation I would expect the Set statement to be evaluated each time t changes.

Why is this so? I failed to see the explanation in the neat answers Using Refresh[..] with TrackedSymbols! and advanced Dynamic documentation.

This is further surprising, considering that adding t; in the Dynamic expression, recovers systematic evaluation of t=0 when t is altered:

Later increment: following the suggestion by Kuba in the comments about using t[], here is a third case where t[0] apparently does not depend on t (like the first case) but actually updates this time.

Thank you for you help and keep on the good work.

New contributor
SteppingStone is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.
• The statement t = 0 does not depend on the value of t. The statement t; t = 0 does, since t is evaluated. – Michael E2 yesterday
• Ok, it is not sufficient that t formally (lexically) appears in the expression to be updated by Dynamic. I better understand the logics now, somehow clearer than the multipage documentation, thank you. – SteppingStone yesterday
• Comments are not for extended discussion; this conversation has been moved to chat. – Kuba yesterday