§8.2格的定义
定义A.给出一个部分序集(L,≤),如果对于任意a,b∈L,L的子集(a,b)在L中都有一个最大下界(记为inf{a,b})和一个最小上界(记为sup{a,b}),则称(L,≤)为一个格。
显然,一个序集是一个格,但是,不是所有部分序集都是格。
例8.2.1.S是任意一个集合,ρ(S)是S的幂集合,于是,部分序集(ρ(S),⊆)是一个格。对sup{A,B}=A∪B,inf{A,B}=A∩B。当S仅有一个元素时,对应的格是包含两个元素的链。
例8.2.2.设I是所有正整数集合,D是I + 中的“整除关系”,亦即,对任意a,b∈I + ,aDb当且仅当a整除b,于是,(I + ,D)是一个格。“整除关系”是部分序关系,I + 中子集{a,b}的最小上界就是a,b的最小公倍,子集{a,b}的最大下界就是a,b的最高公因。
例8.2.3.设n是一个正整数,S是n的所有正因数的集合。例如,S 6 ={1,2,3,6},S 24 ={1,2,3,4,6,8,12,24}.设D是“整除关系”,于是,(S 6 ,D),(S 8 ,D),(S 24 ,D)和(S 30 ,D)都是格,可画出其Hasse图。
例8.2.4.设S是所有的命题集合,定义“⇐”关系如下:A⇐B,当且仅当B蕴涵A。则(S,⇐)是一个格。∀A,B∈S,sup{A,B}=A∧B∈S,inf{A,B}=A∨B∈S.
定义A ′ :设(L,≤)是格,S是L的子集,即S⊆L,如果(S,≤)是格,则称(S,≤)是格(L,≤)的子格。
例如,(S 6 ,D)是(S 24 ,D)的子格。
定义B:设L是一个集合,×,⊕是L上两个二元代数运算,如果这两种运算对于L中元素满足:(1)交换律:a×b=b×a,a⊕b=b⊕a;(2)结合律:a×(b×c)=(a×b)×c,a⊕(b⊕c)=(a⊕b)⊕c;(3)吸收律:a×(a⊕b)=a,a⊕(a×b)=a;则称此代数系统(L,×,⊕)为一个格。
定义B中没有要求×,⊕运算满足等幂律,实际上由×,⊕满足吸收律即可推出它们一定满足等幂律。任取L中元素a,由×,⊕满足吸收律知,a×(a⊕a)=a,a⊕(a×a)=a。故a×a=a×(a⊕(a×a)),a⊕a=a⊕(a×(a⊕a)).又由×,⊕满足吸收律知,上面两式的等式右端都等于a,因此a×a=a,a⊕a=a。即,定义B中的×,⊕运算满足等幂律。
例8.2.5.设S是一个集合,ρ(S)是S的幂集合,集合的交(∩),并(∪)是ρ(S)上的两个代数运算,于是,(ρ(S),∩,∪)是一个格。而由例8.2.1知(ρ(S),⊆)是半序格。易见对∀A,B∈ρ(S),A⊆B⟺A∩B=A⟺A∪B=B.
例8.2.6.设I + 是所有正整数集合,两个正整数的最高公因×,⊕最小公倍可看作I + 上两个代数运算,于是,(I + ,×,⊕)是一个格。而由例8.2.2.知(I + ,D)是半序格。易见,对任意a,b∈I + ,aDb⟺a×b=a⟺a⊕b=b.
例8.2.7.设n是一个正整数,S n 是n的所有因数的集合,两个正整数的最高公因×,最小公倍⊕可看作是S n 上两个代数运算,于是(S n ,×,⊕)是一个格。
定理8.2.1.定义A所定义的格和定义B所定义的格是等价的,亦即,一个部分序格必是一个代数格;反之亦然。
证明:i)若(L,≤)是一个格,则对任意a,b∈L,即inf{a,b}为a×b;sup{a,b}为a⊕b。由于对任意a,b,其inf{a,b},sup{a,b}是唯一的,所以,如上定义的×,⊕是集合L上的两种二元代数运算。不难证明,对于×,⊕满足交换律,结合律,吸收律。我们只证明吸收律:a×(a⊕b)=a。因为a×(a⊕b)是a与(a⊕b)的最大下界,所以a×(a⊕b)≤a;另一方面,由于a≤a,a≤a⊕b,所以a是a与a⊕b的下界,故a≤a×(a⊕b),故a=a×(a⊕b)。因此,根据定义B,(L,×,⊕)是一个格。ii)若代数系统(L,×,⊕)是一个格,在集合L上定义一个关系≤如下:对任意a,b∈L,a≤b⟺a×b=a往证:≤是一个部分序关系。因为a×a=a×(a⊕(a×a))=a,所以有a≤a。若有a≤b,b≤a,则应有a×b=a,b×a=b,而a×b=b×a,所以a=b.若a≤b,b≤c,则有a×b=a,b×c=b,故a×c=(a×b)×c=a×(b×c)=a×b=a,亦即,有a≤c。由此证明了关系≤具有反身性,反对称性,传递性。故≤是部分序关系。不难证明:a×b=a⟺a⊕b=b。若a×b=a,则a⊕b=(a×b)⊕b=b.若a⊕b=b,则a×b=b×(a⊕b)=a.因此,对任意a,b∈L,a≤b,a⊕b=b。下面证明,对任意{a,b}⊆L,存在inf{a,b},sup{a,b},由吸收律知a×(a⊕b)=a,b×(a⊕b)=b,故有a≤(a⊕b),b≤(a⊕b).亦即,a⊕b是{a,b}的上界。若c∈L,且c是{a,b}的上界,亦即有a≤c,b≤c,则应有a⊕c=c,b⊕c=c,于是,(a⊕b)⊕c=(a⊕c)⊕(c⊕c)=(a⊕c)⊕(b⊕c)=c⊕c=c故有(a⊕b)≤c.这就说明了(a⊕b)是{a,b}的最小上界,即sup{a,b}=(a⊕b).同理可证,inf{a,b}=(a×b).故(L,≤)称为半序格(L,×,⊕)称为代数格。由此定理知,给出一个半序格(L,≤),就有一个与之等价的代数格(L,×,⊕)。反之,给出一个代数格(L,×,⊕),就有一个与之等价的半序格(L,≤)。互为等价的两个格:(L,≤)和(L,×,⊕),其×,⊕分别是在部分序关系≤下的最大下界运算和最小上界运算。今后,提到一个格,可随便将其理解为半序格或者与之等价的代数格。
定义B ′ :设(L,×,⊕)是一个格,S是L的一个子集,(S,×,⊕)称为(L,×,⊕)的一个子格,当且仅当在运算×,⊕下,S是封闭的。子格是一个格。
例如,(S n ,×,⊕)是(I + ,×,⊕)的子格,其中×,⊕分别是最高公因和最小公倍。
从定义B ′ 不难说明,若(L,×,⊕)是一个格,S⊆L,并且(S,×,⊕)也是格,则(S,×,⊕)是(L,×,⊕)的子格。亦即:(S,×,⊕)是格(L,×,⊕)的子格的充要条件是:S⊆L且(S,×,⊕)是一个格。
最后指出一点:设(L,≤)是一个格,与其等价的代数格为(L,×,⊕),S是L的一个子集。若(S,×,⊕)是定义B ′ 下的(L,×,⊕)的子格,则显然,(S,≤)是定义A ′ 下的(L,≤)的子格;若(S,≤)是A ′ 下的(L,≤)的子格,则(S,×,⊕)不一定是定义B ′ 下的(L,×,⊕)的子格。例如:设(L,≤)是如下图的一个格,其中L={a 1 ,a 2 ,a 3 ,a 4 ,a 5 ,a 6 ,a 7 ,a 8 }。取S 1 ={a 1 ,a 2 ,a 4 ,a 6 },则(S 1 ,≤)是(L,≤)的子格(定义A ′ ),也是(L,×,⊕)的子格(定义B ′ )。取S 2 ={a 1 ,a 2 ,a 4 ,a 8 },则(S 2 ,≤)是(L,≤)的子格(定义A ′ ),但是(S 2 ,×,⊕)不是(L,×,⊕)的子格(定义B ′ ).因为a 2 ×a 4 =a 6 ,而a 6 ∉S 2 ,亦即,S 2 在运算×下不是封闭的。