没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记95(2004)209-225www.elsevier.com/locate/entcs机械化的字母关系演算礼物Nuka1Jim Woodcock2肯特大学计算机实验室联合王国摘要在Hoare和He在本文中,我们给出了字母关系演算的形式语义,并使用我们的定义创建了Z中演算的深度嵌入。这允许我们使用Z的标准定理证明器之一,以便为统一理论中的程序推理提供机械化支持。关键词:关系演算,验证,UTP。1介绍Hoare和He [7]介绍了编程的统一理论(UTP),其中字母关系演算(ARC)被用作统一编程科学的基础。在他们的统一理论中,程序、规范和设计都被表示为谓词,以一种让人想起Z模式的方式,定义了涉及未哈希变量的初始观察与涉及虚线变量的后续观察之间的关系ARC在塔斯基的关系演算语言中加入了字母表理论。在本文中,我们提出了ARC及其形式语义的研究,提供了一个机会,正式推理,以及获得更大的理解1电子邮件:G.S. kent.ac.uk2电子邮件:J. C. P. kent.ac.uk1571-0661 © 2004 Elsevier B. V.根据CC BY-NC-ND许可证开放访问。doi:10.1016/j.entcs.2004.04.013210G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-的微积分。这项工作通过提供正式的验证框架和工具支持,有助于在统一理论中对程序进行推理。我们在Z中实现了ARC的语法和形式语义,并使用传统的Z定理证明器来证明ARC的定理,并验证其代数定律。我们选择在Z中实现ARC,因为我们的目标是支持Circus[18,19],这是Z [15]和CSP [6]的集成,其语义基于统一理论并用Z表示。论文的其余部分组织如下。第二节简要介绍UTP和ARC。第三节介绍了ARC模型的语法和语义。在第4节中,我们介绍了该模型的Z/EVES和相关的代数定律的实现。本节中给出的定律的所有证明都在完整的报告中给出[10]。第五节介绍了相关的研究,第六节给出了我们的结论。2程序设计统一理论程序设计统一理论的理论基础是字母关系演算:Tarski [16]的经典关系演算,其扩展为所有关系提供了自由变量的字母表。不同的编程范式都是用这个共同的符号来表达的,规范、设计和实现都是由初始和最终观察之间的关系来表示的程序。 我们将每个程序关联到一个字母表,即记录特定程序状态的变量名称。未修饰的变量表示初始观测,而修饰的变量表示最终观测。某些变量与程序的环境共享;例如,变量okay和okayJ建模一类称为设计的关系。如果一个程序的观测okay为真,那么这个程序已经开始执行;如果okayJ为真,那么这个程序已经终止或者没有发散,并且它的自由变量的最终值可以被观测到。一个显着的特点是在理论中的共同想法的治疗;例如,非决定论一般被视为一个析取,顺序组成关系组成,条件作为一个布尔连接,和并行作为一个受限制的一种合取。健康条件用于表示方案的可行性字母化的关系演算关系演算的研究是由德摩根、皮尔斯和斯克鲁德开创的,并在20世纪40年代由塔尔斯基[1 6]进行了深入的研究。理论G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-211的关系代数的公理化演变的演算的关系塔斯基。关系代数是包含布尔代数、结合二元运算符、单位元素并形成分配格的代数结构。最近,Maddux提出了关系代数的历史研究和现代背景下关系演算的公理化[8]。经典的关系演算已经成为数学和计算机科学理论研究的一个非常有用的框架ARC是基于塔斯基演算,但非常重视自由变量出现在谓词。一个字母关系是一个对(αp,p),其中谓词p是不包含除字母表αp中的自由变量之外的自由变量的谓词。这使得计算更简单,这是一个在程序推理和程序开发中很有价值的属性。该关系的字母表包含未加虚线和虚线的变量名称;未加虚线的名称(输入字母表)与虚线的名称(输出字母表)不相交。在α(p)内,在α(p)外,未虚线化的变量表示初始观察,虚线化的变量表示最终观察。在某些情况下,这种关系是同质的;也就是说,输出变量是用破折号装饰的输入变量。out α(p)=inαJ(p)微积分的签名由原始运算符以及根据原始运算符定义的运算符组成。真、反、析取和存在量化等运算符是基本的,而顺序复合和条件则不是。其中大多数的一般属性算子包括交换性、结合性、等元性和吸收性。其他有用的运算符包括条件运算符、顺序复合运算符、赋值运算符、非确定性运算符、跳过运算符、奇迹运算符和中止运算符。其他运算符可以根据需要添加到演算中。这些运营商的详细说明出现在[7,10]。3电弧模型我们提出了一个正式的模型,捕获的ARC的语义在[7]。我们使用谓词来表示程序的属性,使用字母表来表示允许的变量,使用绑定来表示特定谓词的一组谓词的语法类似于212G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-谓词演算,我们定义了两个主要的语义函数:α,给出谓词的字母表;和β,给出满足谓词的观察集。我们使用Z符号来建模ARC。Z [15,3,14,20]是牛津大学基于谓词演算和Zermelo-Fraenkel集合理论开发的符号。它是面向状态的,并提供了简单的符号,主要使用标准的数学概念,并有一个结构化的机制称为模式演算。3.1语法我们假设一个无限集合的名称表示变量和一个无限集合的值,分别作为名称和值。我们在下面的图1中展示了谓词的语法,Pred::= trueAtruth op::=随机析取|伪不败不因虚假性| ∧结合|名称compA术语表达| ⇒意蕴|普雷德否定| ⇔等价||Pred op PredPredDPredD二元操作符条件| Q异或|普雷德存在量化器|普雷德通用量化器| Pred [Name\Term]substitution 公司简介|≤| ≥Fig. 1. 谓词的语法其中n和m的范围超过名称。 在本文的其余部分,我们将使用p、q、r和b作为谓词,a、A、α、α1和α2作为名称集合中的集合,n、m、x、y和z作为名称集合Name中的名称。谓词一般定义为经典谓词演算,除了G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-213谓词携带字母表;ARC中的常量trueA和falseA携带特定的字母表A。原语谓词表达式的语法还要求我们提到相关的字母表;对于n∈Name和A∈PName,n=At表示变量n和字母表A中的项t具有相同的值。一个术语是一个名称或一个值或一个表达式涉及一个术语。其他谓词的定义是传统的,否定(<$)是一元的,而析取(<$)、合取()、蕴涵()、等价(惠)、互斥或(Q)是二元的。条件的定义是在[7]中的格式,即,pDbDq.量化遵循标准符号,隐式类型替换的定义略有不同,其中p[n\m]是谓词p中m对n的替换。3.2语义字母表ARC中的每个谓词都有一个相关的字母表,该字母表在谓词中显式显示或可以计算。字母表表示谓词引入的变量的名称。我们将其表示为从谓词到名称集合有些谓词的字母表是例如,谓词的字母表true,false和原始表达式(如equality)总是指定的。否定一个谓词p并不改变它的字母表,这样,α(p)={n,m}<$α(<$p)={n,m}二元谓词的字母表是操作数字母表的并集。量化从字母表中删除了一个变量:我们不再能观察到它的值。α(n·p)=α(p)\{n}α(n·p)=α(p)\{n}例如,如果p是谓词<$n·m={m}1<$n={n}2,则α(p)={m}。置换p[n\m]允许一个名字m被系统地置换对于其他名称n的自由出现。它从字母表中删除了n,但引入了名称m。α(p[n\m])=(α(p)\{n})<${m}如果n与p中的某个数量因子绑定,则替换不会发生,n∈/α(p)α(p[n\m])=(α(p)\{n})<$({m}D{n}<$α(p)Dα(p))214G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-装饰.程序的字母表由两组变量组成,修饰变量称为输入字母表(如x,n)和输出字母表-虚线变量(如xJ,nJ)。我们模型可变装饰使用总注射破折号破折号:名称>名称绑定和自由变量语义函数σ定义了谓词中的约束变量集,它与谓词的字母表不相交。我们需要区分谓词中出现的绑定变量和自由变量,以便我们可以推理替换和量化器。σ:Pred→P名称谓词trueA、falseA和基本表达式(如equality)没有任何绑定变量。其中出现的所有变量都是自由的。谓词否定的约束变量与谓词本身的约束变量相同。合取,析取,蕴涵、等价是所涉及的两个谓词各自的约束变量的联合在条件pDbDq中,约束变量的集合是在p,b和q中约束的那些变量的并集。 对于每个谓词p,b和qσ(pDbDq)=σ(p)<$σ(b)<$σ(q)量化引入了一个被量化的约束变量,而替换一般不会改变约束变量集。对于每个谓词p和qσ(n·p)=σ(p)<${n}σ(n·p)=σ(p)<${n}σ(p[n\m])=σ(p)如果一个变量被绑定,那么这个变量就不能被替换。每当一个新变量将使一个已经存在的变量成为绑定,那么原始变量被重命名。考虑谓词p=^n·n= 1G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-215然后p[n\m] = n= 1,α(p [n\m])={m}.n的出现受存在性量化器的约束,因此替换对谓词没有任何影响。在不同的情况下,考虑我们在上面的谓词p中替换n,则p[m\n]=^x·x=1<$n=0,α(p[m\n])={n}.在这种情况下,引入了一个新的变量x,它是不可观测的,因为n以前不是,而且由于m是自由的,所以新变量n也是自由的。绑定设置。对特定程序的观察可以用谓词来表示。这可以用一组对来表示,其中每对中的第一个元素是谓词字母表中的变量,另一个元素是分配给特定变量的常数值。我们将观察表示为部分函数Binding。绑定==名称→值我们将其建模为部分函数,因为字母表集中的某些变量可能与任何特定值无关,或者pred- icate的字母表可能不是整个Name集。由谓词表达的观察由语义功能β定义。β:Pred→P结合对于所有谓词p,我们称β(p)为绑定集,即观察集,但我们将互换使用这两个术语(观察和绑定)谓词真A的绑定集是所有涉及字母表A的对。真A的绑定表示关于字母A的通用函数集。谓词falseA没有给出任何观察结果,其绑定集为空。给定项t,一组名称A和n∈Nameβ(真A)={b:结合|dom b = A}β(假A)=β对于涉及术语的表达式,绑定集取决于所使用的表达式运算符β(mAt)={b:约束力|dom b = A <$m ∈ dom b <$n<$b(m)<$val(t)}216G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-其中val(t)给出了项t求值后的值。否定谓词p给出了不在p的绑定集合中的绑定集合:α(p)的通用绑定集合与p的绑定之间的差异。β(<$p)=β(真α(p))\β(p)延长装置。分离和连接谓词导致将由一个谓词描述的观察扩展到来自另一个谓词的字母表的可能观察。为了对这些谓词的绑定进行建模,我们使用了一个扩展函数。给定一个观测集s∈PBinding,我们可以通过扩大s中每个元素的定义域将这个集合扩展为一个新的集合。扩展:P绑定×P名称×P名称→P绑定s:P结合;α1,α2:P名称;b:结合·b∈extend(s,α1,α2)惠α1Db∈s随机域b=α1<$α2其中D是Z域限制算子。扩张集extend(s,α1,α2)给出了s中观测值的映射扩张。考虑一个谓词p的绑定集,β(p);将这个集合从α(p)扩展到一个变量集合A,其中A∈PName,可以表示为β(p)+A。其定义如下β(p)+A=^extend(β(p),α(p),A)限制集。我们使用限制集作为表示Z域反限制(域移除)的另一种方式。nrestrict:名称×P绑定→P绑定s:PBinding;n:Name·nrest(n,s)={b:Binding·{n}−Db}我们将β(p)和变量n的限制集表示为β(p)−n。它被定义为β(p)−n=^nrest(n,β(p))这个符号更紧凑,我们用它来表示移除(反限制).G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-217分离。当两个谓词p和q分离时,我们可以从其中一个谓词或另一个谓词得到观察结果。我们将其表示为两个扩展集的并集。我们将β(p)推广到α(q),也将β(q)推广到α(p)。β(p<$q)=β(p)+α(q)<$β(q)+α(p)连接。如果谓词p和q具有不相交的字母表,则它们的合取的观测集是p的观测和q的观测的并集。然而,如果它们的字母表不相交,那么它们之间共享的变量应该在它们的值上一致。如果他们不同意,那么他们的结合的约束是空的。我们定义如下β(p<$q)=β(p)+α(q)<$β(q)+α(p)量化。势量化从可观测集合中删除了约束变量,我们使用域反限制来表示这一点。β(n·p)=β(p)−n泛量化是存在性量化的推广,并根据存在性量化器来定义。β(<$n·p)=β(true(α(p)\{n}))\β(<$p)−n代换将谓词p的可观测变量集合中的一个变量n替换为另一个变量m,使得m与先前与n相关联的所有值相关联。我们用p的合取和n与m的相等来表示这个集合。β(p[n\m])=β(p<$(m=An))−n其中A=α(p)<${m}其他等同器械。蕴涵的约束是根据分离的约束来定义的。和那些在连接和含义方面的等价关系,218G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-异或定义为等价的否定。β(p<$q)=β(<$p<$q)β(p惠q)=β((p<$q)<$(q<$p))β(pQq)=β(<$(p惠q))β(pDbDq)=β((b<$p)<$(<$b<$q))当且仅当α(b)<$α(p)=α(q)4在Z/EVESARC模型采用Z符号,并在Z/EVES中实现:一个使用EVES系统的定理证明器[11,12,4],用于支持ZF集合论的证明。Z段落被翻译成EVES使用的一阶逻辑,然后为用户翻译回ZARC谓词作为自由类型定义引入。我们为字母表定义一个函数alpha,并将其所有公理作为规则引入在Z/EVESalpha:Pred→P名称验证规则alphaTruth验证规则a:PName·alpha(truth(a))=a我们使用Z/EVES定义选项规则,以便允许自动重写;也就是说,在证明中,任何出现的左手边都被右手边替换,而无需用户干预。我们对所有的α轴都使用了这个选项。我们在Z/EVES中使用谓词真A和假A来区分真A和假A与Z/EVES内置的真和假。Z允许一个公理化定义与多个谓词连接,但Z/EVES不能使用这样的定义应用重写规则;公理化定义中需要用于重写的每个谓词必须单独定义。我们在谓词(Binding)中引入观察作为缩写定义。绑定==名称→值这引入了一个集合类型Binding。然而,在Z/EVES中,为了允许证明者自动推断这种定义的类型,我们引入了一个假设规则。定理gruleBindingTypeBinding∈P(Name×Value)G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-219使用Z/EVES选项grule是为了使Z/EVES在证明中遇到Binding类型时可以自动引入此假设绑定函数β以alpha函数的方式定义绑定:Pred→P绑定验证grule bindingsTruth用户名:PName·bindings(truth(a))={b:Binding·domb =a}extend函数未经修改就使用了,而我们用如下所示限制还原dreduce:Name×PBinding→PBinding已禁用的规则dreduceDef已禁用的规则:PBinding;n:名称·dreduce(n,s)={b:绑定|b∈s·{n}−Db)}代数定律我们定义的算子具有几个代数性质,可以用谓词逻辑和集合论证明。这些属性的详细列表见[9]。这些属性的证明有时是不平凡的,我们采用了几个子引理的功能扩展和reduce。例如,如果字母表通过子集包含而相关,则双扩展减少为单扩展。引理4.1(双重扩张)(β(p)+α1)+α2=β(p)+(α1<$α2)其他属性包括扩展相对于绑定参数的并集、交集和差集的分布性。这些引理的证明涉及到应用extend的定义。引理4.2(延拓的分布性)(β(p)\β(q))+α1=β(p)+α1\β(q)+α1引理4.3(同一域的绑定)β(p)+α(p)=β(p)基本规律与本原算子真、析取(π)和合取(π)相关的性质包括幂等性、交换性、结合性和可积性。220G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-是的。 我们进一步研究这些属性。当然为了证明我们的理论中p=p,我们需要证明这对于字母表和绑定都成立,也就是说,定律1β(p<$p)=β(p)和α(p<$p)=α(p)该法律的Z/EVES目标是bindings(conj(p,p))=bindings(p)和alpha(conj(p,p))=alpha(p)我们必须证明,α关于β和α都是幂等的。证明是微不足道的,但是,为了说明,我们在这里展示它。usebindingsConj [q:=p];proveZ/EVES中的定理证明是一个顺序的过程,目标predicate在每一步之后都被转换,直到你得到谓词true。图形界面为用户提供了一小部分命令,您还可以使用命令窗口编辑或键入命令。定理证明可以通过对定义和定理使用特定的标签(grule,rule,frule)来调整为完全用户驱动或半自动。如果不需要自动重写,用户可以选择禁用规则在上面的证明脚本中,我们使用以下合取的绑定定义。规则绑定Conj规则绑定p,q:Pred·绑定(conj(p,q))=extend(bindings(p),alpha(p),alpha(q))extend(bindings(q),alpha(q),alpha(p))这使得目标改写为新的目标p∈Predq ∈Predextend(bindings(p),alpha(p),alpha(p))extend(bindings(p),alpha(p),alpha(p))=bindings(p)这可以很容易地通过涉及集合的内置定理来证明集合交是幂等的。将谓词p的绑定扩展到α(p)不会改变使用引理4.3设置的绑定,引理4.3已在G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-221Z/EVES作为自动重写规则。然后,目标简化为以下内容,通过应用prove进一步简化为谓词true,prove将重写规则应用于p∈Predq ∈Predextend(bindings(p),alpha(p),alpha(p))=bindings(p)将目标简化为绑定(p)=绑定(p)。为了在证明中使用,每个定义都必须被标记,因此bindingsConj是上面合取定义的标签。Z/EVES将其存储为定理,并且根据您提供的证明选项,该定理可以用作重写规则或作为证明中的假设引入。在这种情况下,定义中的grule意味着这个定义可以作为证明中的假设引入。证明字母表上的定理是微不足道的。我们已经实现了这样一种方式,定理相对于字母表可以自动放电,只需使用证明模型。这是通过将字母表定义标记为规则来实现的。交换性。合取和析取在关系演算和字母关系演算中是可交换的,就我们的形式化而言。定律2β(p<$q)=β(q<$p)这一定律的证明需要应用约束的定义conjunction(bindingsConj)和必要参数的实例化通常,Z/EVES需要这样的变量实例化。类似地,我们可以通过应用disjunc- tion(bindingsDisj)的定义来证明析取是交换的。定律3β(p<$q)=β(q<$p)结合性。合取和析取是结合的。定律4β(p<$(q<$r))=β((p<$q)<$r)定律5β(p<$(q<$r))=β((p<$q)<$r)这些定律的证明需要重复应用相应算子的定义(合取和析取)。222G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-吸收定律。我们可以减少某些涉及合取和析取的复合谓词。定律6β(p<$(p<$q))=β(p)当且仅当α(q)<$α(p)定律7β(p<$(p<$q))=β(p)当且仅当α(q)<$α(p)要求α(q)<$α(p)是必要的,因为在将β应用于析取或合取时,我们扩展了谓词p和q的字母表。我们也可以用合取相对于析取的分配性来证明吸收。分配法。在关系演算中,合取分布在析取之上。定律8β(p<$(q<$r)=β((p<$q)<$(p<$r))类似地,析取分布在合取定律9β(p<$(q<$r)=β((p<$q)<$(p<$r))命题4.4谓词Pred、常量true和false、运算符和、否定(<$)的集合形成一个布尔代数。证据我们已经证明了关于n和n的字母化谓词是一个分配格。也就是说,X和Y是结合的、交换的和分配的。我们将列出一些定律来证明false和true是格的最小值和最大值。这就完成了证明。谓词真是关于合取的恒等式,是格的最大元素。定律10β((p<$(truth(α(p)=β(p)定律11β((p<$(truth(α(p)=β(truth(αp))而false是关于析取的恒等式。定律12β((p<$(falsity(αp)=β(falsity(αp))定律13β(p(falsity(αp)=β(p)否定补充了晶格。谓词演算的一个性质是否定补格。我们在这里表明,否定作为我们的分配格的补充定律14β(p<$(p))=β(虚假性α(p))定律15β((p(p)=β(真值α(p))G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-223对一个特定的谓词应用两次否定会导致原始谓词。定律16β(p)=β(p)德摩根否定满足德摩根定律17β((q))定律18β(<$(p<$q)=β(<$(p)<$(q))前提法。泛量子数和存在量子数都是幂等的定律19β(n·n·p)=β(n·p)定律20β(n·n·p)=β(n·p)德摩根量子化遵循德摩根定律21β(<$$> n·p)=β(<$n·<$p)定律22β(<$$> n·p)=β(<$n·<$p)交换性定律。泛量子数和存在量子数是可交换的。定律23β(n·m·p)=β(m·n·p)定律24β(n·m·p)=β(m·n·p)5相关工作我们不知道有任何其他关于字母化关系演算的机械化研究,但已经完成了关系代数的其他几个实现,包括RALL(关系代数语言和逻辑),RALF,ARA和δRA的机械化。在我们的其他工作中,我们已经在ProofPower中实现了该模型;这是一个高阶逻辑的定理证明器,也支持Z。RALL[17]是关系代数的证明助手,特别是使用操纵关系代数的原子性属性的方法。复代数和原子结构之间的关系在对应定理中得到了阐述,该定理指出任何关系代数都可以嵌入224G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-作为一个原子结构。RALL支持抽象无元素关系代数的完整语言,并在Isabelle/HOL定理证明器中使用HOL作为对象逻辑来实现在我们的演算中,我们不使用原子性属性,并要求我们的谓词按字母顺序排列。RALF [2]是关系代数的另一种机械化。它有一个图形界面,并提供交互式定理证明的操作关系代数公式。与其他两种机制(RALL和显示逻辑)相反,RALF不是建立在任何通用定理证明器上,而是独立的。这对开发人员来说是一个重大挫折,因为扩展其证明系统和库将是昂贵的。它还使用了无元素代数。在[5]中,Dawson使用δ RA显示逻辑[1]为关系代数(δRA)提供了一个机械化证明系统。显示逻辑是一种基于根岑演算的证明系统,是一种句法上的非经典逻辑证明系统。δRA在一般定理证明器Isabelle中实现,并直接构建在Isabelle与δRA不同,我们的微积分是基于经典的塔斯基的关系逻辑ARA [13](Automatic Theorem Prover for Relational Algebras)是关系代数的另一个证明助手。 它是一个定理证明器,基于n变量逻辑的戈尔杰耶夫6结论我们已经提出了字母关系演算的理论及其在Z符号中的形式定义。我们的方法是将语法和语义嵌入到Z中,以便我们可以在语言上推理和证明另一种方法是直接将语义转换为等价的Z表示。在这种方法中,语言的语法没有在Z中实现,因此很难推理和引用整个语言上的命题我们打算进一步发展和测试我们的理论上的几个应用程序的统一理论的编程。目前,我们正在机械化ARC中的不动点理论和共享变量的UTP理论。机械化的字母关系演算,我们相信,将能够提供证明支持的应用程序和语言,使用C.A.R. Hoare和何继丰G. Nuka,J. Woodcock / Electronic Notes in Theoretical Computer Science 95(2004)209-225确认作者感谢匿名裁判和安娜卡瓦尔康蒂对本文的有益评论,以及阅读本文早期版本的阿瑟休斯引用[1] 贝尔纳普,N. D、Display Logic,Journal of Philosophical Logic11(1982),pp. 375-417[2] 贝格哈默河和C. Schmidt,RALL:A Relation Algebraic Formula Manipulation SystemandProof Checker,in:Proc. 第三届代数方法与软件技术会议- AMAST407-408[3] Brien,S.和j.Nicholls,技术专著TM-PRG-107,[4] Craigen,D.,S. 克罗莫迪莫埃略岛Meisels,W.和M.Saaltink,EVES:an overview,in:VDM91(Formal Software Appraisment Methods)(1991)[5] Dawson,J. E. 和河。Gorr′e,AMechanisedProoofSystemforRelationAlgebrausingDisplayLogic,in:Logics in Artificial Intelligence:European Workshop,JELIA[6] 霍尔,C.的方法,[7] 霍尔角和J.He,[8] 马杜克斯河关系代数在关系演算的发展和公理化中的起源,Studia Logica6(1991),pp。423-455[9] 摩根角和J.桑德斯,“逻辑演算的法律。技术报告PRG-78,[10] Nuka,G. J. Woodcock,Mechanising Alphabetised Relational Calculus,Technical Report(2002)。[11] Saaltink,M., “Z和EVES。技术报告,[12] Saaltink,M.,Z/EVES系统,在:J. P. Bowen,M. G. Hinchey和D. Till,编辑,ZUM72比85[13] Sinz,C., 系统描述:ARA -关系代数,在:D. McAllester,editor,Automated Deduction CADE-17,number 1831 in LNAI(2000),pp. 177-182.[14] Spivey,J.,[15] Spivey , J. , “The Z Notation: A Reference Manual,” Prentice Hall International, 1992,second[16] 塔斯基,A.,关于关系演算,符号逻辑杂志6(1941),pp。73比89[17] von Oheimb,D.和T. F. Gritzner,RALL:Machine-Supported Proofs for Relation Algebra,in:Proceedings of CADE-14,Lecture Notes in Computer Science1249(1997),pp.380-394.[18] Woodcock , J. 和 A. Cavalcanti , Circus : A concurrent refinement language , TechnicalReport(2001).[19] Woodcock,J.和A.Cavalcanti,A concurrent language for refinement,IWFM[20] Woodcock,J.和J. Davies,“使用Z规范,改进和证明”,Prentice Hall,1996年。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功