Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
19
Добавлен:
23.05.2015
Размер:
1.7 Mб
Скачать

 

ψ

C

 

D

 

Op10

 

Op20

??

E F

θ

• {Op1, Op01} и {Op2, Op02} не имеют общих переменных.

Тогда верна диаграмма

 

 

 

 

 

ϕ

 

 

 

·

A

 

 

B

·

 

 

 

 

 

Op1

1

 

 

 

 

Op2

2

 

 

 

 

 

Op0

 

 

 

 

Op0

 

 

 

?

 

?

 

 

 

 

E

 

 

F

 

 

 

 

 

 

 

 

 

 

 

 

 

θ

 

 

7.8.15Другой пример доказательства наблюдаемой эквивалентности процессов с СО

В качестве примера использования теорем из параграфа 7.8.14 докажем наблюдаемую эквивалентность

• процесса

(Bu er n1 [P ass/Out] | Bu er n2 [P ass/In]) \ {P ass} (7.43)

226

где P ass 6In,{ Out}, и

• процесса Bu er n1+n2 .

Процесс (7.43) представляет собой последовательную композицию даух буферов размеров n1 и n2. Его потоковый граф имеет вид

' $' $

e Bu er uPass e Bu er u

In n - n Out

& 1 %& 2 %

Согласно определению операций на процессах с СО (см. параграф 7.8.5), графовое представление процесса (7.43) выглядит следующим образом:

 

(k1 < n1) ?

 

 

 

(k2 > 0) ?

 

 

 

 

In ? f1

 

 

 

 

 

Out ! qˆ2

 

 

 

 

 

q1 := q1

·

[f1]

- A

q2

:= q0

 

 

 

 

 

k1 := k1

 

 

 

2

− 1

 

 

 

 

+ 1

k2

:= k2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

(7.44)

 

 

 

 

 

 

 

(k < n

) ?

 

 

 

 

(k > 0)

 

 

 

 

 

 

1

 

2

 

2

 

 

 

 

 

 

 

 

f2 := qˆ1

 

 

 

 

 

 

 

 

 

 

 

 

q1 := q10

 

 

 

 

 

 

 

 

 

 

 

 

k1 := k1 − 1

 

 

 

 

 

 

 

 

 

 

q2 := q2 · [f2]

 

 

 

 

 

 

 

 

k2 := k2 + 1

 

 

 

 

Начальным условием процесса (7.44) является формула

( (n2

> 0)

(k2

= 0)

(q2

= ε) )

(n1

> 0)

(k1

= 0)

(q1

= ε)

 

 

 

 

 

 

Графовое представление процесса Bu er n1+n2 имеет вид

227

 

(k < n1 + n2) ?

 

 

 

(k > 0) ?

 

 

 

In ? f

 

 

 

Out ! qˆ

 

 

 

q := q · [f]

 

 

q := q0

 

 

 

k := k + 1

 

 

1

 

-

a

k := k

 

 

 

 

 

 

 

 

 

 

 

 

 

Начальным условием процесса Bu er n1+n2 является формула

(n1 + n2 > 0) (k = 0) (q = ε)

Нетрудно проверить, что формула

 

q1

= k1

 

 

 

 

0

 

|

k1 ≤ n1

 

|

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

def

 

q2

k

 

n

 

 

 

 

= k2

 

 

 

0

 

 

 

2

 

2

 

Inv =

 

 

 

 

 

n|

1

|> 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n2 > 0

 

 

 

является инвариантом процесса (7.44). Этот факт следует, в частности, из истинности для каждой строки u и каждого символа a соотношений

( |u|

[a] = [a] u = u + 1

u > 0

|u0

| = |u| − 1

| ·

|

| · |

| |

В качестве инварианта второго процесса мы возьмём формулу

>.

Определим функцию µ : {A} × {a} → F m следующим образом:

(

q

=

q

 

·

q

)

def

2

1

µ(A, a) =

 

 

 

 

k = k2 + k1

Проверим свойства 1, 2, и 3 для функции µ.

1.Свойство 1 в данном случае представляет собой неравенство

(n2

> 0)

(k2

= 0)

(q2

= ε)

 

(n1

> 0)

(k1

= 0)

(q1

= ε)

 

 

 

 

 

 

 

 

(n1 + n2 > 0) (k = 0) (q = ε)

 

 

 

 

 

 

 

 

которое,

очевидно, верно.

 

 

 

q = q2 · q1

)

 

( k = k2 + k1

 

 

 

 

 

 

 

 

 

228

(

2.Проверим свойство 2.

Для левого перехода процесса (7.44) неравенство (7.37) верно. В качестве (7.38) мы возьмем совокупность, единственным элементом которой является левый переход процесса Bu er n1+n2 .

Неравенство (7.39) в данном случае имеет вид

q1= q2

1 q1

 

k < n

·

k = k2 + k1

 

 

 

 

 

 

 

 

 

 

Inv

 

 

 

 

 

 

что, очевидно, верно.

≤ (k < n1 + n2)

Пользуясь (7.33), запишем неравенство, соответствующее диаграмме (7.40) для данного случая в виде

q = q2 · q1

k = k + k

2 1

Inv

k1 < n1

k < n + n

1 2

k ·+ 1

= k2

·+ k·1

+ 1 )

(7.45)

q [z] = q2

q1

[z]

 

Нетрудно установить, что последнее неравенство верно.

Для среднего (внутреннего) перехода процесса (7.44) неравенство (7.37) верно. В качестве (7.38) мы возьмем совокупность, единственным элементом которой является пустой СП процесса Bu er n1+n2 .

Неравенство (7.39) в данном случае верно по тривиальной причине: правая часть в нём имеет вид >.

Пользуясь соотношением (7.33), запишем неравенство, соответствующее диаграмме (7.40) для данного слу-

чая, в виде

 

q = q2

q1

 

q = (q2 [ˆq1]) q10

 

k = k2

·+ k1

 

 

 

 

 

 

 

 

 

 

 

 

( k = k2 + 1 + k1

 

1 )

 

 

 

 

 

 

 

 

 

 

 

 

k1 > 0

 

 

· ·

 

(7.46)

 

Inv

 

 

k2 < n2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

229

Данное неравенство следует из

ассоциативности операции конкатенации, и

истинности для каждой строки u соотношения

|u| > 0 u = [ˆu] · u0

Для правого перехода процесса (7.44) неравенство (7.37) верно. В качестве (7.38) мы возьмем совокупность, единственным элементом которой является правый переход процесса Bu er n1+n2 .

Неравенство (7.39) в данном случае имеет вид

q2= q2

 

q1

 

k > 0

·

 

k = k2 + k1

 

 

 

 

 

 

 

 

 

 

 

 

 

Inv

 

 

 

 

 

 

 

 

 

что, очевидно, верно.

≤ (k > 0)

Пользуясь соотношением (7.33), запишем неравенство, соответствующее диаграмме (7.40) для данного случая, в виде

 

q = q2

q1

 

 

 

2 = qˆ

 

 

 

 

 

 

 

 

k = k2

·+ k1

 

 

 

 

 

 

 

 

 

 

 

Inv

 

 

 

q0

= q20

 

q1

 

 

 

 

(7.47)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

·

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k > 0

 

 

 

k

1 = k

2

1 + k

1

 

 

k2> 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Данное неравенство следует из истинности для каждой пары строк u, v соотношения

|u| > 0

( (u

· v)0

= u0

 

v )

 

(u

v)ˆ = uˆ

·

 

 

 

·

 

 

3.Проверим свойство 3.

Для левого перехода процесса Bu er n1+n2 неравенство (7.37) верно. В качестве (7.41) мы возьмем совокуп-

ность, состоящую из двух СП:

230

левого перехода процесса (7.44), и

последовательности из пары переходов,

первым элементов которой является средний (внутренний) переход процесса (7.44),

а вторым – левый переход процесса (7.44)

Неравенство (7.39) в данном случае имеет вид

q = q21

 

q1

2

 

 

 

 

k1 > 0

 

 

 

k < n + n

 

 

 

(k1 < n1)

k2 < n2

 

 

 

·

 

 

 

 

k = k2 + k1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Inv

 

 

 

 

 

 

k

1

1 < n

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Это неравенство верно (при его обосновании используется содержащийся в Inv конъюнктивный член n1 > 0).

Истинность неравенств, соответствующих диаграммам (7.42) для обоих элементов совокупности (7.41), следует из (7.45), (7.46) и теоремы 36.

Для правого перехода процесса Bu er n1+n2 неравенство (7.37) верно. В качестве (7.41) мы возьмем сово-

купность, состоящую из двух СП:

правого перехода процесса (7.44), и

последовательности из пары переходов,

первым элементов которой является средний (внутренний) переход процесса (7.44),

а вторым – правый переход процесса (7.44)

Неравенство (7.39) в данном случае имеет вид

q = q2 q1

 

 

 

 

k1 > 0

 

 

k > 0

·

 

 

(k2 > 0)

k2 < n2

 

k = k2 + k1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Inv

 

 

 

 

k

2

+ 1 > 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Это неравенство верно (при его обосновании используется содержащийся в Inv конъюнктивный член n2 > 0).

231