Every operational semantics is different and the question specifies no context, so I can only guess at the answer.
I would parse if b then c; w else skip
as if b then {c; w} else skip
, that is, the second interpretation from the question. The derivation seems to be about the case that b
is false, so c
is not mentioned because if b
is false, c
is not executed. Instead, skip
is mentioned because it's executed.