Hoare 順序 と Smyth 順序について


Hoare 順序と Smyth 順序についてまとめましょう。

(Quixote で用いているのは、Hoare 順序です。)


(1) Hoare の場合
定義: X =<h Y   <=>  ∀x∈X, ∃y∈Y, x=<y

- 標準系
	S | ∀s1,s2∈X, s1=/=s2, s1 not=< s2
	(相異なるどの2要素も、互いのsubsumptionでない)

	Sと等価な集合Xは、 S =<h X, X =<h S より
	少なくとも、Sの全要素を含んでおり、かつSの要素にsubsumeされる
	要素は含んでいても良い( X =<h Sに反しない )

	(例)  {1,int} と {int} は等価

- MがXとYのmeet
	M =<h X, M =<h Y
 	∀m∈M, ∃x∈X, ∃y∈Y, m=<x, m=<y (つまり、 m=<meet(x,y))

	ですから、XとYの要素の全組合せのmeetからなる集合がM

- JがXとYのjoin
	X =<h J, Y =<h J
 	∀x∈X, ∃j∈J, x=<j,
 	∀y∈Y, ∃j'∈J, y=<j'

	ですから、XとYの集合のunion がJ

(2) Smyth の場合
定義: X =<s Y   <=>  ∀y∈Y, ∃x∈X, x=<y
- 標準系
	S | ∀s1,s2∈X, s1=/=s2, s1 not=< s2
	(相異なるどの2要素も、互いのsubsumptionでない)

	Sと等価な集合Xは、 S =<s X, X =<s S より
	少なくとも、Sの全要素を含んでおり、かつSの要素をsubsumeする
	要素は含んでいても良い( S =<s Xに反しない )

	(例)  {1,int} と {1} は等価

- MがXとYのmeet
	M =<s X, M =<s Y
 	∀x∈X, ∃m∈M, m=<x,
 	∀y∈Y, ∃m'∈M, m'=<y
	ですから、XとYの集合のunionがM	

- JがXとYのjoin
	X =<h J, Y =<h J
 	∀j∈J, ∃x∈X, ∃y∈Y, x=<j, y=<j (つまり、 join(x,y)=<j)
	ですから、XとYの要素の全組合せのjoinからなる集合がJ