集合构造函数、有限集合和逻辑语义

Bharat Jayaraman, Devashis Jana
{"title":"集合构造函数、有限集合和逻辑语义","authors":"Bharat Jayaraman,&nbsp;Devashis Jana","doi":"10.1016/S0743-1066(98)10012-2","DOIUrl":null,"url":null,"abstract":"<div><p>The use of sets in declarative programming has been advocated by several authors in the literature. A representation often chosen for finite sets is that of <em>scons</em>, parallel to the list constructor <em>cons</em>. The logical theory for such constructors is usually tacitly assumed to be some formal system of classical set theory. However, classical set theory is formulated for a general setting, dealing with both finite and infinite sets, and not making any assumptions about particular set constructors. In giving logical-consequence semantics for programs with finite sets, it is important to know exactly what connection exists between sets and set constructors. The main contribution of this paper lies in establishing these connections rigorously. We give a formal system, called <em>SetAx</em>, designed around the <em>scons</em> constructor. We distinguish between two kinds of set constructors, <em>scons(x, y)</em> and <em>dscons(x, y)</em>, where both represent {<em>x</em>} ∪ <em>y</em>, but <em>x</em> <em>ϵ</em> <em>y</em> is possible in the former, while <em>x</em> ∉ <em>y</em> holds in the latter. Both constructors find natural uses in specifying sets in logic programs. The design of <em>SetAx</em> is guided by our choice of <em>scons</em> as a primitive symbol of our theory rather than as a defined one, and by the need to deduce non-membership relations between terms, to enable the use of <em>dscons</em>. After giving the axioms <em>SetAx</em>, we justify it as a suitable theory for finite sets in logic programming by (i) showing that the set constructors indeed behave like finite sets; (ii) providing a framework for establishing the correctness of set unification; and (iii) defining a Herbrand structure and providing a basis for discussing logical consequence semantics for logic programs with finite sets. Together, these results provide a rigorous foundation for the set constructors in the context of logical semantics.</p></div>","PeriodicalId":101236,"journal":{"name":"The Journal of Logic Programming","volume":"38 1","pages":"Pages 55-77"},"PeriodicalIF":0.0000,"publicationDate":"1999-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://sci-hub-pdf.com/10.1016/S0743-1066(98)10012-2","citationCount":"19","resultStr":"{\"title\":\"Set constructors, finite sets, and logical semantics\",\"authors\":\"Bharat Jayaraman,&nbsp;Devashis Jana\",\"doi\":\"10.1016/S0743-1066(98)10012-2\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"<div><p>The use of sets in declarative programming has been advocated by several authors in the literature. A representation often chosen for finite sets is that of <em>scons</em>, parallel to the list constructor <em>cons</em>. The logical theory for such constructors is usually tacitly assumed to be some formal system of classical set theory. However, classical set theory is formulated for a general setting, dealing with both finite and infinite sets, and not making any assumptions about particular set constructors. In giving logical-consequence semantics for programs with finite sets, it is important to know exactly what connection exists between sets and set constructors. The main contribution of this paper lies in establishing these connections rigorously. We give a formal system, called <em>SetAx</em>, designed around the <em>scons</em> constructor. We distinguish between two kinds of set constructors, <em>scons(x, y)</em> and <em>dscons(x, y)</em>, where both represent {<em>x</em>} ∪ <em>y</em>, but <em>x</em> <em>ϵ</em> <em>y</em> is possible in the former, while <em>x</em> ∉ <em>y</em> holds in the latter. Both constructors find natural uses in specifying sets in logic programs. The design of <em>SetAx</em> is guided by our choice of <em>scons</em> as a primitive symbol of our theory rather than as a defined one, and by the need to deduce non-membership relations between terms, to enable the use of <em>dscons</em>. After giving the axioms <em>SetAx</em>, we justify it as a suitable theory for finite sets in logic programming by (i) showing that the set constructors indeed behave like finite sets; (ii) providing a framework for establishing the correctness of set unification; and (iii) defining a Herbrand structure and providing a basis for discussing logical consequence semantics for logic programs with finite sets. Together, these results provide a rigorous foundation for the set constructors in the context of logical semantics.</p></div>\",\"PeriodicalId\":101236,\"journal\":{\"name\":\"The Journal of Logic Programming\",\"volume\":\"38 1\",\"pages\":\"Pages 55-77\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"1999-01-01\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"https://sci-hub-pdf.com/10.1016/S0743-1066(98)10012-2\",\"citationCount\":\"19\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"The Journal of Logic Programming\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://www.sciencedirect.com/science/article/pii/S0743106698100122\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"The Journal of Logic Programming","FirstCategoryId":"1085","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0743106698100122","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 19

摘要

在声明性编程中使用集合已经被一些作者在文献中所提倡。有限集合的表示法通常是scons的表示法,与列表构造函数cons平行。这种构造函数的逻辑理论通常被默认为经典集合论的某种形式系统。然而,经典集合论是为一般的集合而制定的,处理有限和无限的集合,而不是对特定的集合构造函数做任何假设。在给出有限集合的程序的逻辑推理语义时,重要的是要确切地知道集合和集合构造函数之间存在什么联系。本文的主要贡献在于严格地建立了这些联系。我们给出了一个正式的系统,称为SetAx,围绕scons构造函数设计。我们区分了两种集合构造函数,scons(x, y)和dscons(x, y),它们都表示{x}∪y,但x∈y在前者中是可能的,而x∈y在后者中成立。这两个构造函数都可以在逻辑程序中指定集合。SetAx的设计受到以下因素的指导:我们选择scons作为理论的原始符号,而不是作为定义符号,并且需要推断项之间的非隶属关系,以便能够使用dscons。在给出公理SetAx之后,我们通过(i)证明集合构造函数确实表现得像有限集合,证明它是逻辑规划中有限集合的一个合适理论;(ii)提供了建立集合统一正确性的框架;(iii)定义Herbrand结构,为讨论有限集逻辑程序的逻辑推理语义提供了基础。总之,这些结果为逻辑语义上下文中的集合构造函数提供了严格的基础。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
Set constructors, finite sets, and logical semantics

The use of sets in declarative programming has been advocated by several authors in the literature. A representation often chosen for finite sets is that of scons, parallel to the list constructor cons. The logical theory for such constructors is usually tacitly assumed to be some formal system of classical set theory. However, classical set theory is formulated for a general setting, dealing with both finite and infinite sets, and not making any assumptions about particular set constructors. In giving logical-consequence semantics for programs with finite sets, it is important to know exactly what connection exists between sets and set constructors. The main contribution of this paper lies in establishing these connections rigorously. We give a formal system, called SetAx, designed around the scons constructor. We distinguish between two kinds of set constructors, scons(x, y) and dscons(x, y), where both represent {x} ∪ y, but x ϵ y is possible in the former, while xy holds in the latter. Both constructors find natural uses in specifying sets in logic programs. The design of SetAx is guided by our choice of scons as a primitive symbol of our theory rather than as a defined one, and by the need to deduce non-membership relations between terms, to enable the use of dscons. After giving the axioms SetAx, we justify it as a suitable theory for finite sets in logic programming by (i) showing that the set constructors indeed behave like finite sets; (ii) providing a framework for establishing the correctness of set unification; and (iii) defining a Herbrand structure and providing a basis for discussing logical consequence semantics for logic programs with finite sets. Together, these results provide a rigorous foundation for the set constructors in the context of logical semantics.

求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
More on tractable disjunctive Datalog Decidability of logic program semantics and applications to testing Pair-sharing over rational trees Meta-agent programs Index
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1