KAOS (94) 過程ベースの仕様 (4.4.2-6)

今回は,過去を示す演算子である.引き続き教科書 1から例をとる.ただ,記号が特殊でテキストでは書きづらいので,記号は,KAOS教科書にあるものを使う.このあたりの記号の豊富さが,絵文字に仲間意識を感じるように,魅力的なところかもしれない.

「前(Previous)」演算子 ●

未来の○に対応する.

(σ, j) ⊧ ● p iff    j>0 and (σ, j – 1) ⊧ p.

下記は「前」演算子の真理値である.ゼロから1に変化する場所を示す.「次」演算子も合わせて示している.なお,真になるためには,j>0の条件があるので,最初(j=0)では,無条件で偽になる.

「(x=1)∧●(x=0)」真理値表
j 0 1 2 3 4 5 6
x 1 1 0 0 1 1 0
(x=1)∧●(x=0) F F F F T F F
(x=0)∧○(x=1) F F F T F F F

 

「以前(Has-alwasy-been)」演算子 ■

(σ, j) ⊧ ■p   iff   (σ, k) ⊧ p for all k, 0 ≤ k ≤ j.

未来の□に対応する.「ずっと,pであった」ということを意味する.

以下に例を示す.

「■ (x ≤ 3)」真理値表
j 0 1 2 3 4 5 6
x 1 2 3 4 5 6 7
■ (x ≤ 3) T T T F F F F

時刻2までは,式が成立している.

「かつて(Once)」演算子 ◆

(σ, j) ⊧ ◆p   iff   (σ, k) ⊧ p for some k, 0 ≤ k ≤ j.

「pで真あったことがある」という意味である.

「◆ (x = 4)」真理値表
j 0 1 2 3 4 5 6
x 1 2 3 4 5 6 7
◆ (x = 4) F F F T T T F

「以来(Since)」S 演算子

(σ, j) ⊧ p S q   iff   0 ≤ k ≤ j となる k があり,(σ, k) ⊧ q が成り立つ.かつ,k < i ≤ j で,全ての i において (σ, i) ⊧ p.

かつて q に出会った.それ以降は p であった.q p … p という列を考えている.

次は,(x ≤ 6) S (x = 3) の例である

「(x ≤ 6) S (x = 3)」真理値表
j 0 1 2 3 4 5 6
x 1 2 3 4 5 6 7
x ≤ 6 T T T T T T F
x = 3 F F T F F F F
(x ≤ 6) S (x = 3) F F T T T T F

「(よわい)以来(Back-to)」B 演算子

(σ, j) ⊧ p B q   iff   (σ, j) ⊧ p S q  or  (σ, j) ⊧ ■p.

基本的には,Sと同じである.ただ,q に出会わなくても良い.その場合は,p が続いていた.

ちょうど,U に対するWと同様の関係にある.

次の真理を考える.(x ≠ 4)  B  (x = 6)

「(x ≠ 4) B (x = 6)」真理値表
j 0 1 2 3 4 5 6 7 8
x 1 2 3 4 5 6 7 8 9
x ≠ 4 T T T F T T T T T
x = 6 F F F F F T F F F
(x ≠ 4) B (x = 6) T T T F F T T T T

前半の真の部分は,■ p による.後半は,p S q が機能している.

他にも過去の演算子はあるが,基本的なものは上記になる.

(nil)

Notes:

  1. Pnueli, Amir, and Zohar Manna. “The temporal logic of reactive and concurrent systems.” , 1992.