Next:3.1.5
Упражнения
Up:3.1
Средства для организации
Previous:3.1.3
Оператор выбора
Пусть для операторов
и
и утверждений
,
и
имеют место свойства {
}
{
} и {
}
{
}. Тогда имеет место свойство:
{
} if
then
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
Оператор выбора