• 学术搜索
  • 科研智能体
    • Research Labs
    • AI 阅读
    • AI 文库
    • 深度研究
    • 学者亮点
  • 学术资源
    • AI2000
    • 期刊/会议
    • 学者库
    • 学术API
      MCP&Skill
    • 溯源树
    • 数据集
  • 知识沉淀
    • 学术空间
订阅小程序
旧版功能
aminer vip
开通会员低至0.73元/天
一次搞定AI科研
立即登录
  • English
  • 联系方式
    Mathematics of Program Construction

    Mathematics of Program Construction

    Conference

    年发文量

    研究主题

    论文(1598)

    排序
    1Fantastic Morphisms and Where to Find Them
    Zhixuan Yang,Nicolas Wu

    Structured recursion schemes have been widely used in constructing, optimizing, and reasoning about programs over inductive and coinductive datatypes. Their plain forms, catamorphisms and anamorphisms, are restricted in expressivity. Thus many generalizations have been proposed, which further led to several unifying frameworks of structured recursion schemes. However, the existing work on unifying frameworks typically focuses on the categorical foundation, and thus is perhaps inaccessible to practitioners who are willing to apply recursion schemes in practice but are not versed in category theory. To fill this gap, this expository paper introduces structured recursion schemes from a practical point of view: a variety of recursion schemes are motivated and explained in contexts of concrete programming examples. The categorical duals of these recursion schemes are also explained.

    2022
    引用
    AI阅读
    加入学术空间
    2Flexibly Graded Monads and Graded Algebras
    Dylan McDermott,Tarmo Uustalu

    When modelling side-effects using a monad, we need to equip the monad with effectful operations. This can be done by not-ing that each algebra of the monad carries interpretations of the desired operations. We consider the analogous situation for graded monads, which are a generalization of monads that enable us to track quantitative information about side-effects. Grading makes a significant difference: while many graded monads of interest can be equipped with similar operations, the algebras often cannot. We explain where these operations come from for graded monads. To do this, we introduce the notion of flexibly graded monad, for which the situation is similar to the situation for ordinary monads. We then show that each flexibly graded monad induces a canonical graded monad in such a way that operations for the flexibly graded monad carry over to the graded monad. In doing this, we reformulate grading in terms of locally graded categories, showing in particular that graded monads are a particular kind of relative monad. We propose that locally graded categories are a useful setting for work on grading in general.

    2022引用:18
    引用
    AI阅读
    加入学术空间
    3Calculating Datastructures
    Ralf Hinze,Wouter Swierstra

    Where do datastructures come from? This paper explores how to systematically derive implementations of one-sided flexible arrays from a simple reference implementation. Using the dependently typed programming language Agda, each calculation constructs an isomorphic—yet more efficient—datastructure using only a handful of laws relating types and arithmetic. Although these calculations do not generally produce novel datastructures they do give insight into how certain datastructures arise and how different implementations are related.

    2022
    引用
    AI阅读
    加入学术空间
    4Subtyping Without Reduction
    Brandon Hewer,Graham Hutton

    Subtypes are useful and ubiquitous, allowing important properties of data to be captured directly in types. However, the standard encoding of subtypes gives no control over when the reduction of subtyping proofs takes place, which can significantly impact the performance of type-checking. In this article, we show how operations on a subtype can be represented in a more efficient manner that exhibits no reduction behaviour. We present the general form of the technique in Cubical Agda by exploiting its support by higher-inductive types, and demonstrate the practical use of the technique with a number of examples.

    2022
    引用
    AI阅读
    加入学术空间
    5Towards a Practical Library for Monadic Equational Reasoning in Coq
    Ayumu Saito,Reynald Affeldt

    Functional programs with side effects represented by monads are amenable to equational reasoning. This approach to program verification has been experimented several times using proof assistants based on dependent type theory. These experiments have been performed independently but reveal similar technicalities such as how to build a hierarchy of interfaces and how to deal with non-structural recursion. As an effort towards the construction of a reusable framework for monadic equational reasoning, we report on several practical improvements of Monae, a Coq library for monadic equational reasoning. First, we reimplement the hierarchy of effects of Monae using a generic tool to build hierarchies of mathematical structures. This refactoring allows for easy extensions with new monad constructs. Second, we discuss a well-known but recurring technical difficulty due to the shallow embedding of monadic programs. Concretely, it often happens that the return type of monadic functions is not informative enough to complete formal proofs, in particular termination proofs. We explain library support to facilitate this kind of proof using standard Coq tools. Third, we augment Monae with an improved theory about nondeterministic permutations so that our technical contributions allow for a complete formalization of quicksort derivations by Mu and Chiang.

    2022引用:2
    引用
    AI阅读
    加入学术空间
    立即登录,查看全部 1598 篇论文

    高被引作者

    作者引用发文
    Greg Nelson12361
    Ralf Hinze39010
    Richard Bird3168
    Ralph-Johan Back2724
    Jeremy Gibbons25011
    Andres Löh2405
    Lambert Meertens2282
    g sostero20610
    Richard Bornat1711
    K. Rustan M. Leino1631

    高产作者

    作者引用发文
    Jeremy Gibbons25011
    d chestnov15911
    g sostero20610
    Ralf Hinze39010
    Ian Hayes1199
    Roland C. Backhouse558
    Bernhard Moller1208
    Richard Bird3168
    Krisztián Sárneczky1157
    W. K. Y. Yeung1377

    相关期刊

    Types for Proofs and Programs
    Conference on Algebra and Coalgebra in Computer Science
    Annual Conference for Computer Science Logic
    Formal Structures for Computation and Deduction
    Foundations of Software Science and Computation Structure
    ACM/IEEE Symposium on Logic in Computer Science
    Logical and Semantic Frameworks with Applications
    Mathematical Foundations of Programming Semantics
    International Conference on Relational and Algebraic Methods in Computer Science
    Journal of formalized reasoning