COALGEBRAIC LOGIC PROGRAMMING FOR TYPE INFERENCE: Parallelism and Corecursion for New Generation of Programming Languages

用于类型推断的余代数逻辑编程:新一代编程语言的并行性和核心递归

基本信息

  • 批准号:
    EP/K031864/2
  • 负责人:
  • 金额:
    $ 8.32万
  • 依托单位:
  • 依托单位国家:
    英国
  • 项目类别:
    Research Grant
  • 财政年份:
    2016
  • 资助国家:
    英国
  • 起止时间:
    2016 至 无数据
  • 项目状态:
    已结题

项目摘要

The main goal of typing is to prevent the occurrence of execution errors during the running of a program. Milner formalised the idea, showing that ``well-typed programs cannot go wrong''. In practice, type structures provide a fundamental technique of reducing programmer errors. At their strongest, they cover most of the properties of interest to the verification community.A major trend in the development of functional languages is improvement in expressiveness of the underlying type system, e.g., in terms of Dependent Types, Type Classes, Generalised Algebraic Types (GADTs), Dependent Type Classes and Canonical Structures. Milner-style decidable type inference does not always suffice for such extensions (e.g. the principal type may no longer exist), and deciding well-typedness sometimes requires computation additional to compile-time type inference.Implementations of new type inference algorithms include a variety of first-order decision procedures, notably Unification and Logic Programming (LP), Constraint LP, LP embedded into interactive tactics (Coq's eauto), and LP supplemented by rewriting.Recently, a strong claim has been made by Gonthier et al that, for richer type systems, LP-style type inference is more efficient and natural than traditional tactic-driven proof development.A second major trend is parallelism: the absence of side-effects makes it easy to evaluate sub-expressions in parallel. Powerful abstraction mechanisms of function composition and higher-order functions play important roles in parallelisation. Three major parallel languages are Eden (explicit parallelism) Parallel ML (implicit parallelism) and Glasgow parallel Haskell (semi-explicit parallelism). Control parallelism in particular distinguishes functional languages.Type inference and parallelism are rarely considered together in the literature. As type inference becomes more sophisticated and takes a bigger role in the overall program development, sequential type inference is bound to become a bottle-neck for language parallelisation.Our new Coalgebraic Logic Programming (CoALP) offers both extra expressiveness (corecursion) and parallelism in one algorithm. We propose to use CoALP in place of LP tools currently used in type inference.With the mentioned major developments in Corecursion, Parallelism, and Typeful (functional) programming it has become vital for these disjoint communities to combine their efforts: enriched type theories rely more and more on the new generation of LP languages; coalgebraic semantics has become influential in language design; and parallel dialects of languages have huge potential in applying common techniques across the FP/LP programming paradigm. This project is unique in bringing together local and international collaborators working in the three communities. The number ofsupporters the project has speaks better than words about the timeliness of our agenda.The project will impact on two streams of EPSRC's strategic plan: "Programming Languages and Compilers" and "Verification and Correctness". The project is novel in aspects of Theory (coalgebraic study of (co)recursive computations arising in automated proof-search); Practice (implementation of the new language CoALP and its embedding in type-inference tools); and Methodology (Mixed corecursion and parallelism).
键入的主要目的是防止在程序运行期间发生执行错误。米尔纳正式提出了这一观点,指出“好类型的程序不会出错”。实际上,类型结构提供了减少程序员错误的基本技术。函数式语言发展的一个主要趋势是底层类型系统的表达能力的提高,例如,在依赖类型、类型类、广义代数类型(GADT)、依赖类型类和规范结构方面。Milner风格的可判定类型推理并不总是满足这样的扩展(例如,主体类型可能不再存在),并且判定良好类型推理有时需要编译时类型推理之外的计算。新类型推理算法的实现包括各种一阶决策过程,特别是统一和逻辑编程(LP)、约束LP、嵌入交互策略(Coq的eAUTO)的LP以及补充重写的LP。最近,Gonthier等人提出了一个强有力的主张,即对于更丰富的类型系统,LP风格的类型推理比传统的策略驱动的证明开发更高效、更自然。第二个主要趋势是并行性:没有副作用使得并行计算子表达式变得容易。强大的函数组合抽象机制和高阶函数在并行化中起着重要的作用。三种主要的并行语言是EDEN(显式并行)、并行ML(隐式并行)和格拉斯哥并行Haskell(半显式并行)。控制并行性特别区别于函数式语言,在文献中很少将类型推理和并行性考虑在一起。随着类型推理变得越来越复杂并在整个程序开发中发挥更大的作用,顺序类型推理势必成为语言并行的瓶颈。我们新的协代数逻辑编程(CoALP)在一个算法中提供了额外的表达能力(协递归)和并行性。我们建议使用CoALP来代替目前在类型推理中使用的LP工具。随着协递归、并行和类型(函数式)编程方面的重大发展,这些不相交的社区已经变得至关重要:丰富的类型理论越来越依赖于新一代LP语言;协代数语义学已经在语言设计中产生了影响;并行语言方言在跨FP/LP编程范型应用公共技术方面具有巨大的潜力。这个项目在将三个社区的当地和国际合作者聚集在一起方面是独一无二的。该项目的支持者数量比言语更能说明我们议程的及时性。该项目将影响EPSRC战略计划的两个流:“编程语言和编译器”和“验证和正确性”。该项目在理论(自动证据搜索中产生的(Co)递归计算的协代数学研究)、实践(新语言CoALP的实现及其在类型推理工具中的嵌入)和方法论(混合协递归和并行)方面是新颖的。

项目成果

期刊论文数量(10)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)
Productive corecursion in logic programming
逻辑编程中的高效核心递归
Logic programming: Laxness and saturation
逻辑编程:松弛和饱和
Structural Resolution for Abstract Compilation of Object-Oriented Languages
面向对象语言抽象编译的结构解析
Relative Robustness of Quantized Neural Networks Against Adversarial Attacks
Operational semantics of resolution and productivity in Horn clause logic
Horn 子句逻辑中解析和生产力的操作语义
{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

数据更新时间:{{ journalArticles.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ monograph.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ sciAawards.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ conferencePapers.updateTime }}

{{ item.title }}
  • 作者:
    {{ item.author }}

数据更新时间:{{ patent.updateTime }}

Ekaterina Komendantskaya其他文献

Statistical Proof-Patterns in Coq/SSReflect
Coq/SSReflect 中的统计证明模式
  • DOI:
  • 发表时间:
    2013
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Jónathan Heras;Ekaterina Komendantskaya
  • 通讯作者:
    Ekaterina Komendantskaya
Coinductive Uniform Proofs
共导一致证明
  • DOI:
  • 发表时间:
    2019
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Ekaterina Komendantskaya;Yue Li
  • 通讯作者:
    Yue Li
LEARNING AND DEDUCTION IN NEURAL NETWORKS AND LOGIC
  • DOI:
  • 发表时间:
    2007
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Ekaterina Komendantskaya
  • 通讯作者:
    Ekaterina Komendantskaya
Category theoretic semantics for theorem proving in logic programming: embracing the laxness
逻辑编程中定理证明的范畴论语义:拥抱松懈
Coalgebraic Derivations in Logic Programming
逻辑编程中的代数推导

Ekaterina Komendantskaya的其他文献

{{ item.title }}
{{ item.translation_title }}
  • DOI:
    {{ item.doi }}
  • 发表时间:
    {{ item.publish_year }}
  • 期刊:
  • 影响因子:
    {{ item.factor }}
  • 作者:
    {{ item.authors }}
  • 通讯作者:
    {{ item.author }}

{{ truncateString('Ekaterina Komendantskaya', 18)}}的其他基金

AISEC: AI Secure and Explainable by Construction
AISEC:人工智能通过构建变得安全且可解释
  • 批准号:
    EP/T026952/1
  • 财政年份:
    2020
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Research Grant
COALGEBRAIC LOGIC PROGRAMMING FOR TYPE INFERENCE: Parallelism and Corecursion for New Generation of Programming Languages
用于类型推断的余代数逻辑编程:新一代编程语言的并行性和核心递归
  • 批准号:
    EP/K031864/1
  • 财政年份:
    2013
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Research Grant
MACHINE LEARNING COALGEBRAIC AUTOMATED PROOFS
机器学习代数自动证明
  • 批准号:
    EP/J014222/1
  • 财政年份:
    2012
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Research Grant
Computational Logic in Artificial Neural Networks
人工神经网络中的计算逻辑
  • 批准号:
    EP/F044046/2
  • 财政年份:
    2010
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Fellowship
Computational Logic in Artificial Neural Networks
人工神经网络中的计算逻辑
  • 批准号:
    EP/F044046/1
  • 财政年份:
    2008
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Fellowship

相似国自然基金

greenwashing behavior in China:Basedon an integrated view of reconfiguration of environmental authority and decoupling logic
  • 批准号:
  • 批准年份:
    2024
  • 资助金额:
    万元
  • 项目类别:
    外国学者研究基金项目

相似海外基金

SHF: Small: Game Logic Programming
SHF:小:游戏逻辑编程
  • 批准号:
    2346619
  • 财政年份:
    2024
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Standard Grant
SHF: Medium: Scallop: A Neurosymbolic Programming Framework for Combining Logic with Deep Learning
SHF:Medium:Scallop:一种将逻辑与深度学习相结合的神经符号编程框架
  • 批准号:
    2313010
  • 财政年份:
    2023
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Continuing Grant
Travel: Oregon Programming Languages Summer School 2023: Types, Semantics, and Logic
旅行:2023 年俄勒冈编程语言暑期学校:类型、语义和逻辑
  • 批准号:
    2329771
  • 财政年份:
    2023
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Standard Grant
Travel: Student Support for the 38th International Conference on Logic Programming in 2022
旅行:2022 年第 38 届国际逻辑编程会议的学生支持
  • 批准号:
    2211786
  • 财政年份:
    2022
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Standard Grant
Travel: Student Travel Grant for 2022 Logic Programming and Non-Monotonic Reasoning Conference and Doctoral Consortium
旅费:2022 年逻辑编程和非单调推理会议及博士联盟的学生旅费补助
  • 批准号:
    2230673
  • 财政年份:
    2022
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Standard Grant
Student Support for 2019 International Conference on Logic Programming
2019年国际逻辑编程会议学生支持
  • 批准号:
    1922863
  • 财政年份:
    2019
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Standard Grant
Accelerating Inductive Logic Programming Using GPU
使用 GPU 加速归纳逻辑编程
  • 批准号:
    19K11909
  • 财政年份:
    2019
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Grant-in-Aid for Scientific Research (C)
Student Travel Grant for Fifteenth International Conference on Logic Programming and Nonmonotonic Reasoning and Doctoral Consortium
第十五届逻辑编程和非单调推理国际会议及博士联盟学生旅费补助
  • 批准号:
    1904757
  • 财政年份:
    2019
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Standard Grant
A Logic Programming Approach to Integrate Computing with Middle School Science Education
计算与中学科学教育相结合的逻辑编程方法
  • 批准号:
    1901704
  • 财政年份:
    2019
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Standard Grant
Inductive Logic Programming
归纳逻辑编程
  • 批准号:
    1973156
  • 财政年份:
    2017
  • 资助金额:
    $ 8.32万
  • 项目类别:
    Studentship
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了