Transformation Rules for Locally Stratified Constraint Logic Programs
本文提出了一组带否定的约束逻辑程序的转换规则。我们假设每一个程序都是局部分层的,因此,它有一个唯一的完美模型。我们给出了充分的条件,确保建议的一套转换规则保持完美的模型的程序。我们的规则扩展在某些方面的规则逻辑程序和约束逻辑程序已经考虑在文献中,特别是,他们包括一个规则展开一个条款相对于一个负文字。
2004-02-20 cs.LO cs.PL
Outcome Logic: A Unified Approach to the Metatheory of Program Logics with Branching Effects
本文扩展Outcome Logic,以选择的代数表示统一刻画非确定性、概率性等分支效应,并给出支持通用循环、可跨规范复用证明片段的较完整证明系统及其元理论。
2025-06-10 cs.LO cs.PL
Transforming Coroutining Logic Programs into Equivalent CHR Programs
我们扩展了一种称为编译控制的技术。该技术将协同程序设计逻辑程序转换为逻辑程序,当在标准的从左到右选择规则下执行时(并且不使用任何延迟特征),该逻辑程序具有与协同程序设计相同的计算行为。在最近的工作中,我们修改了编译控制,并将其重新表述为抽象合取部分演绎的实例。这项工作主要集中在编译控制中执行的程序分析。在当前的文件中,我们专注于合成的转换程序。代替合成一个新的逻辑程序,我们合成一个模拟协同程序的Prolog程序。对递归的综合产生只包含简化规则的程序,这些规则特别适合于某些静态分析技术。这些程序也更简洁和可读,并且可以移植到嵌入在其他语言中的Prolog实现。
2017-08-24 cs.LO cs.PL
Tuning Fuzzy Logic Programs with Symbolic Execution
模糊逻辑程序设计是一个不断发展的声明性范例,旨在将模糊逻辑集成到逻辑程序设计中。当指定一个模糊逻辑程序时,最困难的任务之一是确定每个规则的正确权重,以及最合适的模糊连接词和运算符。在本文中,我们介绍了一个符号扩展的模糊逻辑程序,其中一些参数可以是未知的,使用户可以很容易地看到他们可能的价值观的影响。此外,给定多个测试用例,可以自动计算这些参数的最合适的值。
2016-08-16 cs.LO cs.PL
On completeness of logic programs
程序正确性(在命令式和函数式编程中)在逻辑编程中分为正确性和完整性。完整性意味着一个程序产生了它的规范所要求的所有答案。很少有人致力于对完备性的推理。本文给出了定规划完备性的几个充分条件。我们还研究了在SLD树的某些修剪情况下(例如,由于使用切割)保持完整性。我们将逻辑编程视为一种声明性的范例,尽可能地从任何操作语义中抽象出来。我们认为,所提出的方法是足够简单的应用,可能在一个非正式的水平,在实际的Prolog编程。我们指出近似规格的重要性。
2014-11-11 cs.LO cs.PL
Predicate Specialization for Definitional Higher-order Logic Programs
高阶逻辑编程是传统逻辑编程的一个有趣的扩展,它允许谓词作为参数出现,并在谓词通常出现的地方使用变量。高阶特性确实是理想的,但另一方面,它们的支持通常也更昂贵。在本文中,我们提出了一个程序专业化技术的基础上,部分评估,可以适用于一个温和的,但有用的类高阶逻辑程序,并可以将它们转换为一阶程序,而无需引入额外的数据结构。由此产生的一阶程序可以由传统的逻辑编程解释器执行,并受益于其他可能可用的优化。我们提供了一个实施和实验结果,表明转换的效率。
2018-12-01 cs.LO cs.PL
Logic + control: On program construction and verification
本文提出了一个例子,形式化推理的语义Prolog程序的实际意义(SAT求解器的豪和国王)。该程序被视为一个带有附加控制的定子句逻辑程序。逻辑程序是通过逐步精化的方法构造的,并与其正确性和完整性证明携手并进。证明是声明性的--它们不引用任何操作语义。逻辑程序构造的每一步都遵循一种系统的方法来构造可证明正确和完整的程序。我们还证明了在最终的Prolog程序中保持了逻辑程序的正确性和完整性。此外,我们证明终止,发生检查自由和非挣扎。我们的例子展示了如何将处理“逻辑”和处理“控制”分开。大多数证明都可以在“逻辑”级别上完成,从任何操作语义中抽象出来。这个例子使用了近似的规格说明;它们在简化逻辑程序的推理中是至关重要的。它还表明,语义保持程序转换的范例可能是不够的。我们建议考虑转换保持正确性和完整性方面的近似规范。
2017-05-12 cs.LO cs.PL
The Limits of Horn Logic Programs
给定Horn逻辑程序序列$\{Π_n\}$,$\{Π_n\}$的极限$Π$是这样的子句集合,使得$Π$中的每个子句属于几乎每个$Π_n$,并且无限多个$Π_n$中的每个子句也属于$Π$.极限程序$Π$仍然是Horn,但可能是无限的。本文考虑给定Horn逻辑程序序列$\{Π_n\}$的极限的最小Herbrand模型是否等于每个逻辑程序$Π_n$的最小Herbrand模型的极限。本文证明了这一性质一般不成立,但如果Horn逻辑程序满足一个可语法检验且可由一类Horn逻辑程序满足的假设,则这一性质成立。因此,在此假设下,我们可以通过每个有限程序$Π_n$的最小Herbrand模型序列来逼近极限$Π$的最小Herbrand模型.我们还证明了,如果一个有限Horn逻辑程序满足这个假设,那么这个程序的最小Herbrand模型是递归的。最后,利用动力系统的稳定性概念,证明了这一假设是保证Horn逻辑程序不动点稳定的充分条件。
2002-02-07 cs.LO cs.PL
Pre-proceedings of the 26th International Workshop on Functional and Logic Programming (WFLP 2018)
本卷是第26届函数和逻辑编程国际研讨会(WFLP 2018)的预录。它是由程序委员会选出的在研讨会上发表的论文组成的。经过研讨会的讨论,项目委员会将选择一些论文邀请第二轮评审和选择的正式程序。
2018-10-01 cs.LO cs.PL
Informal proceedings of the 32nd International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2022)
本卷是第32届基于逻辑的程序合成和转换国际研讨会的非正式会议录(LOPSTR 2022),于2022年9月21日至23日举行,作为混合(混合)会议,(在格鲁吉亚第比利斯的Ivane Javakhishvili Tbilisi State University -TSU)和虚拟,并与第24届声明式编程原理与实践国际研讨会(PPDP 2022)共同举办,作为2022年计算逻辑秋季峰会(CLAS 2022)的一部分。
2022-07-29 cs.LO cs.PL
Defining Rough Sets by Extended Logic Programs
我们展示了如何明确的扩展逻辑程序可以用于定义和推理粗糙集。此外,粗糙集特定的查询语言和应答算法的概述。因此,我们不仅展示了一个可能的应用程序的次协调逻辑领域的粗糙集,因为我们也建立了粗糙集理论和逻辑编程之间的联系,使两个领域之间的专业知识转移。
2002-07-25 cs.LO cs.PL
An Assertion-Based Program Logic for Probabilistic Programs
概率程序的演绎验证研究已经考虑了基于期望的逻辑,其中前置条件和后置条件是状态上的实值函数,以及基于断言的逻辑,其中前置条件和后置条件是状态分布上的布尔谓词。这两种方法都发展了近40年,但今天它们有不同的地位。基于期望的系统已经成功地将许多复杂的案例研究形式化,而今天基于断言的系统具有更有限的表达能力,并且针对更简单的示例。我们目前Ellora,一个健全的和相对完整的断言为基础的程序逻辑,并证明其表现力通过验证几个经典的例子,随机算法使用的EasyCrypt证明助手的实现。Ellora为循环和对抗代码提供了新的证明规则,并支持比现有程序逻辑更丰富的断言。我们还表明,Ellora允许方便的推理复杂的概率概念,通过开发一个新的程序逻辑的概率独立性和分布规律,然后顺利地嵌入到Ellora。我们的工作表明,基于断言的方法并没有从根本上受到限制,并表明在基于断言的系统中,一些概念可能更容易推理。
2018-03-14 cs.LO cs.PL
A program logic for fresh name generation
我们给出了Pitts和Stark的ν-演算的程序逻辑,它是按值调用的简单类型λ-演算的扩展,具有生成新名称的机制。可以比较名字是否相等,从而产生具有细微可观察属性的程序。由生成和抽象之间的交互产生的隐藏名称通过类型上下文上的二阶量词逻辑地捕获。我们说明使用的逻辑推理著名的困难的情况下,从文献。
2021-03-12 cs.LO cs.PL
Composing Programs in a Rewriting Logic for Declarative Programming
基于构造器的条件重写逻辑是一个集成一阶泛函和逻辑程序设计的通用框架,它为非确定性泛函-逻辑程序提供了一种代数语义。在这种形式主义的背景下,我们引入了一个简单的概念,程序模块作为一个开放的程序,可以扩展与几种机制结合起来。这些机制是基于一组减少的操作。然而,这些操作的高表达性使我们能够以简单的方式为程序模块化建模典型的构造,如隐藏,导出/导入,泛型/实例化和继承。我们还通过引入一个直接结果运算符来处理该建议的语义方面,并在逻辑编程的路线上研究基于该运算符的程序模块的几种替代语义:运算符本身,它的最小不动点(模块的最小模型),其前缀定点的集合(模块的术语模型)和一些其他变体,以便找到一个组合的和完全抽象的语义wrt的操作集和一个自然的可观察性概念。
2002-03-04 cs.LO cs.PL
A Sound and Complete Hoare Logic for Dynamically-Typed, Object-Oriented Programs -- Extended Version --
定义了一种简单的动态类型、(纯粹的)面向对象语言。给出了一种结构化的操作语义和一种Hoare式的程序逻辑,用于在多个正确性概念中对语言中的程序进行推理。霍尔逻辑被证明是合理的和(相对)完整的,是-尽我们所知-第一个这样的逻辑动态类型的语言。
2016-01-08 cs.LO cs.PL
Deriving Abstract Semantics for Forward Analysis of Normal Logic Programs
虽然否定作为失败是通过内建谓词来处理的,但在文献中还没有正式地讨论{ \em normal}逻辑程序的前向抽象解释问题!在Prolog中实现的方式。本文提出了一个解决这个问题的方法,推导出两个通用的不动点抽象语义$F^b and $ F^ \diamond { \em正常}逻辑程序的前向抽象解释。$F^b$用于推断程序图中边的数据描述,其中边表示执行控制从其源程序点转移到其目的程序点的可能性。$F^\diamond$源自$F^b$,用于推断文本程序点的数据描述。
1998-11-06 cs.LO cs.PL
Verification Logics for Quantum Programs
我们调查景观的霍尔逻辑的量子程序。我们回顾三篇论文:Chadha,Mateus和Sernadas的“Reasoning about imperative quantum programs”; Yoshihiko Kakutani的“A logic for形式化验证of quantum programs”; Mingsheng Ying的“Floyd-霍尔逻辑for quantum programs”。我们比较了逻辑的数学基础,它们的底层语言,以及它们的断言的表达能力。我们还使用这些语言对Deutsch-Jozsa算法进行了验证,并讨论了它们在实际中的相对可用性。
2019-04-08 cs.ET cs.LO cs.PL
Automated Termination Proofs for Logic Programs by Term Rewriting
RWTH Aachen(亚琛工业大学);TU Eindhoven(埃因霍温理工大学);University of Innsbruck(因斯布鲁克大学)
逻辑程序的可终止性分析有两种方法:“转换”法和“直接”法。直接方法直接在逻辑程序的基础上证明终止。转换方法将一个逻辑程序转换成一个项重写系统(TRS),然后分析所得到的TRS的终止。因此,转换方法使以前为TRS开发的所有方法也可用于逻辑程序。然而,大多数现有的转换的适用性是相当有限的,因为它们只能用于逻辑程序的某些子类。(Most它们中的一个仅限于模式良好的程序。)在本文中,我们改进这些转换,使它们成为适用于任何明确的逻辑程序。为了用TRS模拟逻辑程序的行为,我们稍微修改了重写的概念,允许无限项。我们表明,我们的转换结果TRS这确实是适合自动终止分析。与大多数其他逻辑程序的终止方法相比,我们的技术也适用于逻辑程序设计,而不需要发生检查,这是在实践中通常使用的。我们在终止证明程序AProVE中实现了我们的方法,并在大量示例中成功地对其进行了评估。
2008-09-01 cs.AI cs.LO cs.PL
Characterization of Strongly Equivalent Logic Programs in Intermediate Logics
与逻辑程序的答案集语义相关的非经典、非单调推理关系产生了逻辑程序之间的“强等价”关系,该关系可以在3值Goedel逻辑G3中得到验证,G3是最强的非经典中间命题逻辑(Lifschitz,Pearce和Valverde,2001)。本文将证明KC(通过将公理~A v ~A加到直觉逻辑中而得到的逻辑)是最弱的中间逻辑,对于它,强等价的逻辑程序在允许否定的语言中是逻辑等价的。
2002-06-03 cs.LO
Extensional Higher-Order Logic Programming
University of Athens(雅典大学);University of Victoria(维多利亚大学)
我们提出了一个纯粹的扩展语义高阶逻辑编程。在这个语义中,程序谓词表示有序元组的集合,两个谓词相等当且仅当它们作为集合相等。此外,每个程序都有唯一的最小Herbrand模型,它是程序所有Herbrand模型的最大下界,也是直接结果算子的最小不动点。我们还提出了一个SLD分辨率证明程序,这是证明的声音和完整的最小模型语义。换句话说,我们提供了一个纯粹的扩展的理论框架,高阶逻辑编程的经典(一阶)逻辑编程的熟悉的理论。
2011-06-17 cs.AI cs.LO cs.PL
Birkhoff-von Neumann Quantum Logic as an Assertion Language for Quantum Programs
需要一个带有量子变量的一阶逻辑作为断言语言,用于指定和推理量子程序的各种属性(例如正确性)。令人惊讶的是,这样的逻辑在文献中缺失,现有的一阶Birkhoff-von Neumann量子逻辑只处理经典变量和它们的量化。在本文中,我们填补了这一空白,通过引入一阶扩展的Birkhoff-von Neumann量子逻辑与泛量词和存在量词的量子变量。给出的例子表明,我们的逻辑特别适合于指定量子计算和量子信息中研究的一些重要性质。我们进一步将此逻辑作为断言逻辑纳入量子霍尔逻辑中,使其能起到类似于经典霍尔逻辑中的一阶逻辑和分离逻辑中的BI-逻辑的作用。特别是,我们展示了它如何可以用来定义和推导量子概括的一些适应规则,已被应用于显着简化验证的经典程序。预计本文中定义的断言逻辑-一阶量子逻辑与量子变量-可以与各种量子程序逻辑相结合,作为一个坚实的逻辑基础上,验证工具可以建立使用证明助手,如Coq和Isabelle/HOL。
2022-05-04 cs.LO cs.PL quant-ph
Logic Programming Semantics for Causal Processes
German University Of Digital Science Potsdam(德国波茨坦数字科学大学)
研究逻辑程序设计语义与因果过程最终状态的关系,指出正逻辑程序稳定模型对应特定过程最终状态,支持模型描述任意起点可达状态,为逻辑程序设计语义讨论提供新视角及时间维度。
2026-07-24 cs.AI cs.LO cs.PL
First-Order Modular Logic Programs and their Conservative Extensions
模块化逻辑程序提供了一种将逻辑程序视为由许多独立的、有意义的模块组成的方法。本文介绍了一阶模逻辑程序,它可以捕获许多答案集程序的含义。我们还介绍了保守的扩展,这样的程序。这个概念有助于识别模块化程序之间以及传统程序之间的强关系。我们展示了如何保守扩展的概念可以用来证明常见的投影重写。这篇笔记正在考虑发表在《逻辑程序设计的理论与实践》上。
2017-02-17 cs.LO
Category theoretic semantics for theorem proving in logic programming: embracing the laxness
命题逻辑程序$P$可以用程序中的原子命题集合上的$P_fP_f$ -余代数来标识。相应的$C(P_fP_f)$ -余代数,其中$C(P_fP_f)$是$P_fP_f$上的余自由余代数,描述了归结导子.使用宽松的语义,这种对应关系可以扩展到一类没有存在变量的一阶逻辑程序。由此产生的扩展捕获逻辑编程中的术语匹配分辨率的证明。完善宽松的方法,我们进一步扩展到任意逻辑程序。我们还展示了一个完善的Bonchi和Zanasi的饱和语义逻辑编程,补充宽松的语义。
2016-02-17 cs.LO
Foundations of logic programming in hybrid-dynamic quantum logic
本文提出一种简单且富有表达力的混合动态逻辑用于描述量子程序,研究其中的 Horn 子句并证明初始语义定理,进而通过证明 Herbrand 定理变体奠定了该逻辑片段中量子程序逻辑编程的基础。
2024-06-04 cs.LO
Program Logics for Homogeneous Generative Run-Time Meta-Programming
本文提供了同构生成运行时间元编程的第一个程序逻辑-使用Davies和Pfenning的MiniML变体作为其底层Meta程序设计语言。我们证明了我们的方法的适用性推理的例子元程序从文献。我们还证明了我们的逻辑是相对完整的库克意义上,使归纳推导的特征公式,并准确地捕捉观察属性诱导的操作语义。
2017-03-29 cs.LO
An Almost Classical Logic for Logic Programming and Nonmonotonic Reasoning
介绍了一种称为N^4的一阶逻辑的模型理论。N^4并不像经典逻辑那样消除双重否定,而是减少了四重否定。N^4非常接近经典逻辑:N^4有两个真值; N^4中的蕴涵是实质性的,就像在经典逻辑中一样;否定分布在N^4中的复合公式中,就像在经典逻辑中一样。结果表明,正规逻辑程序的语义可以方便地用N^4形式化:经典逻辑Herbrand解释可以直接推广到N^4;正逻辑程序的经典最小Herbrand模型与其唯一的最小N^4 Herbrand模型一致;正规逻辑程序的稳定模型与其所谓的完全最小N^4 Herbrand模型一致.
2002-07-25 cs.LO
Knowledge Compilation of Logic Programs Using Approximation Fixpoint Theory
出现在逻辑程序设计的理论与实践(TPLP),ICLP 2015会议录知识编译的最新进展介绍了将\emph{positive}逻辑程序编译为命题逻辑的技术,主要是利用最小不动点计算的构造性。这种方法与现有方法相比有几个优点:它保持逻辑等价性,不需要(昂贵的)循环中断预处理或引入辅助变量,并且显著优于现有算法。不幸的是,这种技术仅限于\emph{negation-free}程序。在本文中,我们展示了如何将它扩展到一般的逻辑程序下的良基语义。我们在近似不动点理论中开展工作,这是一个代数框架,它统一了不同逻辑的语义。因此,我们的代数结果也适用于自认识逻辑,缺省逻辑和抽象辩证框架。
2015-07-23 cs.LO
Inconsistency Robustness in Logic Programs
不一致鲁棒性是“信息系统面对持续普遍的不一致时的性能。“不一致鲁棒性的一个基本原则是使矛盾明确,以便支持和反对命题的论点可以形式化。本文探讨了不一致鲁棒性在逻辑程序的历史和理论中的作用。罗伯特·科瓦尔斯基(Robert Kowalski)提出了一个大胆的论点:“回顾我们早期的发现,我最重视的发现是计算可以被演绎所包含。然而,数学逻辑不能总是推断出计算步骤,因为计算系统使用仲裁来确定同时发送多个消息的接收者接下来处理哪个消息。由于接收顺序通常是不确定的,因此不能仅通过数学逻辑从先验信息中推断出它们。因此,数学逻辑一般不能实现计算。随着历史的发展,术语“函数式程序”随着该领域的成熟而变得更加精确和技术化。“逻辑程序“应该也在类似的轨迹上。因此,“逻辑程序“应该具有一般的精确特征。在1972年秋天,逻辑程序的不同特征一直延续到今天:* 逻辑程序使用Horn-Clause语法进行前向和后向链接 * 逻辑程序的每个计算步骤(根据Actor模型)都是演绎推断的(例如在直接逻辑中)。上述示例说明了在逻辑程序中如何反复出现不一致鲁棒性问题。
2015-03-02 cs.LO
Synthesizing Strongly Equivalent Logic Programs: Beth Definability for Answer Set Programs via Craig Interpolation in First-Order Logic
该研究证明稳定模型语义下逻辑程序的射影Beth可定义性定理,提出通过一阶Craig插值构造强等价程序的方法,并通过原型实现验证其可行性,推动可定义性与插值方法向回答集编程的迁移应用。
2024-04-28 cs.LO
Logic programs with monotone cardinality atoms
我们研究的MCA程序,即逻辑程序的条款建立的单调基数原子的形式kX,其中k是一个非负整数和X是一个有限的命题原子集。我们发展了一个多学科计算机辅助设计的理论。我们证明了一步可证明性算子的操作概念可以推广到mca-程序,但是推广涉及到不确定性。我们的主要结果表明,MCA程序的形式主义是一个共同的推广(1)正常的逻辑程序设计与其语义的模型,支持的模型和稳定的模型,(2)逻辑程序设计与基数原子和语义的稳定模型,定义的Niemela,Simons和Soininen,(3)析取逻辑程序设计与Sakama和井上的可能模型语义。
2003-10-31 cs.LO
A Logic for Recursive Quantum Programs
大多数现代(经典)程序设计语言都支持递归。递归也被成功地应用于几种量子算法的设计,并被引入到几种量子程序设计语言中。因此,可以预期递归将成为量子编程的基本范式之一。已经开发了几种程序逻辑用于验证非递归量子程序。然而,在量子计算中,还没有通用的方法来推理递归过程。我们填补了空白,本文提出了一个递归量子程序的逻辑。该逻辑是量子While程序的量子霍尔逻辑的推广。证明了该逻辑的(相对)完备性,并通过一个运行的例子:不动点Grover搜索证明了其有效性。
2018-12-10 cs.LO
Incorrectness Logic for Graph Programs
程序逻辑通常会推理程序行为的过度近似,以证明没有错误。最近,程序逻辑已经被提出,而不是证明存在的缺陷,通过下近似推理,这有更好的可扩展性的承诺。在本文中,我们提出了一个下近似的程序逻辑的不确定性图形程序设计语言,并展示了它如何可以被用来推断程序不正确,是否被禁止的图形结构的存在下定义的或由故障执行。我们证明了这种不正确逻辑是健全的和完整的,并推测它的一些可能的未来应用。
2022-03-13 cs.LO
Pre-proceedings of the 28th International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2018)
本卷构成了第28届基于逻辑的程序合成和转换国际研讨会的预录(LOPSTR 2018),于2018年9月4日至6日在美因河畔法兰克福举行,德国,并与第20届声明式编程原则和实践国际研讨会同地举行(PPDP 2018)和第26届函数和逻辑编程国际研讨会(WFLP 2018)。
2018-09-11 cs.LO
A program logic for higher-order procedural variables and non-local jumps
依靠经典逻辑的公式即类型范式,我们为具有高阶过程变量和非局部跳转的命令式语言定义了程序逻辑。然后,我们展示了如何为这种程序设计语言导出一个合理的程序逻辑。作为一个副产品,我们得到了一个非依赖类型系统,它比通常在静态类型命令式语言中发现的更宽容。作为一个通用的例子,我们编码了分隔延续操作符shift和reset的命令式版本。
2011-12-07 cs.LO
Graph-based Interpretation of Normal Logic Programs
在本文中,我们提出了一个依赖图为基础的方法来计算正常的逻辑程序的各种语义。我们的方法采用\textit{conjunction nodes}明确表示正常的逻辑程序的依赖图。该依赖图可以以语义保持的方式进行适当的转换,并重新转换为等价的正常逻辑程序。这种转换后的正规逻辑程序可以用回答集编程(ASP)中编写的一些规则来扩充,并使用CLINGO系统来计算其回答集。根据这些附加规则在ASP中的编码方式,可以在稳定模型语义、良基语义或共稳定模型语义下计算原始正常逻辑程序的模型。在每种情况下,也会生成模型中每个原子的对齐。我们报告我们的方法的实施以及其性能评估。
2021-11-25 cs.LO
Coalgebraic Semantics for Probabilistic Logic Programming
本文提出概率逻辑编程的余代数语义,通过函子F的余代数建模程序,并利用余自由余代数给出推导树与可能世界两种语义,可恢复分布语义,并扩展至加权逻辑编程。
2021-04-09 cs.LO
Hyper Hoare Logic: (Dis-)Proving Program Hyperproperties (extended version)
本文提出将断言提升至任意状态集合性质的超霍尔逻辑,可在同一框架内证明和否证包括现有逻辑无法表达的任意程序超性质,且已证明其可靠性与完备性,所有结果均在Isabelle/HOL中验证。
2024-04-11 cs.LO
An SMT-Based Concolic Testing Tool for Logic Programs
Concolic测试混合了符号和具体执行,以有效地生成覆盖路径的测试用例。它的好处已经证明了超过15年的测试迫切的程序。其他编程范式,如逻辑编程,受到的关注较少。本文提出了一种基于concolic的逻辑程序测试生成方法。我们的方法利用SMT解决约束决议。然后,我们描述了一个concolic的Prolog测试工具的实现,并验证它在一些选定的基准。
2020-02-17 cs.LO
Hypotheses Founded Semantics of Logic Programs for Information Integration in Multi-Valued Logics
我们解决了整合来自不同来源的信息的问题。信息由中央服务器收集的事实组成,并试图使用(a)一组逻辑规则,即逻辑程序,和(b)表示服务器自己的估计的假设来组合。在这样的设置不完整的信息从一个来源或矛盾的信息从不同的来源需要使用多值逻辑程序可以评估和假设可以测试。为了进行这样的活动,我们提出了一个正式的框架,如贝尔纳普的四值逻辑双格的基础上。在这个框架中,我们的工作与类的程序定义的拟合,我们开发了一个理论的信息集成。我们还建立了一个直观的吸引力之间的连接,我们的假设检验机制,一方面,和有理有据的语义和Kripke-Kleene语义的Datatron程序与否定,另一方面。
2001-11-27 cs.LO
Syntax and semantics of multi-adjoint normal logic programming
本文提出了多伴随正规逻辑程序,通过在底层格中引入否定算子扩展了原有框架,并给出了其语法语义及确保稳定模型存在性与唯一性的充分条件。
2024-09-24 cs.LO math.LO
Deriving Program Logics from Distributive Monoidal Categories
Università di Pisa(比萨大学);Tallinn University of Technology(塔尔图理工大学);University of Oxford(牛津大学)
该研究从命令式范畴的公理推导多种程序逻辑,其规则遵循该范畴公理,且推导的防护命令代数推广了带测试的防护Kleene代数。
2026-09-04 cs.LO
CCS-Based Dynamic Logics for Communicating Concurrent Programs
这项工作提出了三个日益表现力的动态逻辑,其中的程序是CCS进程(sCCS-PDL,CCS-PDL和XCCS-PDL)。他们的目标是推理使用CCS描述的并发程序和系统的属性。为了实现这一点,CCS的操作符和结构被添加到基本模态逻辑中,以创建适合于描述和验证通信,并发和非确定性程序和系统的属性的动态逻辑,类似于PDL用于顺序情况。我们提供完整的公理化的三个逻辑。与Peleg的带通道的并发PDL不同,我们的逻辑具有简单的Kripke语义、完备的公理化和有限模型性质。
2009-04-01 cs.LO
Termination Proofs for Logic Programs with Tabling
表格逻辑编程在逻辑编程社区中越来越受到关注。它避免了SLD执行的许多缺点,并为逻辑程序提供了一种更灵活且通常非常有效的执行机制。特别地,逻辑程序的表格执行比基于SLD解析的执行更频繁地终止。在这篇文章中,我们介绍了两个概念的通用终止逻辑编程与Tabling:准终止和(更强的概念)LG终止。我们提出了这两个概念的终止,即准可接受性和LG-可接受性的充分条件,我们表明,这些条件也是必要的情况下,制表是精心挑选的。从这些条件出发,我们给出了模终止证明,即,证明能够组合单独程序的终止证明以获得组合程序的终止证明。最后,在模式信息的存在下,我们陈述了充分条件,这些条件构成了以基于约束的方式自动证明终止的基础。
2000-03-09 cs.LO
Stable models and an alternative logic programming paradigm
在本文中,我们重新审视的地方和作用的稳定模型语义在逻辑编程和对比,它与最少Herbrand模型的方法霍恩程序。我们证明了稳定模型语义的固有特征自然会导致一个逻辑编程系统,提供了一个有趣的替代更传统的逻辑编程风格的霍恩逻辑编程,分层逻辑编程和逻辑编程与良好的基础语义。所提出的方法是基于程序条款的约束的解释。在这种情况下,程序不描述一个单一的预期模型,而是一系列稳定的模型。这些稳定的模型编码解决方案的约束满足的问题所描述的程序。我们的方法对逻辑程序的语法施加了限制。特别是,函数符号被从语言中删除。我们认为,由此产生的逻辑编程系统是很好地协调NP类的问题,有一个定义明确的应用领域,和一个新兴的编程方法。我们指出,是什么使整个方法可行的算法来计算命题逻辑程序的稳定模型的实现的最新进展。
1998-09-18 cs.AI cs.LO
Total Outcome Logic: Unified Reasoning for a Taxonomy of Program Logics
本文提出总结果逻辑(TOL),一种统一逻辑,能表达部分与完全正确性等全部终止条件,扩展至非确定性与概率程序,并涵盖现有(不)正确性逻辑分类,实现统一推理。
2025-06-23 cs.LO
Extended multi-adjoint logic programming
本研究提出扩展多伴随逻辑程序设计范式,纳入约束与特殊聚合算子,给出语法语义,并提出转换为多伴随正规逻辑程序的机制,建立稳定模型关联,实现相关理论的迁移应用。
2024-10-07 cs.LO math.LO
A Rational Entailment for Expressive Description Logics via Description Logic Programs
ISTI - CNR(意大利国家研究委员会信息科学与技术研究所);CAIR - University of Cape Town(开普敦大学CAIR)
Lehmann和Magidor的有理闭包被认为是非单调逻辑领域的一个里程碑,它也在描述逻辑(DL)的背景下被重新表述。我们在这里展示了如何建模的合理形式的蕴涵表达DL,如SROIQ,提供了一种新的推理过程,编译成一个描述逻辑程序(DL程序)的非单调DL知识库。
2021-06-28 cs.AI cs.LO
An asymptotic analysis of probabilistic logic programming, with implications for expressing projective families of distributions
LMU München(慕尼黑大学)
概率逻辑编程是统计关系型人工智能的重要组成部分,其中将逻辑和概率方法结合在一起,在不确定性环境中推理和学习关系域。然而,跨可变域大小的统计关系表示的行为是复杂的,并且将推理和学习扩展到大型域仍然是一个重大挑战。近年来,域大小依赖、提升推理和从抽样子群体中学习之间出现了联系。统计关系表示的渐近行为已经受到审查,和投影被调查的最强形式的域大小的依赖,其中查询边际是完全独立的域大小。在这篇文章中,我们证明了每一个概率逻辑程序下的分布语义是渐近等价于一个非循环的概率逻辑程序只包括确定条款的概率事实。我们的结论是,每一个概率逻辑程序诱导一个投影族的分布,实际上是处处等价于一个程序从这个片段,我们调查的后果,为投影族的分布概率逻辑程序表示。为了方便应用的经典结果从有限模型理论,我们引入了抽象的分布语义,定义为一个任意的逻辑理论概率事实。这弥合了与概率逻辑编程基础的分布语义之间的差距。在这种表示中,确定性逻辑程序对应于无量词理论,使得渐近量词消去结果可用于概率逻辑编程的设置。本文件正在考虑被TPLP接受。
2021-08-18 cs.AI cs.LO cs.PL
Optimizing Probabilities in Probabilistic Logic Programs
本文提出概率可优化逻辑程序,并给出算法,在满足约束下优化随机变量概率赋值,以解决概率逻辑编程中的概率优化问题。
2021-08-06 cs.LO
A Polynomial Translation of Logic Programs with Nested Expressions into Disjunctive Logic Programs: Preliminary Report
嵌套逻辑程序最近被引入,以便允许在答案集语义下的逻辑程序规则的头部和主体中的任意嵌套公式。嵌套表达式可以不受限制地使用合取、析取以及作为失败操作符的否定来形成。这为知识表示和推理提供了一个非常灵活和紧凑的框架。已有的结果表明,嵌套逻辑程序可以初等地转化为标准(非嵌套)析取逻辑程序,只需对体文字应用否定作为失败算子.这是非常实际的相关性,因为它允许我们评估嵌套的逻辑程序的手段,现成的析取逻辑编程系统,如DLV。然而,事实证明,这种简单的转换在最坏的情况下会导致指数爆破,尽管复杂性结果表明两种形式主义之间存在多项式转换。在本文中,我们接受了这一挑战,并提供了一个多项式的逻辑程序与嵌套表达式转换为析取逻辑程序。此外,我们表明,这种翻译是模块化的和(强)忠实。我们已经实现了简单的和高级的转换;生成的编译器作为DLV的前端,并在Web上公开提供。
2002-07-19 cs.AI cs.LO
Temporal Probabilistic Logic Programs: State and Revision
在许多应用中,我们必须处理与事件相关的时间不确定性。时间概率(TP)逻辑程序应该通过提出不确定时刻的概念来支持事件的有效时间不确定性,即具有相关的上下概率分布的时间点(事件的时间窗)的间隔。特别是,我们提出了新的语义,为TP逻辑程序的Dekhtyar和Subrahmanian。我们的语义,可能的世界语义的基础上,是一个概括的可能的世界语义(非时间)概率逻辑编程,我们定义了新的语法PT程序,明确表示在所有原子的时间变量,并显示如何作为可能的世界概率分布的Herbrand解释的标准作用是连贯地扩展到时间概率逻辑编程。
2011-03-05 cs.LO
Tractable reasoning about Agent Programming in Dynamic Preference Logic
虽然在Agent编程领域已经提出了几种BDI逻辑,但尚不清楚这些逻辑如何连接到它们应该指定的Agent程序。更重要的是,这些逻辑中的推理问题,基于模态逻辑,一般来说是不容易处理的,限制了它们的使用来解决现实世界的问题。在这项工作中,我们使用的动态偏好逻辑BDI代理程序设计语言提供了一个语义基础,并调查这个逻辑的易处理的表达片段的原因代理程序。有了这一点,我们的目标是提供一种实现语义接地代理程序设计语言与易处理的推理周期的方式。
2019-11-14 cs.LO cs.MA
Logic programming: laxness and saturation
命题逻辑程序$P$可以用程序中的原子命题集合上的$P_fP_f$ -余代数来标识。相应的$C(P_fP_f)$ -余代数,其中$C(P_fP_f)$是$P_fP_f$上的余自由余代数,描述了归结导子.这种对应关系已经发展到两种方式,松散的语义和饱和的语义,局部有序的范畴和右Kan扩展的基础上,分别建模一阶程序。我们统一了这两种方法,展示它们作为互补而不是竞争,反映了逻辑编程的定理证明和证明搜索方面。在保持这种统一性的同时,我们进一步改进了松弛语义,给出了具有存在变量的逻辑程序的有限模型,并在逻辑程序中的变量和局部状态的世界之间建立了精确的语义关系。
2016-08-30 cs.LO