We introduce Associative Commutative Distributive Term Rewriting (ACDTR), a rewriting language for rewriting logical formulae. ACDTR extends AC term rewriting by adding distribution of conjunction over other operators. Conjunction is vital for expressive term rewriting systems since it allows us to require that multiple conditions hold for a term rewriting rule to be used. ACDTR uses the notion of a "conjunctive context", which is the conjunction of constraints that must hold in the context of a term, to enable the programmer to write very expressive and targeted rewriting rules. ACDTR can be seen as a general logic programming language that extends Constraint Handling Rules and AC term rewriting. In this paper we define the semantics of ACDTR and describe our prototype implementation.
Pure Tensor Program Rewriting via Access Patterns (Representation Pearl)
机器学习(ML)中的张量内核通常对应于纯数学表达式,使得项重写成为优化和映射到专用硬件加速器的有吸引力的策略。然而,现有的ML中间表示(IR)倾向于要么是\textit{pure but high-level},使得对硬件目标的低级重写不可表达,要么是\textit{low-level but impure},完全阻碍了术语重写的使用。本文介绍了Glenside,一个纯IR的核心抽象-\textit{access pattern} -使低层次,布局感知,以硬件为中心的程序重写。我们演示了如何在Glenside长期重写可以用来映射程序片段的硬件加速器调用,并自动发现经典的数据布局转换,如\texttt{im2col}。Glenside为进一步探索优化低级张量程序的项重写技术奠定了新的基础。
Rewriting and narrowing for constructor systems with call-time choice semantics
非融合和非终止的基于构造函数的术语重写系统对于规范和编程的目的是有用的。特别地,现有的函数逻辑语言使用这种重写系统来定义可能不严格的非确定性函数。非确定性采用的语义是调用时间选择,其与非严格性的结合是一个重要的问题,多年前从语义的角度用基于构造器的重写逻辑(CRWL)解决,CRWL是一个众所周知的语义框架,通常被接受为现代函数逻辑语言的合适语义基础。CRWL的一个缺点是它没有一个正确的一步约简的概念,这对于理解和推理计算如何进行是非常有用的。在本文中,我们彻底发展的理论,一阶版本的让重写,一个简单的减少概念,接近经典的长期重写,但扩展了让绑定建设,充分表达结合调用时间的选择与非严格的语义。字母重写可以被看作是术语图重写的一种特殊的文本表示。我们调查的属性,让重写,最显着的等价性相对于一个保守的扩展的CRWL语义处理让绑定,我们通过一些案例研究表明,有两个可互换的正式意见(减少/语义)相同的语言是一个强大的推理工具。在此之后,我们提供了一个概念,让缩小,这是足够的调用时间的选择,证明了健全性和完整性的结果,让缩小让重写。此外,我们将这些let重写和let缩小关系(以及因此CRWL)与普通项重写和缩小(...)逻辑程序设计理论与实践(Theory and Practice of Logic Programming,TPLP)
On Complexity Bounds and Confluence of Parallel Term Rewriting
LIP (UMR CNRS/ENS Lyon/UCB Lyon1/Inria)(LIP(法国国家科学研究中心/里昂高等师范学院/里昂第一大学/法国国家信息与自动化研究所联合研究单位));Birkbeck, University of London(伦敦大学伯贝克学院);University Grenoble Alpes(格勒诺布尔阿尔卑斯大学)