【教学课件】第3章泛代数和代数数据类型.ppt
《【教学课件】第3章泛代数和代数数据类型.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第3章泛代数和代数数据类型.ppt(83页珍藏版)》请在三一办公上搜索。
1、第3章 泛代数和代数数据类型,PCF语言的三部分组成带函数和积类型的纯类型化演算自然数类型和布尔类型不动点算子第3章到第5章对这三部分进行透彻的研究本章研究像自然数类型和布尔类型这样的代数数据类型,3.1 引 言,代数数据类型包括一个或多个值集一组在这些集合上的函数基本限制是其函数不能有函数变元基本“类型”符号被称为“类别”泛代数(也叫做等式逻辑)定义和研究代数数据类型的一般数学框架本章研究泛代数和它在程序设计中定义常用数据类型时的作用,3.1 引 言,本章主要内容:代数项和它们在多类别代数中的解释等式规范(也叫代数规范)和等式证明系统等式证明系统的可靠性和完备性(公理语义和指称语义的等价)代
2、数之间的同态关系和初始代数数据类型的代数理论从代数规范导出的重写规则(操作语义)大多数逻辑系统中一些公共的议题将被覆盖,3.2 代数、基调和项,3.2.1 代数代数一个或多个集合,叫做载体一组特征元素和一阶函数,也叫做代数函数f:A1 Ak A例:N N,0,1,+,载体N是自然数集合特征元素0,1N,也叫做零元函数函数+,:N N N,3.2 代数、基调和项,多个载体的例子Apcf N,B,0,1,+,true,false,Eq?,下面开始逐步给出代数的一种语法描述,有穷的语法表示在计算机科学中十分重要定义数据类型证明性质进行化简还必须讨论这种语法描述的语义A5pcf N5,B,0,1,2,
3、3,4,+5,true,false,Eq?,3.2 代数、基调和项,代数项的语法基调 S,FS是一个集合,其元素叫做类别函数符号f:s1 sk s的集合F,其中表达式s1 sk s叫做类型零元函数符号叫做常量符号例N S,Fsorts:natfctns:0,1:nat,:nat nat nat,3.2 代数、基调和项,定义基调的目的是用于写代数项考虑项中有变量的情况,需假定有一个无穷的符号集合V,其元素称为变量类别指派 x1:s1,xk:sk基调 S,F和类别指派上类别s的代数项集合Termss(,)如果x:s,那么x Termss(,)如果f:s1 sk s并且Mi Termssi(,)(i
4、 1,k),那么f M1 Mk Termss(,)当k 0时,如果f:s,那么f Termss(,),3.2 代数、基调和项,例0,0 1 Termsnat(N,)0 x Termsnat(N,),其中 x:nat,代数项中无约束变元,NxM就是简单地把M中x的每个出现都用N代替就是了记号,x:s x:s引理 如果M Termss(,x:s)并且N Termss(,),那么NxM Termss(,)证明 按Termss(,)中项的结构进行归纳,3.2 代数、基调和项,例用基调stk S,F来写自然数和栈表达式sorts:nat,stackfctns:0,1,2,:nat,:nat nat na
5、tempty:stackpush:nat stack stackpop:stack stacktop:stack natpush 2(push 1(push 0 empty)是该基调的项,3.2 代数、基调和项,3.2.3 代数以及项在代数中的解释代数是为代数项提供含义的数学结构是一个基调,则代数A包含对每个s S,正好有一个载体As一个解释映射I 把函数I(f):As1 Ask As指派给函数符号 f:s1 sk s F把I(f)As指派给常量符号f:s F N代数N写成N N,0N,1N,N,N,3.2 代数、基调和项,代数A的环境:V s As环境 满足如果对每个x:s 都有(x)AsM
6、 Termss(,)的含义AMAx(x)AM f A(AM1,AMk)若f:s是常量符号,则Af f AA清楚时,省略A而直接写成M不依赖于时,用AM表示M在A中的含义,3.2 代数、基调和项,例 若(x)0N x 1 N(x,1)N(x),1N)N(0N,1N)1N,3.2 代数、基调和项,例 Astk N,N,0A,1A,A,A,emptyA,pushA,pop A,top A empty A,空序列push A(n,s)n:spop A(n:s)spop A()top A(n:s)ntop A()0 A若把x:nat映射到3A,把s:stack映射到2A,1A pop(push x s)
7、popA(pushA(x,s)popA(pushA(3A,2A,1A)popA(3A,2A,1A)2A,1A,3.2 代数、基调和项,引理 令A是一个代数,M Termss(,),并且是满足的环境,那么M As证明 根据Termss(,)中项的结构进行归纳引理 令x1,xk是由出现在M Termss(,)中的所有变量构成的变量表,1和2是满足的两个环境,并且对i 1,k有1(xi)2(xi),那么M1 M2证明 基于项结构的归纳,3.2 代数、基调和项,3.2.4 代换引理引理 令M Termss(,x:s)并且 N Termss(,),那么NxMTermss(,)。并且对任何环境,有 NxM
8、 M(x a),其中a N是N在下的含义证明 根据项M的结构进行归纳,3.3 等式、可靠性和完备性,3.3.1 等式代数规范:一个基调+一组等式调查什么样的代数满足这些等式强加的要求使用等式证明系统可推导新的等式可靠性:从规范可证明的等式在任何满足该规范的代数中都成立完备性:在满足规范的所有代数中都成立的等式都可从该规范证明代数规范是描述代数数据类型公理语义的工具,3.3 等式、可靠性和完备性,空载体提出一个技术问题逻辑公式若A=,则公式x:A.F(x)为真若A=,则公式x:A.F(x)为假对任意的M,N Termss(,),如果x:s 且As为空,那么M和N看成是相等的项只有一个类别时,假定
9、该类别非空是有意义的,3.3 等式、可靠性和完备性,等式公式M N 对某个s,M,N Termss(,)如果满足,那么若M N,就说代数A在环境下满足M N,写成A,M N若A在任何环境下都满足,写成 A M N如果一类代数C中的任何一个代数A都满足,写成 C M N任何一个代数都满足等式M N,写成 M N(永真的、有效的),3.3 等式、可靠性和完备性,如果A满足上的所有等式,就说代数A是平凡的例令有两个类别a和b,令A是一个代数,其中Aa0,1并且Ab。A不可能满足x yx:a,y:a,即下式不成立 A x yx:a,y:a但是A x yx:a,y:a,z:b无意义地成立,3.3 等式、
10、可靠性和完备性,项代数项代数Terms(,)类别s的载体:集合Termss(,)函数符号f:s1 sk s的解释I(f)(M1,Mk)f M1 Mk项代数Terms(,)的环境也叫做一个代换如果S是代换,则用SM表示同时把M中的各个变量x用Sx替换的结果因此用M表示把代换作用于M的结果,3.3 等式、可靠性和完备性,例类别u函数符号f:u u和g:u u u a:u,b:u,c:uTu a,b,c,fa,fb,fc,gaa,gab,gac,gbb,g(f(fa)(f(gbc),若环境把变量x映射到a,把y映射到f b,则T g(f x)(f y)g(f a)(f(f b),3.3 等式、可靠性
11、和完备性,引理 令M Terms(,),并且是满足的项代数Terms(,)的环境,那么M M证明 对项进行归纳证明从项代数可以知道,只有M和N是语法上相同的项时,等式M N才会永真,3.3 等式、可靠性和完备性,代数规范Spec,E:一个基调和一组等式E语义蕴涵:E M N满足E的所有代数A都满足等式M N语义理论:如果E M N蕴涵M N E代数A的理论Th(A)在A中成立的所有等式的集合这是一个语义理论,3.3 等式、可靠性和完备性,证明系统的可靠性:若一个等式从一组假设E是可证明的,那么E语义上蕴涵该等式证明系统的完备性:如果E语义上蕴涵一个等式,那么该等式可从E证明下面先给出代数证明系
12、统,3.3 等式、可靠性和完备性,语义相等是个等价关系,因此有M M在等式中增加类别指派的规则等价代换P,Q Termss(,),3.3 等式、可靠性和完备性,等式是可证明:如果从E中的等式和公理(ref)及推理规则(sym)、(trans)、(subst)和(add var)可以推出等式M N,那么就说该等式可证明,写成E M N 语法理论如果E M N蕴涵M N EE的语法理论Th(E)从E可证明的所有等式的集合,3.3 等式、可靠性和完备性,等式集合E是语义一致的如果存在某个等式M N,它不是E的语义蕴涵等式集合E是语法一致的如果存在某个等式M N,它不能由E证明,3.3 等式、可靠性和
13、完备性,例 在基调stk S,F上增加等式top(push x s)=xs:stack,x:natpop(push x s)=ss:stack,x:nat使用这些等式可以证明等式top(push 3 empty)=3,3.3 等式、可靠性和完备性,导出规则 f:s1 sk s Mi,NiTermssi(,)M和N中没有x,Termss(,)非空,3.3 等式、可靠性和完备性,定理(可靠性)如果E M N,那么E M N证明 可以根据该证明的长度进行归纳归纳基础:长度为1的证明,它是公理或E的一个等式归纳假设:M N的最后一步是从E1,En得到。那么,如果A E,则A满足E1,En要证明:如果A
14、满足最后一条规则的这些前提,那么A满足M N证明 根据证明规则的集合,分情况进行分析,3.3 等式、可靠性和完备性,命题 存在一个代数理论E和不含x的项M和N,使得E M=N,x:s,但是E M=N 证明 令基调有类别a和b,函数符号f:a b和c,d:b令E是包含能从 f x=cx:a和 f x=d x:a证明的所有等式显然c=d x:a E可以找到一个使等式c=d 不成立的模型由可靠性,c=d 是不可能从E证明的,3.3 等式、可靠性和完备性,例 栈代数规范sorts:nat,stackfctns:0,1,2,:nat+,:nat nat nat empty:stack push:nat
15、stack stack pop:stack stack top:stack nateqns:s:stack;x:nat0+0=0,0+1=1,0 0=0,0 1=0,top(push x s)=x pop(push x s)=s,3.3 等式、可靠性和完备性,等式push(top s)(pop s)=ss:stack是不可证明的任何形式为top empty=M的等式都是不可证明的,假定M是类别为nat的项,并且不含empty,3.3 等式、可靠性和完备性,3.3.4 完备性的形式用于不同逻辑系统的三种形式的完备性最弱的形式:所有的永真公式都是可证的演绎完备性:每个语义蕴涵在证明系统中都是可推导
16、的最小模型完备性:每个语法理论是某一个“最小”模型的语义理论对代数来说,最小模型完备性意味着每个语法理论是某个代数A的Th(A)“最小模型”是指它的理论包含的内容最少,3.3 等式、可靠性和完备性,最小模型完备性不一定成立,考虑等式E=def x=y x:a,y:a,z:b 情况1:a的载体只含一个元素,则E满足,此时E1=def x=y x:a,y:a 成立 情况2:b的载体为空,则E也满足,此时E2=def z=w z:b,w:b 成立E1和E2都不是E的语义蕴涵不存在一个代数,其理论正好就是由E的等式推论组成的语法理论,3.3 等式、可靠性和完备性,3.3.5 同余、商和演绎完备性同余关
17、系:等价关系加上同余性同余性:指函数保可证明的相等性对单类代数A=A,f1A,f2A,,同余关系是载体A上的等价关系,使得对每个k元函数fA,如果aibi(i=1,k),即ai和bi等价,那么f A(a1,ak)fA(b1,bk)。对多类代数A=As,I,同余关系是一簇等价关系 s,s AsAs,使得对每个f:s1 sks及变元序列a1,ak和b1,bk(其中ai sibi Asi),有f A(a1,ak)s f A(b1,bk),3.3 等式、可靠性和完备性,A模的商的代数A把A中有关系的元素a a 压缩成A的一个元素等价类aa a As a a 商代数A定义:(A)s是由As的所有等价类构
18、成的集合Ass as a As函数fA由A的函数fA确定:对适当载体的a1,ak,f A(a1,ak)=f A(a1,ak),3.3 等式、可靠性和完备性,上面定义有意义的条件是f A(a1,ak)必须只依赖于a1,ak,而不能依赖于所选的代表a1,ak。例 单类别代数N,0,1,上的同余关系“模k等价”这个商代数是大家熟悉的整数模k加结构。如果k等于5,那么3 4 2,3.3 等式、可靠性和完备性,如果是A的一个环境,是一个同余关系,那么A的环境 定义如下:(x)=(x)反过来,对于A的环境,对应它的A的环境有多种选择引理 令是代数A上的同余关系,项MTerms(,)并且是满足的环境。那么项
19、M在商代数A 和环境下的含义(A)M由下式决定(A)M=AM,3.3 等式、可靠性和完备性,引理 令E是一组等式集合,令Terms(,)是基调上的项集。由E的可证明性确定的关系E,是Terms(,)上的同余关系定理(完备性)如果E M N,那么E M N完备性定理加上可靠性定理表明语法理论和语义理论相同,3.3 等式、可靠性和完备性,3.3.6 非空类别和最小模型性质类别s非空:集合Termss(,)不是空集对应的载体肯定非空没有空载体时,可以增加推理规则(nonempty)定理 令E是封闭于规则(nonempty)的语法理论,那么存在所有载体都非空的代数A,使得E Th(A)没有空载体的代数
20、有最小模型完备性,3.4 同态和初始性,3.4.1 同态和同构将同态和同构的概念从单类代数推广到多类代数 同态是从一个代数到另一个代数的保结构的映射(或叫做翻译)从代数A到B的同态h:A B一簇映射h=hs|s S,使得对的每个函数符号f:s1 sk s,有hs(f A(a1,ak)=(f B(hs1a1,hskak),3.4 同态和初始性,例 令N=N,0,1,,令是模k的等价关系。那么把nN映射到它的等价类n是从N到N的一个同态,因为h(0)=0N=0h(n+m)=h(n)N h(m)=n+m任何代数到它商代数的同态都用这种方式定义,3.4 同态和初始性,例 含义函数是从项代数T=Term
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学课件 教学 课件 代数和 代数 数据类型
链接地址:https://www.31ppt.com/p-5658605.html