Semantic Predicate Types and Approximation for Class-based Object Oriented Programming
我们适用的原则,交叉类型的纪律,以类为基础的面向对象的程序的研究,我们的工作遵循一个类似的方法(在阿巴迪和Cardelli的Varsigma对象演算的背景下)采取范巴克尔和de'Liguoro。我们定义了一个扩展的Featherweight Java,FJC和提出了一个谓词系统,我们表现出的声音和表达。我们还表明,我们的系统提供了一个语义基础的面向对象的范式概括的概念,近似从λ演算,并展示了一个近似的结果:所有的表达式,我们可以分配一个谓词有一个近似,满足相同的谓词。这个结果的关键是谓词语言的概念,它将一个谓词家族与一个类相关联。
2011-09-21 cs.LO
Definitions by rewriting in the Calculus of Constructions
本文提出了一般的语法条件,确保强规范化和逻辑一致性的演算代数构造,一个扩展的演算构造与功能和谓词定义的高阶重写规则。一方面,构造演算是一个功能强大的类型系统,在其中可以形式化高阶逻辑的命题和自然演绎证明。另一方面,重写是一种简单而强大的计算范式。两者的结合允许,除其他事项外,开发正式的证明与更传统的证明助手相比,具有更小的尺寸和更多的自动化。主要的新颖之处是考虑重写的一般形式,在谓词级,概括了强消除的演算归纳结构。
2006-10-12 cs.LO
Translating Specifications in a Dependently Typed Lambda Calculus into a Predicate Logic Form
依赖类型的lambda演算(英语:Lambda calculi),如Edinburgh逻辑框架(英语:Edinburgh Logical Framework)(LF),是一种流行的方式,用于编码关于正式语法对象的基于规则的规范。在这些框架中,通过使用类型的依赖结构,自然地捕获了表示形式对象的术语上的关系。我们在这里考虑在简单类型的λ-项上将以这种风格编写的规范保持意义地翻译成谓词逻辑。这样的翻译可以为高效的实现和推理规范的复杂能力提供基础。我们开始与先前描述的翻译LF规范的公式在逻辑的高阶遗传Harrop(hohh)公式。我们展示了如何通过识别和消除其中包含的冗余类型检查信息来改进这种翻译。这既有利于翻译公式的清晰度,又减少了执行过程中必须花费在类型检查上的精力。为了允许这种翻译被用来执行LF规范,我们描述了一个逆变换从hohh项LF表达式,因此可以使用翻译的形式进行计算,然后可以将结果导出回LF。基于LF规范的执行还可能涉及某些形式的类型重构。我们讨论的可能性,支持这样的能力,使用翻译的结构规范的一些合理的限制。
2013-10-31 cs.LO
Mapping Objects to Persistent Predicates
Prolog逻辑程序设计在许多需要存储知识的系统中被广泛用于提供持久性。用于供应持久性的Prolog编程语言的一些实现具有与其他程序设计语言的双向接口,总体上具有面向对象的编程语言。目前,缺少用于系统开发的工具和框架,这些工具和框架以简单和敏捷的形式使用逻辑谓词持久性。更具体地说,目前需要一个面向对象和逻辑持久性提供程序,允许在主存中操作对象,并且该对象的持久性具有逻辑编程谓词方面。目前的工作介绍了一个面向对象和逻辑持久性提供者的支持对象的序言声明性映射的替代。所提出的替代方案包括逻辑编程谓词与面向对象方法的对应关系,其中对于逻辑编程的每个元素,一个面向对象的元素使其相互作用。逻辑程序设计谓词的面向对象表示提供了对组成知识的元素进行操作的便利。
2017-05-01 cs.LO cs.PL cs.SE
Inductive and Coinductive Predicate Liftings for Effectful Programs
我们制定了一个框架来描述有效的高阶递归程序的行为。效果的例子是使用效果操作实现的,包括:执行成本,非确定性,全局存储和与用户的交互。程序的指称语义由单子中的共归纳树给出,它结合了程序在效果操作方面的潜在返回值。使用简单的测试逻辑,我们构建了两种类型的谓词提升,它们将结果类型上的谓词提升为产生该类型结果的计算上的谓词,每个都捕获程序行为的一个方面。首先,我们研究了归纳谓词提升,它可以用来描述有效的概念的完全正确性。其次,我们研究了共归纳谓词提升,它描述了有效的部分正确性的概念。这两种结构是双重的,因为一种结构可以用来反驳另一种结构。谓词提升被用作高阶程序的行为属性的内生逻辑的基础。程序逻辑有一个可导出的否定概念,它产生于两种谓词提升的对偶性,它产生一个包含双相似性概念的程序等价。归纳和共归纳谓词提升的适当定义给出了大量的效果的例子。整个开发已经在Agda证明助手中完全正式化。
2021-12-28 cs.LO
Quantitative Separation Logic - A Logic for Reasoning about Probabilistic Programs
我们提出了定量分离逻辑($\mathsf{QSL}$)。与经典的分离逻辑相反,$\mathsf{QSL}$采用计算为实数的量,而不是计算为布尔值的谓词。将经典分离逻辑的连接词分离合取和分离蕴涵从谓词提升为量。这个扩展是保守的:这两个连接词是向后兼容的经典类似物,并遵守相同的法律,例如肯定前件,伴随性等。此外,我们开发了一个最弱的前提演算概率指针程序的定量推理$\mathsf{QSL}$。这种演算是Reynolds的堆操作程序的分离逻辑和Kozen/ McIver和Morgan的概率程序的最弱预期望的保守扩展。可靠性证明相对于一个基于马尔可夫决策过程的操作语义。我们的演算保留了O 'Hearn的框架规则,使本地推理。我们证明,我们的演算能够推理数量,如终止与空堆的概率,达到一定的数组排列的概率,或列表的预期长度。
2018-11-26 cs.LO cs.PL
The Epsilon Calculus with Equality and Herbrand Complexity
希尔伯特微积分是初等或谓词演算的扩展,通过形成项的算子$\varepsilon$和包含这些项的初始公式。关于微积分的基本结果是所谓的微积分定理,这些定理已经用微积分消元法证明。它是通过去掉初始公式,将微积分中的证明转化为初等或谓词演算中的证明的过程。一个显着的后果是证明Herbrand的定理由于伯奈斯和希尔伯特来作为一个推论的扩展第一定理。本文的主要贡献是对推广的等式积分第一定理中Herbrand析取长度的上界和下界进行了分析。我们还表明,Herbrand的定理与平等的复杂性分析是一个简单的后果之一,扩展的第一个定理,由于莫泽和扎克没有平等。
2019-04-25 cs.LO math.LO
Characterizing Minimal Semantics-preserving Slices of predicate-linear, Free, Liberal Program Schemas
程序模式定义了一类程序,所有程序都具有相同的语句结构,但其功能和谓词可能不同。一个模式因此定义了一个完整的程序类,根据它的符号是如何解释的。模式的子模式是通过删除模式中的某些语句而从模式中获得的。我们证明了给定一个模式$S$,它是谓词线性的,自由的和自由的,使得每个if谓词的真和假部分满足一个简单的附加条件,以及一个切片准则,该切片准则由$S$定义的任何程序执行后给定变量的最终值定义,遵守该切片准则的$S$的最小子模式包含所有函数和谓词符号根据程序切片中的数据依赖关系和控制依赖关系,构造变量所需要的“符号集”,即Weiser的静态切片算法给出的符号集。因此,该算法为满足我们的条件集的模式表示的程序类给出了谓词最小切片。我们还给出了一个例子,以表明相应的结果关于切片的终止行为定义的标准是不正确的。这补充了作者的结果,其中要求$S$为函数线性,而不是谓词线性。
2017-05-25 cs.LO
Predicate Transformers and Linear Logic, yet another denotational model
在精化演算中,单调谓词Transformers被用来为(命令式)程序建模。与模拟的自然概念一起,它们形成了一个具有许多代数性质的范畴。我们建立在这个结构上,使谓词Transformers成为一个完整的线性逻辑的描述模型:所有的逻辑结构都有一个自然的解释谓词Transformers器(即在规范方面)。然后,我们解释证明的一个公式的安全性为相应的规格。
2009-05-25 cs.LO math.LO
Logic of computational semi-effects and categorical gluing for equivariant functors
在本文中,我们重新审视莫吉的著名演算的计算效果从逻辑的monoidal行动(行动范畴)。我们的发展采取以下步骤。首先,我们对Moggi的计算元语言进行了证明论重构,得到了一个模型类型为$\rhd$的类型论。通过命题作为类型的范式,其逻辑可以被看作是通过本顿的伴随演算的松散逻辑的分解。这种演算作为一种编程语言建模了一种较弱版本的效果,我们称之为\emph{semi-effects}。其次,我们利用行为范畴和等变函子给出了它的语义。与以前的研究相比,效果和actegories,我们的方法是更一般的模型直接给出的等变函子,其中包括Freyd类别(因此强单子)作为一个特例。第三,我们证明了沿着等变函子的范畴粘合是可能的,并推导出$\rhd$ -模态的逻辑谓词。我们还表明,这种粘合,在一个自然的假设下,产生的逻辑谓词,与胜俣的分类$\top\top$ -解除莫吉的元语言。
2020-07-09 cs.LO cs.PL
Verifying Termination and Error-Freedom of Logic Programs with block Declarations
我们提出了延迟声明的逻辑程序的验证方法。验证的性质是终止和自由的错误有关的内置。关于终止,我们提出了两种方法。第一种方法试图消除众所周知的推测性输出绑定问题。第二种方法是基于识别的谓词,使用这个谓词的原子的文本位置是无关的终止。这项工作有三个特点:它允许在几种模式下使用谓词;它表明块声明,这是一个非常简单的延迟结构,足以确保所需的属性;它考虑到选择规则,假设它是在大多数Prolog实现。这些方法可用于验证现有程序和帮助编写新程序。
2000-06-23 cs.LO cs.PL
A Taxonomy of Hoare-Like Logics: Towards a Holistic View using Predicate Transformers and Kleene Algebras with Top and Tests
该研究通过谓词变换器和TopKAT视角分析多种霍尔类逻辑,构建其关系分类法并关注不同程序假设下的关联,还首次得到里斯本逻辑的TopKAT刻画。
2024-11-28 cs.LO cs.PL
An expectation transformer approach to predicate abstraction and data independence for probabilistic programs
在本文中,我们重新审视了著名的谓词抽象技术,将概率系统模型的性能属性。我们重铸的理论,使用期望Transformers,并确定Transformer属性对应的抽象,但产生精确的约束无限状态概率系统的性能。此外,我们扩展开发的技术的特殊情况下,“数据独立”的程序,将概率。最后,我们证明了微妙的扩展技术,通过使用PRISM模型检验工具来分析一个无限状态协议,获得其性能的精确界限。
2010-06-26 cs.LO
Quantitative Weakest Hyper Pre: Unifying Correctness and Incorrectness Hyperproperties via Predicate Transformers
本文提出面向非确定性与概率程序的定量最弱超前置演算,支持初始状态集和概率分布上的超量推理,并揭示多种谓词变换器间的新对偶性。
2024-04-07 cs.CR cs.FL cs.LO
Cut-Elimination for the Bimodal Logic GR
Japan Coast Guard Academy(日本海上保安大学校)
本文提出GR双模逻辑的超序列演算,证明了切消定理。
2026-05-15 cs.LO
The Guarded Lambda-Calculus: Programming and Reasoning with Guarded Recursion for Coinductive Types
我们提出了守护的Alguda演算,简单类型的Alguda演算与守护递归和共归纳类型的扩展。保护递归类型的使用确保了良好类型程序的生产力。受模态逻辑和Atkey-McBride时钟量化启发的类型生成器可以将受保护的递归类型转换为共归纳类型,从而允许非因果函数的类型化。我们给出了演算的按名调用操作语义,并在树的拓扑中定义了适当的指称语义。充分性证明意味着程序的评估总是终止的。我们介绍了一个程序逻辑与Löb归纳推理的上下文等价的程序。我们展示了表现力的演算显示的可定义性的解决方案Rutten的行为微分方程。
2016-09-05 cs.LO cs.PL
Continuation calculus
带有控制的程序通常使用扩展了控制算子的λ演算建模。我们不修改λ演算,而是考虑一种不同的计算模型。我们介绍连续演算,或CC,确定性的计算模型,仅使用头减少评估,并认为它是适合的建模程序与控制。它演示了如何定义程序,指定它们,并证明它们是正确的。这是通过在CC中呈现一个列表乘法程序来详细展示的,该程序在遇到零时过早返回。正确性证明包括程序的终止。在连续演算中,我们可以对按名称调用和按值调用进行建模。此外,按名称调用函数可以应用于按值调用结果,反之亦然。
2013-09-05 cs.LO cs.PL
Continuation-passing Style Models Complete for Intuitionistic Logic
一类模型,在连续单子的形式多态的一阶个人,这是健全的和完整的最小直觉谓词逻辑。证明的健全性和完整性是建设性的,其组成的计算内容,特别是一个$β$ -规范化的评估程序简单类型的lambda演算和类型。虽然灵感来自Danvy的类型导向部分求值器,但避免了分隔控制运算符(即计算效果)的必要使用。多态性的作用是至关重要的--去掉它可以让我们获得经典谓词逻辑的模型完备的概念。我们的模型和克里普克模型之间的联系是通过加强双重否定转移图式来实现的。
2011-03-03 cs.LO cs.PL math.LO
Mapping Fusion and Synchronized Hyperedge Replacement into Logic Programming
在本文中,我们比较了三种不同的形式主义,可用于该地区的模型,分布式,并发和移动系统。特别是,我们分析了进程演算,融合演算,图形变换中的同步超边替换与霍尔同步(HSHR)的方法和逻辑编程之间的关系。我们提出了一个翻译融合演算到HSHR(而融合演算使用米尔纳同步),并证明了融合演算和HSHR转换的减少语义之间的对应关系。我们还提出了一个映射从HSHR到一个事务版本的逻辑编程,并证明有一个完整的对应关系之间的两个形式主义。从融合演算到逻辑编程的映射是有趣的,因为它显示了两种形式主义之间的紧密类比,特别是在处理名称生成和移动性方面。根据HSHR的中间步骤是方便的,因为图转换允许多个远程同步,如Fusion Calculus语义所要求的。
2006-01-15 cs.LO cs.PL
Eigenvariables, bracketing and the decidability of positive minimal predicate logic
本文通过括号化机制替代特征变量条件,给出正最小谓词逻辑可判定性的新证明,并推广至简单类型论、二阶命题逻辑及系统F正类型居留问题。
2023-05-15 cs.LO
Data Type Inference for Logic Programming
本文提出了一种新的逻辑程序设计静态数据类型推断算法。不需要声明类型的谓词,我们的算法是能够自动分配类型的谓词,在大多数情况下,对应的数据类型处理其预期的含义。该算法还能够推断出与Haskell中的数据定义类似的数据类型定义的类型,并且在这种情况下,推断出的类型通常更具信息性。我们提出的类型推断算法,证明了一些属性,最后,我们评估我们的方法处理不同的数据结构的示例程序。
2021-08-14 cs.LO cs.PL
Towards a Calculus of Object Programs
面向对象软件的可扩展性需要一种简单直观的方法来处理引用,这与面向对象程序员如何推理他们的程序密切相关。本文提出的方法是一种目标程序演算,它由四个部分组成:组合逻辑,一个描述程序语义和证明程序属性的框架;负变量,用于处理面向对象编程的细节,特别是限定调用;别名演算,用于确定引用表达式是否可以具有相同的值;对象结构演算,一种在面向对象程序执行过程中出现的结构的规范技术。这篇文章通过证明一个链表反转的标准算法来说明微积分。
2011-07-17 cs.LO cs.PL cs.SE
Index sets for Finite Normal Predicate Logic Programs
<Q>_e是所有有限谓词逻辑程序的有效列表。<T_e>是递归树的列表。我们修改Marek,Nerode和Remmel [25]的构造以构造递归函数f和g,使得对于所有索引e,(i)Q_e的稳定模型集与通过T_{f(e)}的无限路径集之间存在一对一的保度对应关系;(ii)通过T_e的无限路径集之间存在一对一的保度对应关系e和Q_{g(e)}的稳定模型集。我们使用这两个递归函数将寻找正常有限谓词逻辑程序的各种属性P的索引集I_P的复杂性的问题减少到计算原始递归树的索引集的问题,对于原始递归树,存在大量的各种结果[6],[8],[16],[17],[18],[19]。我们使用我们的对应关系来确定所有程序的索引集的复杂性和某些特殊类别的有限谓词逻辑程序的属性,如(i)没有稳定的模型,(ii)有至少一个稳定的模型,(iii)有任何给定的正整数c的稳定模型,(iv)只有100多个稳定的模型,或(vi)有无限多个稳定的模型。
2013-03-26 cs.CC cs.LO
A Uniform Substitution Calculus for Differential Dynamic Logic
本文介绍了一种新的证明演算微分动态逻辑(dL),完全基于一致替换,证明规则,取代一个谓词符号的公式无处不在。一致替换使得依赖公理而不是公理模式成为可能,大大简化了实现。而不是非平凡的模式变量和健全的临界侧条件的变量的出现模式,所得到的演算只采用了有限数量的普通dL公式作为公理。差分动态逻辑的静态语义仅在统一替换和绑定变量重命名中捕获,而不是以微妙的方式在证明器实现中传播。除了健全的统一替代,本文介绍了微分动态逻辑,使之有可能内化微分不变量,微分替代和推导的第一类公理在dL的微分形式。
2015-07-30 cs.LO cs.PL math.LO
Transformations of Logic Programs with Goals as Arguments
我们考虑逻辑编程的一个简单扩展,其中变量可以在目标上变化,目标可以是谓词的参数。在这种语言中,我们可以编写以目标为数据的逻辑程序。我们给出了实际的证据表明,利用这种能力时,转换程序,我们可以提高程序的效率。我们提出了一套程序转换规则,扩展了熟悉的展开和折叠规则,并允许我们操纵的目标出现的谓词参数的条款。为了证明这些转换规则的正确性,我们形式化地定义了我们的扩展逻辑程序设计语言的操作语义。这个语义是LD-分辨率的一个简单变体。当适当的条件得到满足时,这种语义与LD-分辨率一致,因此,用我们的扩展语言编写的程序可以由普通的Prolog系统运行。我们的转换规则,以保持操作语义和终止。
2004-02-20 cs.LO cs.PL
Embedding Pure Type Systems in the lambda-Pi-calculus modulo
本文证明通过添加计算规则扩展的 lambda-Pi-calculus modulo 具有惊人表达能力,可将系统 F 等函数式 Pure Type Systems 保守嵌入其中。
2023-10-19 cs.LO
Programming and Reasoning with Guarded Recursion for Coinductive Types
我们提出了守护的Alguda演算,简单类型的Alguda演算与守护递归和共归纳类型的扩展。保护递归类型的使用确保了良好类型程序的生产力。受模态逻辑和Atkey-McBride时钟量化启发的类型生成器可以将受保护的递归类型转换为共归纳类型,从而允许非因果函数的类型化。我们给出了演算的按名调用操作语义,并在树的拓扑中定义了适当的指称语义。充分性证明意味着程序的评估总是终止的。我们展示了表现力的演算显示的可定义性的解决方案Rutten的行为微分方程。我们介绍了一个程序逻辑与Löb归纳推理的上下文等价的程序。
2015-01-15 cs.LO cs.PL
Interval Neutrosophic Logics: Theory and Applications
本文提出了区间模糊逻辑,它是对模糊逻辑、次协调逻辑、直觉模糊逻辑等许多非经典、非标准逻辑的推广。给出了区间代数命题演算和区间代数谓词演算的形式定义。然后给出了区间代数逻辑在近似推理中的一个应用。
2004-11-03 cs.LO
Extending Coinductive Logic Programming with Co-Facts
我们引入了一个广义的逻辑编程范式,程序,由事实和规则与通常的语法,可以丰富的共同事实,语法上类似的事实,但有一个特殊的意义。在共归纳逻辑程序设计中,解释是完全Herbrand基的子集,包括无限项。然而,程序的意图(声明性语义)是一个固定点,它不一定是最小的,也不一定是最大的,而是由共同事实决定的。通过这种方式,可以在非良基结构上表达谓词,例如无限列表和图,对于这些结构,共归纳解释不够精确。此外,这种范式很好地包含了标准(归纳)和共归纳逻辑编程,因为两者都可以通过特定的共事实选择来表达,因此归纳谓词和共归纳谓词可以共存于同一个程序中。通过实例对该范式进行了说明,并给出了声明语义和操作语义,证明了操作语义的正确性。最后,我们描述了一个原型元解释器。
2017-09-14 cs.LO cs.PL
A Proof Procedure For Separation Logic With Inductive Definitions and Theory Reasoning
本文提出了一种基于逻辑演算的证明方法,结合归纳定义的谓词表示的有界树宽结构和理论推理,检验分离逻辑公式之间蕴涵的有效性。微积分是可靠的和完备的,在这个意义上,证明树是有效的当且仅当它允许一个(可能是无限的)证明树。我们表明,该过程在以下两种情况下终止:(i)当归纳规则,定义谓词发生在左手边的蕴涵终止,在这种情况下,证明树总是有限的。(ii)当理论是空的,在这种情况下,每个有效的证明树都允许一个有理证明树,其中在证明树中出现的成对不同序列的总数是关于r.t.的双指数。最后的结局。
2022-06-22 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
Automata Theory Approach to Predicate Intuitionistic Logic
谓词直觉逻辑是依赖类型的一个很好的片段。根据Curry-Howard同构证明,逻辑中的构造与给定公式类型的程序综合有很好的对应。我们提出了一个模型的自动机,可以处理证明建设全直觉一阶逻辑。自动机是以这样一种方式构造的,即任何成功的运行都直接对应于逻辑中的正常证明。这使得讨论证明或程序的形式语言、自动机的闭包性质及其与传统逻辑连接词的联系成为可能。
2016-08-19 cs.LO
Predicate Pairing for Program Verification
命令式程序部分正确性的验证可以归结为约束Horn子句的可满足性问题。然而,基于谓词抽象的最先进的CHC求解器(CHC求解器)有时无法验证可满足性,因为它们寻找在给定的A类约束中可定义的模型,称为A-可定义模型。我们介绍了一种转换技术,称为谓词配对(PP),这是能够,在许多有趣的情况下,一组条款转换成一个equisatisifiable集,其可满足性可以证明通过找到一个A-可定义的模型,因此可以有效地验证CHC求解器。我们证明,在非常一般的条件下,A,展开/折叠变换规则保持存在的A-可定义的模型,即,如果原始子句具有A-可定义模型,则转换后的子句具有A-可定义模型。反之一般不成立,我们提供了适当的条件下,转换条款有一个A-可定义的模型当且仅当原来的有一个A-可定义的模型。然后,我们提出了PP战略,指导应用的转换规则的目标,推导出一组条款,其可满足性可以证明通过寻找A-可定义的模型。PP引入了一个由两个谓词的合取加上一些约束定义的新谓词。我们通过一些例子表明,一个A-可定义的模型可能存在的新谓词,即使它不存在其定义原子合取。我们还提出了一些案例研究,表明PP在程序的关系属性的验证中起着至关重要的作用(例如,程序等价性和非干扰性)。最后,我们进行了实验评估,以评估PP在提高CHC解决能力方面的有效性。
2018-06-27 cs.LO cs.SE
Predicate Logic as a Modelling Language: The IDP System
随着当时的技术,Kowalski在1974年的开创性论文{ \em Predicate Logic as a程序设计语言}是逻辑在计算机科学中应用的突破。它引入了两个基本思想:在声明方面,使用经典逻辑的Horn子句逻辑片段,很快就扩展了否定失败,在程序方面,程序解释使得有可能在形式主义中编写算法。从那时起,在逻辑编程形式主义的声明性理解和自动推理技术方面都取得了很大的进展,特别是在SAT求解,约束编程和答案集编程方面。这为逻辑编程的扩展的发展铺平了道路,该扩展体现了逻辑作为建模语言及其在解决问题中的作用的更纯粹的观点。本文介绍了\idp语言和系统。该语言本质上是经典逻辑的扩展,逻辑编程对知识表示的最重要贡献之一:将复杂定义表示为基于良好语义的规则集。该系统是一个知识库系统:一个系统,其中复杂的声明性信息存储在知识库中,可以用来解决不同的计算问题,通过应用多种形式的推理。在这种观点中,理论是陈述性的模型,信息袋,对可能的事态的描述。它们既不是计算问题的过程,也不是计算问题的描述。因此,\idp语言和系统保留了逻辑程序的声明性读取的基本思想,而它们与逻辑程序的过程性解释的基本思想决裂。
2018-03-13 cs.LO
Computational interpretations of classical reasoning: From the epsilon calculus to stateful programs
给经典推理赋予计算意义的问题是逻辑的核心。这篇文章调查了这个问题的三个著名的解决方案-微积分,修改的可实现性和辩证法解释-并从现代的角度重新审视它们,特别强调与算法和编程的联系。
2018-12-14 cs.LO
Proof Engineering with Predicate Transformer Semantics
我们提出了一个轻量级的,开源的Agda框架,手动验证有效的程序使用谓词Transformer语义。我们表示的抽象语法树(AST)的有效程序与广义代数数据类型(GADT)AST,其一般性,即使是复杂的操作是原始的AST节点。然后,用户可以将定制的谓词Transformers分配给这些操作,以帮助证明工作,例如通过自动分解分支代码的证明义务。我们的框架编纂和推广的证明工程方法,作者使用的理由LibraBFT,拜占庭容错共识协议,其中参与者执行的代码可能会产生的影响,如更新状态和发送消息的原型实现。在这种情况下,我们的框架的成功使用证明了它的实用性。
2022-08-17 cs.LO cs.SE
Computing Circumscriptive Databases by Integer Programming: Revisited (Extended Abstract)
在本文中,我们考虑了一种方法,使用整数规划在命题逻辑和一阶逻辑的领域封闭公理和唯一名称公理计算最小模型的限制。这种处理是非常重要的,因为这使得应用各种技术在非单调推理的运筹学发展。Nerode等人(1995)是第一个提出使用整数规划计算限制的方法。他们声称他们的方法是正确的限定与固定谓词,但我们表明,他们的方法并不正确地反映他们的要求。我们展示了一个正确的方法来计算所有的最小模型,不仅与固定的谓词,但也与不同的谓词,我们扩展我们的方法来计算优先的界限,以及。
2000-03-05 cs.AI cs.LO
Superdeduction in Lambda-Bar-Mu-Mu-Tilde
超级演绎是一种专门设计的方法,以简化谓词逻辑中一阶理论的使用。运用这一理论,以系统、正确、完整的方式,用新的演绎规则丰富演绎体系。一个证明项语言和一个切消约化已经存在于超演绎中,两者都是基于克里斯蒂安·厄本在经典微积分上的工作。然而,克里斯蒂安·厄本的微积分的计算内容与柯里-霍华德对应(Curry-Howard correspondence)没有直接关系。相反,Lambda bar mu mu波浪线演算是经典波浪线演算的一种波浪线演算。这个简短的文件是第一步,进一步探索的计算内容的superdeduction证明,我们延长了Lambda酒吧亩亩波浪演算,以获得一个proofterm语言一起削减消除减少superdeduction。我们还证明了强大的规范化,这种扩展的λ酒吧亩亩波浪演算。
2011-01-28 cs.LO
Knowledge of Uncertain Worlds: Programming with Logical Constraints
Stony Brook University(石溪大学)
复杂应用程序的逻辑编程必须处理递归和否定,这两者一起在逻辑中产生了重大挑战,导致许多不同的,相互冲突的规则语义。本文描述了一种统一的语言,DA逻辑,设计和分析逻辑,统一的基础语义和约束语义的基础上,支持的权力和不同的意图语义编程的易用性。其关键思想是提供元约束,支持使用不确定信息的形式,无论是未定义的值或可能的组合值或两者兼而有之,并促进使用的知识单元,可以实例化的任何新的谓词,包括谓词与额外的参数。
2020-12-11 cs.AI cs.LO cs.PL
Tropical Mathematics and the Lambda Calculus I: Metric and Differential Analysis of Effectful Programs
本文研究 lambda 演算在热带数学框架中的解释,提出一个统一程序度量与资源分析的定量语义框架,并基于热带半环加权关系模型分析带效应程序行为,揭示了其与广义度量空间理论的抽象对应基础。
2023-11-27 cs.LO cs.PL math.LO
Reformulating the Situation Calculus and the Event Calculus in the General Theory of Stable Models and in Answer Set Programming
Arizona State University(亚利桑那州立大学)
稳定模型语义下的限制和逻辑程序是两种著名的非单调形式化。前者是基于经典逻辑的动作形式主义的基础,如情境演算、事件演算和时态动作逻辑;后者是动作语言家族的基础,如语言A及其几个后代。基于对稳定模型的定义和稳定模型的语义在一类规范公式上的一致性的发现,我们重新定义了稳定模型一般理论中的情景演算和事件演算.我们还提出了一个翻译,把重新制定进一步的答案集程序,使高效的答案集求解器可以应用于计算的情况演算和事件演算。
2014-01-18 cs.AI cs.LO
A Refinement Calculus for Logic Programs
现有的精化演算提供了从规范逐步开发命令式程序的框架。本文提出了一种用于推导逻辑程序的精化演算。演算包含一个广谱逻辑程序设计语言,包括可执行结构,如顺序合取、析取和存在量化,以及规范结构,如一般谓词、假设和泛量化。一个声明性的语义定义为这个广谱语言的执行的基础上。执行是从状态到状态的部分函数,其中状态表示为一组绑定。语义用于定义程序和规范的含义,包括参数和递归。为了完成演算,在广谱语言的程序的正确性保持求精的概念被定义和细化法律开发程序的介绍。精化演算说明使用示例推导和原型工具支持进行了讨论。
2002-02-04 cs.LO cs.SE
Combining Event Calculus and Description Logic Reasoning via Logic Programming
本文介绍了一种在逻辑程序设计框架下将事件演算与描述逻辑相结合的知识表示语言。其目的是为用户提供一种表达语言,用于建模和分析随时间演变的系统。该方法的例子与逻辑程序设计语言中实现的Fusarium系统。本文扩展了Fusarium的规则语言与描述逻辑$\cal ALCIF$的弱DL-安全接口,并使事件演算适应这种扩展语言。通过这种方式,带时间戳的ABOX可以在事件演算中作为流畅项进行操作。这一切都是在福柯的时间分层概念的框架内进行的。本文件酌情提供了健全性和完整性的条件。使用一个详细的例子,它演示了事件演算,描述逻辑和逻辑编程规则的相互作用,用于计算可能的模型作为合理的解释的建模系统的当前状态。
2021-09-10 cs.LO
A Complete Uniform Substitution Calculus for Differential Dynamic Logic
本文介绍了一个相对完整的微分动态逻辑(dL)的证明演算,它完全基于一致替换,一个证明规则,取代一个谓词符号的公式无处不在。一致替换使得使用公理而不是公理模式成为可能,从而大大简化了实现。而不是微妙的模式变量和健全的关键侧条件的逻辑变量的出现模式,以限制无限多的公理模式实例健全的,由此产生的演算只采用了有限数量的普通dL公式作为公理,统一的替代实例健全。微分动态逻辑的静态语义和它对证明步骤施加的合理性关键限制仅在统一替换和变量重命名中捕获,而不是以微妙的方式在证明器实现中传播。除了健全的一致替换,本文介绍了微分动态逻辑的微分形式,使其能够内化微分不变量,微分替换和导数作为第一类公理,以公理化地推理微分方程。由此得到的微分动态逻辑公理化被证明是合理的和相对完整的。
2016-07-27 cs.LO cs.PL math.LO
Feasible reactivity in a synchronous pi-calculus
反应性是同步程序的一个基本属性。非正式地说,它保证了在每一个时刻,输入的程序将“反应”产生一个输出。在目前的工作中,我们考虑一个完善的财产,我们称之为“可行的反应性”。除了反应性之外,这个属性保证了在每个时刻,程序的大小和反应时间都受到计算开始时参数大小和最大输入大小的多项式的限制。我们提出了一种方法来注释程序,我们开发了相关的静态分析技术,保证可行的反应程序中表示的S-π演算。后者是基于SL同步编程模型的pi演算的同步版本。
2007-02-11 cs.LO
A Deductive Refinement Calculus for Differential-Algebraic Programs
Karlsruhe Institute of Technology(卡尔斯鲁厄理工学院);Carnegie Mellon University(卡内基梅隆大学)
本文提出微分代数细化逻辑(dARL),用于演绎验证微分代数程序的属性与关系。通过引入新型轨迹基于语义,实现复杂微分代数方程的逐步验证与简化,确保每一步的正确性。
2026-05-11 cs.LO
Enriching a Linear/Non-linear Lambda Calculus: A Programming Language for String Diagrams
线性/非线性(LNL)模型,如Benton所描述的,合理地建模了与直觉线性逻辑密切相关的LNL项演算和LNL逻辑。每一个这样的模型诱导一个典型的丰富,我们显示健全模型的LNL λ演算弦图,介绍了里奥斯和塞林格(主要应用于量子计算)。我们对这种语言的抽象处理导致了比迄今为止提出的更简单的具体模型。我们还扩展了一般递归的语言,并证明合理性。最后,我们提出了一个充分的结果,对应于修改后的版本的本顿和Wadler的伴随演算与递归的语言的无干扰片段。
2018-04-25 cs.LO cs.PL math.CT
The Flower Calculus
受皮尔士存在图启发,提出用于直觉主义一阶逻辑的花演算深度推理证明系统,证明其可靠性与解析片段的Kripke语义完备性,且核心规则完全可逆,是首个存在图类证明系统的解析性结果。
2024-07-15 cs.LO
Psi-calculi: a framework for mobile processes with nominal data and logic
psi演算的框架扩展了pi演算的数据结构和逻辑断言和条件的名义数据表。它们可以在进程之间传输,并且它们的名称可以像标准pi演算中那样静态地作用域。Psi演算可以捕获与其他提出的pi演算扩展相同的现象,例如应用pi演算,spi演算,融合演算,并发约束pi演算,以及具有多元通信信道或模式匹配的演算。PSI演算甚至可以更通用,例如允许结构化通道,高阶形式主义,如用于数据结构的λ演算,以及用于断言的谓词逻辑。我们提供了充分的比较,相关的结石,并讨论了一些重要的应用。我们标记的操作语义和互模拟的定义是直接的,没有结构一致性。我们建立最低要求的名义数据和逻辑,以证明一般代数性质的PSI演算,所有这些都已检查的互动定理证明伊莎贝尔。PSI演算的表达性明显超过其他形式主义,而语义的纯度与原始的PI演算相当。
2011-03-31 cs.LO
Computing Stable Models of Normal Logic Programs Without Grounding
本文提出了一种计算正常逻辑程序稳定模型的方法,在存在带有任意项的谓词时,用否定扩展的逻辑程序。这样的程序不需要有一个有限的基础,所以传统的方法不适用。我们的方法依赖于使用一个非Herbrand宇宙,以及共归纳,建设性否定和其他一些新的技术。使用我们的方法,一个正常的逻辑程序与谓词可以直接执行下的稳定模型语义,而不需要它被接地之前或执行期间,也不需要其变量的范围在一个有限的域。因此,我们的方法非常通用,并且支持使用术语作为参数,包括列表和复杂的数据结构。一个原型实现和非平凡的应用程序已经开发,以证明我们的方法的可行性。
2017-09-01 cs.LO
Labelled Sequents for Inquisitive First-Order Modal Logic
University of Padua(帕多瓦大学)
针对探究性一阶模态逻辑,提出一个完整的标记矢列演算,扩展了Litak和Sano的演算,证明了强完备性及规则可逆性和切割可容许性。
2026-07-01 cs.LO
Reasoning about Recursive Probabilistic Programs
本文提出了一个WP风格的演算获得期望的结果(相互)递归概率程序。我们提供了几个证明规则,以获得一个和两个方面的界限,这样的期望,并显示我们的WP演算的可靠性相对于概率下推自动机语义。我们还给出了一个WP风格的演算获得的递归程序,可用于确定(可能是无限的)时间,直到终止这样的程序的预期运行时间的界限。
2016-03-09 cs.LO
A Sequent Calculus For Trace Formula Implication
Technical University of Darmstadt(达姆施塔特工业大学)
针对迹公式间蕴含关系证明缺失限制现有迹规约演算应用的问题,本文提出结合不动点归纳、契约与μ-公式同步的可靠矢列演算,可证明迹公式蕴含的多类非平凡性质。
2025-11-17 cs.LO
Differentiable Inductive Logic Programming in High-Dimensional Space
Czech Academy of Sciences Institute of Computer Science(捷克科学院计算机科学研究所);University of Innsbruck(因斯布鲁克大学);University of Melbourne(墨尔本大学)
本文扩展 δILP,利用高维梯度下降实现大规模谓词发明,使可微归纳逻辑程序设计能在不预设解结构的情况下解决现有神经符号 ILP 系统无法完成的任务。
2025-01-08 cs.AI cs.LO