Next:3.1.5
Упражнения
Up:3.1
Средства для организации
Previous:3.1.3
Оператор выбора
Пусть для операторов и и утверждений , и имеют место свойства { } { } и { } { }. Тогда имеет место свойство:
{ } ifthen P else Q end{ }
В качестве примера рассмотрим применение этого правила для доказательства свойства
{ True } if X Y then Z := X else Z := Y end{ Z X, Z Y}
Исходя из семантики оператора присваивания имеем
и
,
которые по правилу следствий можно переписать следующим образом:
и .
Отсюда, применяя правило условного оператора, получаем интересующее нас свойство. Используя известную связь условных и выбирающих операторов, можно сформулировать аналогичные правила вывода свойств для операторов выбора и условного оператора в сокращенной форме. Например, для оператора
case B of '=' : S1 | '*', '+ ' :S2 | '-': S3 end,
где -- некоторое выражение, вычисляющее литерное значение, а S1, S2, S3 -- произвольные последовательности операторов, соответствующее правило имеет следующий вид.
Пусть для некоторых утверждений и справедливы три свойства и Тогда имеет место следующее свойство:
{
} case B of '=' : S1 | '*', '+ ' :S2 | '-': S3
end{
}.
Next:3.1.5
Упражнения
Up:3.1
Средства для организации
Previous:3.1.3
Оператор выбора