В семантике языка программирования как построить оператор, чтобы показать, что S1;S2 и S2;S3 семантически не равны?

#semantics

Вопрос:

Вот упражнение из книги, которую я сейчас читаю:

Докажите, что два утверждения S1;(S2;S3) и (S1;S2);S3 семантически эквивалентны. Постройте утверждение, показывающее, что S1;S2, в общем случае, семантически не эквивалентно S2;S1,

Я знаю,что два утверждения S1 и S2 считаются семантически эквивалентными iff: <S1, s>-<S1,s>> s’ iff <S1,s>><S2,s>-<S2,s>> s’

Комментарии:

1. Предполагая императивный язык, подойдет все, что связано с необратимым оператором присваивания, т. е. x := 0 и x := 1 .