【教学课件】第十章代数语义学.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《【教学课件】第十章代数语义学.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第十章代数语义学.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第十章第十章 代数语义学代数语义学代数语义学是用代数的方法来处理满足一计算逻辑的各种模型。把模型的集合看作是代数结构。代数语义学公理规定算子的组合规则和约束。算子集和域上值集的关系正好是代数系统研究的范畴。代数规格说明成为语法、语义一体化描述的形式基础。10.1 代数基础代数基础定义定义10.1 代数是形如(A,OP)的对偶,其中A是承载子(carrier)集合,OP代表了操作符的有限集。OPi(a1,a2,an)=as:AA(ai,as A,i =1n)具体代数(true,false,)/布尔代数 (N,+,*)/整数代数 (S,gcd,lcm)/S-代数抽象代数 只给出一抽象的A集合和(组
2、合)算子o,以及在构造中某些必需满足的公理、定理。抽象代数从更高的层次上研究构造子和承载子之间的关系,它不规定具体的值集和操作集,只给出一抽象的A集合和(组合)算子o,以及在构造中某些必需满足的公理、定理。抽象代数中对构造子不同的约定(即应满足的性质)得到不同的抽象代数:群:(A,o)/o不满足任何定理 半群:(A,o)/o必需满足结合律:x o(y o z)=(x o y)o z 独导半群满足恒等定律:x o(i(a)=x =(i(a)o x /其中(A,o)是一个半群,i是恒等操作(函数)i(a)为A的单位元。若o是+,A是整数集,i(a)=0。同样若o是*,i(a)=1。单位元是相对o而
3、言的。每一群(A,o,i)中都有一逆操作i-1的独异(A,o,i-1)满足逆定律:x o i-1 =i(a)=i-1 o x 更为抽象的是泛代数(universal algebra)它把具体代数看作是具有某种操作性质的“对象”去研究各“对象”的“关系”。这些“关系”被抽象为态射(morphism)。定义定义10-2(子代数子代数)设(A,OP)是一个代数,(B,OP)也是一代数且(A,OP),则称(B,OP)是(A,OP)的子代数,写为(B,OP)(A,OP)。定义定义10-3(范畴范畴category)范畴C是(ob(C),morp(C)的二元组。其中ob(C)为集合对象X,Y,Z,等的象元
4、集合,morp(C)为C(X,Y),C(Y,Z),C(X,Z),组成的态射集合。C(X,Y)为X到Y的态射(morphism)集合,也可以写作f:XY,fC(X,Y)。X为态射函子f(function)的域(domain),Y为f的协域(codomain)。公理保证这种映射总是有效。对于每个态射函数的对偶(f,g),若一态射函数的域是另一态射函数的协域,即f:XY;g:YZ,则可利用组合算子o形成新的态射f o g:XZ。组合算子服从结合律。若f:XY,g:YZ,h:ZW,则有:(h o g)o f =h o(g o f):XW对于范畴每一对象X均存在着恒等(identity)态射idx:XX
5、。因此,对任何态射有:idx o f:(XX)o(XY)=XY:f g o idy f:(YZ)o(YY)=YZ:g态射是表达两代数的结构相似性的有力工具。定义定义10-4(单射,满射,双射单射,满射,双射)若有态射函子f:AB,对于任意两对象a1,a2A,且a1a2,都有f(a1)f(a2),(f(a1),f(a2)B),则f称为单射(injective)函子。对于任意bB都可以找到一个aA,使得b|=|f(a),则f称为满射(surjective)函子。若f:AB的f既是单射又是满射,则f是可逆的,即存在 f-1:BA。f称为双射(bijective)函子。定义定义10-5(同态映射同态映
6、射homomorphism)若态射函子f:AB是从代数(A,OP)到(B,OP,)的映射。如果对任意opOP,a1,a2,anA有:f(op(a1,a2,an)=op(f(a1),f(a2),f(an)(10-1)其中opOP,f(a1),f(a2),f(an)B,n=0,1 k。意即代数A中某k目操作op,若将其k个变元先映射到代数B中,总可以找到同目的操作op,以映射后的变元作变元,其结果和op运算后再映射的结果一致。(A,OP),(B,OP,)是同态的。同理。若f:AB中f是单射的且满足(10-1),则称单同态(monomorphism)。若f是满射的且满足式(10-1),则称满同态(e
7、pimorphism)。若f是双射的且满足式(10-1),则称同构(isomorphism)。同态保持两代数结构的相似性,同构即两代数结构相等,仅管其中值集不相同。同态保持两代数结构的相似性,同构即两代数结构相等,仅管其中值集不相同。BOOLEAN =(true,false,not)not(true)=false not(false)=true A =(0,1,flip)flip(0)=1 flip(1)=0 B(yes,no,maybe,change)change(yes)=no change(no)=yes change(maybe)=maybe C(any,same)same(any)=
8、any 若有态射函子h:BOOLEANA。具体定义是:h(true)=1,h(false)=0 我们验证(10-1)式,先看右侧:h(not(true)=h(flase)=0 再看右侧:flip(h(true)=flip(1)=0 因此,代数BOOLEAN和代数A是同态的,且对于0,1均有映射(满射且直射),故BOOLEAN和A同构。h-1(1)=true,h-1(0)=false成立。若有态射函子h:BOOLEANB。同样有:h(true)=yes,h(false)=no 验证(10-1)式可知BOOLEAN,B是同态的。但由于非满射(maybe无对应),故非同构。同样,若有h:BOOLEA
9、NC。同样有:h(true)=any,h(false)=any验证(10-1)式:h(not(true)=h(flase)=any same(h(true)=same(any)=any它们依然同态,但由于非直射(非一对一),故非同构。以上仅仅是为说明概念的非常简单的例子。为了清晰表明代数间映射关系,常用交换图(commuting diagram)。h BOOLEAN A h-1 id(BOOLEAN)id(A)同构 h BOOLEAN A id(BOOLEAN)id(B)h BOOLEAN B 同态 其中id为恒等函数,其值是单位元操作。图10-1 态射的交换图 程程序序员员在在设设计计程程序
10、序时时如如能能构构造造抽抽象象代代数数,把把它它写写成成规规格格说说明明,即即Sp代代数数,再再通通过过中中间间形形式式变变为为实实现现,可可以以看看作作是是同同态态映映射射变变成成不不同同的的代代数数。这这就就成成为为公公理理化化自自动动程程序序设设计计的的模模型型。为为此此,我我们们还还要要考考察察Sp-代代数数的的具具体体模模型型。先看先看-代数。代数。定义定义10-6(型构型构Singnature)型构是表示操作的符号(有限或无限)集。例如,我们在自然数集上指定四个函数符zero,succ,pred,plus,我们就指明了一个代数结构(N,n)。n是这四个函数符的统称叫型构。定义定义1
11、0-7(目目Arity)目是每一函数符所要求的参数个数。对一于中的每一函数符,均有一求目的函数:arity():N arity(zero)=0 /不带参数zero为常(函)数,零目算子。arity(succ)=1 arity(pred)=1 arity(plus)=2定义定义10-8(-代数代数)若一代数其承载子集合A仅由操作,则称(A,A)为_代数。我们将同一施加于三种承载子集合上,分别得到(N,N),(Z,E),(E,E)三个_代数。然而,我们最感兴趣的是承承载载子子元元素素均均可可由由生生成成的的项项代代数。数。定义定义10-9(_项,项,_项集,项项集,项_代数代数)若_代数(A,A)
12、中承载子集合A中的每一元素a iA(i=1,n)均可用中的函数符及其复合表示,则每一用函数符号串表示的项称为_项。1 若,且为0目函数符,则即为_项。记为0=C。2 若,且为k0目的函数符,则形如(t1,t k)的串是_项,其中t 1,t k也是_项。记_项的集合为项的集合为T,为满足上述规则的最小项集。3 若T中没有0目,则T=。4 若T则(T,)即为项即为项_代数代数。zero,succ(zero),succ(succ(zero),pred(zero),pred(pred(zero),succ(pred(zero),pred(succ(zero),plus(zero,zero),plus(
13、succ(zero),zero),显然,项代数成了承载子集生成语法规则。按上述项代数定义的承载子集合T是归纳性的,即归纳出常量符号和中每个对这些符号返复操作的最小串的集合。T的归纳性质为导出项的各种特性提供了强有力的证明方法。1 证明中所有常量符号均具有性质P。2 假定项t1,t k 具有性质P,对于中所有k0目的,证明项(t1,t k)也具有性质P。这就是所谓结构归纳法。如欲在T上定义函数g,满足以下两个条件就是充分的:1 定义将g应用于常量函数符的结果。2 对于中每个k0目的,通过g(t1),g(tk)来定义g应用于(t1,t k)的结果。定义定义10-10(_同态同态_同构同构)设设(A
14、,A),(B,B)是是两两_代代数数,h:AB为为映映射射函函数数,仅仅当当中中每每个个k目目的的,有,有:h(A(a 1,a k)=B(h(a 1),h(a k)(10-2)则两代数则两代数_同态,同态,h为同态映射。为同态映射。若若h为为双双射射的的则则_同同态态h:AB即即为为同同构构。同同构构则则表表明明中中任任何何函函数数符符若若作作用用于于A的的承承载载子子集集上上为为真真,作作用用于于B的的承承载载子子上上亦亦为为真真。反之亦然。同样,两代数值集可以不一样。如A=true,false,(,),B=1,0,(+*)。定理定理10-1(_同态的唯一性、存在性同态的唯一性、存在性)对于
15、每个对于每个_代数代数(A,A)都存在唯一的都存在唯一的_同态映射同态映射 i A:TA (10-3)1 先证同态存在性。对于中某个k0目的,形如(t1,tk)的项是T的项。按结构归纳法。常量T项的 iA(t1),iA(tk)已经定义。则iA(t1,tk)可定义为A(iA(t1),iA(tk)。这样,T中的每一元素都作了iA定义。再检查iA是否同态的:iA(T(t1,tk)=iA(A(t1,tk)/按T定义 =A(iA(t1),iA(tk)/按i A定义其中T:TT,即将项元组映射为项(t1,tk)。此证同态。2 再证唯一性 设h是从T 到A的某个同态映射,只要证明T中的每个t都有iA(t)=
16、h(t),即iA,h重合。iA(t1,tk)=(iA(t1),iA(tk)/按i定义 =A(h(t1),h(tk)/按结构归纳 =h(T(t1,tk)/由于h是同态 =h(t1,tk)/按T定义 iA=h /此证唯一如果我们把如果我们把T看作程序设计语言的语法,看作程序设计语言的语法,_代数代数(A,A)看作是语义域或解释。看作是语义域或解释。则本定理说明语言中的每一表达式或项,在则本定理说明语言中的每一表达式或项,在(A,A)中都对应唯一的含义,即中都对应唯一的含义,即在语义域中只有一个解释。本定理的另一层意图是试图说明在语义域中只有一个解释。本定理的另一层意图是试图说明T是是“最小最小”的
17、的_代数。代数。10.1.3 全等类全等类定义定义10-11(-代数类代数类)具有操作的代数集合称_代数类,记为C。定义定义10-12(初始代数初始代数Initial algebra)若代数类C中_代数I是初始代数,仅当对C中每一_代数J都存在着从I到J的唯一_同态。由定理10-1,项项代代数数T在在所所有有_代代数数的的类类中中是是初初始始的的。这就意味着T到到任任何何_代代数数的的值值都都存存在在着着唯唯一一的的项项映映射射。这是很强的概念。人们只要标识出某个有“意义”的_代数,即可将项映射到该代数的元素上。以此定义项的语义。定理定理10-2 若若_代数类代数类C中代数中代数A,B均为初始
18、代数,则它们必为同构的。均为初始代数,则它们必为同构的。证:若A为初始的,B为一般_代数,按定义10-12它们必存在唯一_同态i1:AB。同样,若B为初始的,A为一般_代数,也存在唯一同态i2:BA。它们的复合 i1 o i2 =AA =idA同理,i2 o i1 =BB =idB所以,它们是同构的。初始代数只在符号形式上区别初始项,只要符号不同就是不同的值。例如,有_项代数 Bool =true,flase,not 其项集是:T =true,not(true),not(not(true),false,not(flase),not(not(flase),事实上我们知道(true,not(fal
19、se),not(not(true),和false,not(true),not(not(false),是语义等价的两个类我们记为true,false。定义定义10-13(_全等全等congruence)在 _代 数(A,A)中,A上 的 关 系 R是 _全 等 关 系,若 有 R(0ik,ai,aiA)成立,仅当对中每个k目的,A(a1,ak),A(a1,ak)R也成立。按上例,(ture,not(flase)R,则有(not(true),not(not(false)R。全等关系若以符号直接表示两个项是全等的。以上定义是:若ture not(false)则有 not(ture)not(not(f
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 第十 代数 语义学
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内