English
Related papers

Related papers: Multi-Stage Programs are Generalized Arrows

200 papers

In this paper we adapt previous work on rewriting string diagrams using hypergraphs to the case where the underlying category has a traced comonoid structure, in which wires can be forked and the outputs of a morphism can be connected to…

Logic in Computer Science · Computer Science 2026-01-14 Dan R. Ghica , George Kaye

Galois connections are a foundational tool for structuring abstraction in semantics and their use lies at the heart of the theory of abstract interpretation. Yet, mechanization of Galois connections remains limited to restricted modes of…

Programming Languages · Computer Science 2016-10-27 David Darais , David Van Horn

We present a formal semantics and proof of soundness for shapes schemas, an expressive schema language for RDF graphs that is the foundation of Shape Expressions Language 2.0. It can be used to describe the vocabulary and the structure of…

Databases · Computer Science 2017-09-20 Iovka Boneva , Jose Emilio Labra Gayo , Eric G. Prud'hommeau

We present a constructive formalization of Abstract Rewriting Systems (ARS) in the Agda proof assistant, focusing on standard results in term rewriting. We define a taxonomy of concepts related to termination and confluence and investigate…

Logic in Computer Science · Computer Science 2026-03-12 Sam Arkle , Andrew Polonsky

We give a formal treatment of simple type theories, such as the simply-typed $\lambda$-calculus, using the framework of abstract clones. Abstract clones traditionally describe first-order structures, but by equipping them with additional…

Logic in Computer Science · Computer Science 2024-04-03 Nathanael Arkor , Dylan McDermott

Complex automated proof strategies are often difficult to extract, visualise, modify, and debug. Traditional tactic languages, often based on stack-based goal propagation, make it easy to write proofs that obscure the flow of goals between…

Logic in Computer Science · Computer Science 2014-06-13 Gudmund Grov , Aleks Kissinger , Yuhui Lin

We introduce the AutoGRAMS framework for programming multi-step interactions with language models. AutoGRAMS represents AI agents as a graph, where each node can execute either a language modeling instruction or traditional code. Likewise,…

Computation and Language · Computer Science 2024-07-16 Ben Krause , Lucia Chen , Emmanuel Kahembwe

Large pre-trained language models perform remarkably well on tasks that can be done "in one pass", such as generating realistic text or synthesizing computer programs. However, they struggle with tasks that require unbounded multi-step…

Category theory is the language of homological algebra, allowing us to state broadly applicable theorems and results without needing to specify the details for every instance of analogous objects. However, authors often stray from the realm…

General Mathematics · Mathematics 2025-02-04 Skyler Marks

We give an exposition of the semantics of the simply-typed lambda-calculus, and its linear and ordered variants, using multi-ary structures. We define universal properties for multicategories, and use these to derive familiar rules for…

Logic in Computer Science · Computer Science 2024-05-06 Philip Saville

We define a monoidal semantics for algebraic theories. The basis for the definition is provided by the analysis of the structural rules in the term calculus of algebraic languages. Models are described both explicitly, in a form that…

Logic · Mathematics 2017-05-26 Luca Mauri

Tabular language models can generate synthetic tables by modeling rows as token sequences, but they are typically trained once with supervised fine-tuning and then used as static synthesizers. This is limiting because next-token likelihood…

Machine Learning · Computer Science 2026-05-19 Yunbo Long , Tejumade Afonja , Guangya Hao , Alexandra Brintrup , Mario Fritz

Program reductions are used widely to simplify reasoning about the correctness of concurrent and distributed programs. In this paper, we propose a general approach to proof simplification of concurrent programs based on exploring generic…

Programming Languages · Computer Science 2019-11-01 Azadeh Farzan , Anthony Vandikas

This paper is a contribution to the search for efficient and high-level mathematical tools to specify and reason about (abstract) programming languages or calculi. Generalising the reduction monads of Ahrens et al., we introduce transition…

Programming Languages · Computer Science 2023-06-22 André Hirschowitz , Tom Hirschowitz , Ambroise Lafont

This paper describes a semantics for pure Prolog programs with negation that provides meaning to metaprograms. Metaprograms are programs that construct and use data structures as programs. In Prolog a primary mataprogramming construct is…

Programming Languages · Computer Science 2024-08-15 David S. Warren

We revisit the static dependency pair method for proving termination of higher-order term rewriting and extend it in a number of ways: (1) We introduce a new rewrite formalism designed for general applicability in termination proving of…

Logic in Computer Science · Computer Science 2019-04-08 Carsten Fuhs , Cynthia Kop

Originally introduced in the context of the algebraic approach to term graph rewriting, the notion of gs-monoidal category has surfaced a few times under different monikers in the last decades. They can be thought of as symmetric monoidal…

Logic in Computer Science · Computer Science 2023-10-02 Tobias Fritz , Fabio Gadducci , Davide Trotta , Andrea Corradini

The calculus of Dependent Object Types (DOT) has enabled a more principled and robust implementation of Scala, but its support for type-level computation has proven insufficient. As a remedy, we propose $F^\omega_{..}$, a rigorous…

Programming Languages · Computer Science 2021-07-06 Sandro Stucki , Paolo G. Giarrusso

We introduce and investigate the concept of Stratified Algebra, a new algebraic framework equipped with a layer-based structure on a vector space. We formalize a set of axioms governing intra-layer and inter-layer interactions, study their…

General Mathematics · Mathematics 2025-05-27 Stanislav Semenov

Array programming languages allow for concise and generic formulations of numerical algorithms, thereby providing a huge potential for program optimisation such as fusion, parallelisation, etc. One of the restrictions that these languages…

Programming Languages · Computer Science 2017-10-12 Artjoms Sinkarovs , Sven-Bodo Scholz