SHF:Small:RUI: Deep Induction Rules for Advanced Data Types

SHF:Small:RUI:高级数据类型的深度归纳规则

基本信息

  • 批准号:
    2203217
  • 负责人:
  • 金额:
    $ 61.31万
  • 依托单位:
  • 依托单位国家:
    美国
  • 项目类别:
    Standard Grant
  • 财政年份:
    2022
  • 资助国家:
    美国
  • 起止时间:
    2022-10-01 至 2025-09-30
  • 项目状态:
    未结题

项目摘要

A particularly successful approach to software verification is deductive verification. Deductive verification generates mathematical proof obligations from software specifications, and, when these proof obligations are met, software implementations are guaranteed to conform to the specifications from which they were generated. Generated obligations can be discharged by means of hand-written mathematical proofs, but modern software is sufficiently complex that this is often tedious and error-prone, if not outright infeasible. Increasingly, therefore, proofs are developed in proof assistants like Agda, Coq, Idris, and Lean. Induction is one of the most important proof techniques available in such proof assistants. Indeed, almost all non-trivial proofs involving data types are either proved by induction outright or rely on lemmas that are. For this reason, every time a new data type is declared in, say, Coq, an induction rule is automatically generated for it. But because they traverse only the top layer, rather than all of the layers of a data structure, there are some properties of data types that should be amenable to induction but that the structural induction rules generated by Coq cannot prove. Deep induction is a recently developed generalization of structural induction that does indeed induct over all of the data present in data structures. This project's novelty is that it extends deep induction from the algebraic data types (ADTs) and (truly) nested types typically handled by Coq to their more expressive generalizations known as generalized ADTs (GADTs) and inductive families (IFs). The project's impact is thus to make it possible to detect errors and verify program properties that cannot be expressed just using ADTs and nested types, but that can be expressed using GADTs and IFs.The project involves developing a principled, conceptually simple, uniform, and comprehensive framework for deep induction for GADTs and IFs, including: i) a grammar that generates a very general class of GADTs, including all those from the literature; ii) a novel endofunctor initial-algebra-like semantics for GADTs that justifies their deep induction rules; iii) translations between GADTs and IFs that yield similar semantics, and thus deep induction rules, for IFs; and iv) implemented tools that generate deep induction rules for GADTs and IFs, together with witnesses that prove them correct, directly from their syntax. Overall, the project applies state-of-the-art theory to improve state-of-the-art verification practice. Theoretically, endofunctor initial algebra semantics is one of the cornerstones of the theory of data types, and is key to deriving even structural induction rules for them. A particularly compelling feature of the project's framework for deep induction is that the novel "maximally functorial interpretations" of GADTs and IFs that serve as its foundation are based on the same well-established principles as, and indeed specialize to, the standard initial algebra semantics for ADTs and nested types. It thus delivers a uniform semantics for ADTs, (truly) nested types, GADTs, and IFs, as well as a uniform methodology for deriving their deep induction rules. Practically speaking, this makes it possible to incorporate deep induction for GADTs and IFs into modern proof assistants by conservatively extending the standard induction techniques currently in use for ADTs, rather than by developing fundamentally new approaches. Even incorporating deep induction just for ADTs into existing proof assistants will significantly extend and improve them.This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.
一种特别成功的软件验证方法是演绎验证。演绎验证会从软件规格中产生数学证明义务,并且,当履行这些证明义务时,保证软件实施将符合生成的规范。可以通过手写的数学证据来解除生成的义务,但是现代软件足够复杂,以至于这通常是乏味且容易出错的,即使不是完全不可行。因此,越来越多地在AGDA,COQ,IDRIS和LEAN等证明助手中开发了证明。归纳是此类证明助手中最重要的证明技术之一。实际上,几乎所有涉及数据类型的非平凡证明都可以通过归纳来证明,要么依赖于诱饵。因此,每当在COQ中声明新的数据类型时,就会为其自动生成归纳规则。但是,由于它们仅遍历顶层,而不是数据结构的所有层,因此数据类型的某些属性应适合诱导,但是COQ产生的结构诱导规则无法证明。深度诱导是对结构诱导的最近发展的概括,它确实对数据结构中存在的所有数据确实具有诱导。该项目的新颖性是,它从代数数据类型(ADT)和(真正的)嵌套类型延伸到COQ通常通过COQ处理的嵌套类型的深度诱导,以将其更具表现力的概括(gadts)和感应性家族(IF)(IFS)处理。 The project's impact is thus to make it possible to detect errors and verify program properties that cannot be expressed just using ADTs and nested types, but that can be expressed using GADTs and IFs.The project involves developing a principled, conceptually simple, uniform, and comprehensive framework for deep induction for GADTs and IFs, including: i) a grammar that generates a very general class of GADTs, including all those from the literature; ii)一种新型的内型函数初始代数式语义,用于GADTS,证明其深度归纳规则; iii)gadts和IFS之间的翻译对IFS产生相似的语义,从而产生类似的诱导规则; iv)实施了为GADT和IFS生成深层归纳规则的工具,以及直接从其语法中证明其正确的证人。总体而言,该项目应用最先进的理论来改善最新的验证实践。从理论上讲,本机的初始代数语义是数据类型理论的基石之一,也是为它们得出结构性诱导规则的关键。该项目的深层吸引力框架的一个特别引人注目的特征是,GADT和用作其基础的IF的新颖的“最大功能解释”基于与ADT和嵌套类型的标准初始代数语义相同,并且确实专门针对标准的初始代数语义。因此,它为ADT,(真正的)嵌套类型,GADT和IFS提供了统一的语义,以及一种用于得出其深层归纳规则的统一方法。实际上,这可以通过保守地扩展当前用于ADT的标准归纳技术而不是通过开发根本新的新方法来将GADT和IFS的深层归纳纳入现代证明助手。即使仅将ADT的深层归纳纳入现有证明助手也将大大扩展和改进。该奖项反映了NSF的法定任务,并被认为是值得通过基金会的知识分子优点和更广泛的影响审查标准通过评估来获得支持的。

项目成果

期刊论文数量(0)
专著数量(0)
科研奖励数量(0)
会议论文数量(0)
专利数量(0)

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

{{ 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 }}

Patricia Johann其他文献

A Productivity Checker for Logic Programming
逻辑编程的生产力检查器
Monadic fold, Monadic build, Monadic Short Cut Fusion
Monadic 折叠、Monadic 构建、Monadic 快捷融合
  • DOI:
  • 发表时间:
    2016
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Patricia Johann
  • 通讯作者:
    Patricia Johann
Lumberjack Summer Camp: A Cross-Institutional Undergraduate Research Experience in Computer Science
伐木工人夏令营:计算机科学的跨机构本科研究经历
  • DOI:
    10.1076/csed.11.4.279.3830
  • 发表时间:
    2001
  • 期刊:
  • 影响因子:
    2.7
  • 作者:
    Patricia Johann;F. Turbak
  • 通讯作者:
    F. Turbak
Staged Notational Definitions
分阶段符号定义
  • DOI:
    10.1007/978-3-540-39815-8_6
  • 发表时间:
    2003
  • 期刊:
  • 影响因子:
    0
  • 作者:
    Walid Taha;Patricia Johann
  • 通讯作者:
    Patricia Johann
On proving the correctness of program transformations based on free theorems for higher-order polymorphic calculi
证明高阶多态演算中基于自由定理的程序变换的正确性

Patricia Johann的其他文献

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

{{ truncateString('Patricia Johann', 18)}}的其他基金

SHF:Small:RUI: Semantic Complexity of Advanced Data Types
SHF:Small:RUI:高级数据类型的语义复杂性
  • 批准号:
    1906388
  • 财政年份:
    2019
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Standard Grant
SHF: Small: RUI: New Foundations for Indexed Programming
SHF:小型:RUI:索引编程的新基础
  • 批准号:
    1713389
  • 财政年份:
    2017
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Standard Grant
SHF: Small: Relational Parametricity for Program Verification
SHF:小:程序验证的关系参数
  • 批准号:
    1420175
  • 财政年份:
    2014
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Standard Grant
Categorical Foundations for Indexed Programming
索引编程的分类基础
  • 批准号:
    EP/G068917/1
  • 财政年份:
    2010
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Research Grant
RUI:Initial Algebra Packages for GADTs: Principled Tools for Structured Programming
RUI:GADT 的初始代数包:结构化编程的原则工具
  • 批准号:
    0700341
  • 财政年份:
    2007
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Standard Grant
RUI: Provable Safety for Performance-Improving Free Theorems-Based Program Transformations
RUI:可证明安全性,可提高性能的基于自由定理的程序转换
  • 批准号:
    0429072
  • 财政年份:
    2004
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Continuing Grant
RUI: Testing and Enhancing a Prototype Program Fusion Engine
RUI:测试和增强原型程序融合引擎
  • 批准号:
    0296006
  • 财政年份:
    2001
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Standard Grant
RUI: Testing and Enhancing a Prototype Program Fusion Engine
RUI:测试和增强原型程序融合引擎
  • 批准号:
    9900510
  • 财政年份:
    1999
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Standard Grant
Mathematical Sciences: Toward a Theory of Well-Founded Orderings for Use in Automated Deduction
数学科学:走向一种用于自动演绎的有根据的排序理论
  • 批准号:
    9696043
  • 财政年份:
    1995
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Standard Grant
Mathematical Sciences: Toward a Theory of Well-Founded Orderings for Use in Automated Deduction
数学科学:走向一种用于自动演绎的有根据的排序理论
  • 批准号:
    9510164
  • 财政年份:
    1995
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Standard Grant

相似国自然基金

基于小增益理论的物联网聚合计算鲁棒稳定性分析
  • 批准号:
    62303112
  • 批准年份:
    2023
  • 资助金额:
    30 万元
  • 项目类别:
    青年科学基金项目
基于鲁棒广义短路比的高比例新能源电力系统数据驱动随机小干扰稳定性分析
  • 批准号:
  • 批准年份:
    2020
  • 资助金额:
    24 万元
  • 项目类别:
    青年科学基金项目
Ibrutinib下调MDSCs逆转PD-1抗体治疗晚期非小细胞肺癌耐药的机制探究
  • 批准号:
    81702268
  • 批准年份:
    2017
  • 资助金额:
    20.0 万元
  • 项目类别:
    青年科学基金项目
基于小波-卡尔曼滤波的二维离散随机系统鲁棒H∞控制
  • 批准号:
    61603034
  • 批准年份:
    2016
  • 资助金额:
    20.0 万元
  • 项目类别:
    青年科学基金项目
密集无线网络分布式和鲁棒性传输理论与方法
  • 批准号:
    61571107
  • 批准年份:
    2015
  • 资助金额:
    57.0 万元
  • 项目类别:
    面上项目

相似海外基金

Collaborative Research: SHF: Small: RUI: CMOS+X: Honey-ReRAM Enabled 3D Neuromorphic Accelerator
合作研究:SHF:小型:RUI:CMOS X:Honey-ReRAM 支持的 3D 神经形态加速器
  • 批准号:
    2247343
  • 财政年份:
    2023
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: RUI: CMOS+X: Honey-ReRAM Enabled 3D Neuromorphic Accelerator
合作研究:SHF:小型:RUI:CMOS X:Honey-ReRAM 支持的 3D 神经形态加速器
  • 批准号:
    2247342
  • 财政年份:
    2023
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: RUI: Keystone: Modular Concurrent Software Verification
协作研究:SHF:小型:RUI:Keystone:模块化并发软件验证
  • 批准号:
    2243636
  • 财政年份:
    2023
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: RUI: Keystone: Modular Concurrent Software Verification
协作研究:SHF:小型:RUI:Keystone:模块化并发软件验证
  • 批准号:
    2243637
  • 财政年份:
    2023
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Standard Grant
Collaborative Research: SHF: Small: RUI: Context-aware Models of Source Code Summarization
协作研究:SHF:小型:RUI:源代码摘要的上下文感知模型
  • 批准号:
    2100050
  • 财政年份:
    2021
  • 资助金额:
    $ 61.31万
  • 项目类别:
    Standard Grant
{{ showInfoDetail.title }}

作者:{{ showInfoDetail.author }}

知道了