Papers for

compiler developers

Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.

Programmable tool helps build and improve compiler rewrite rules

Equality saturation theory exploration `a la carte

Abstract: Rewrite rules are critical in equality saturation, an increasingly popular technique in optimizing compilers, synthesizers, and verifiers. Unfortunately, developing high-quality rulesets is difficult and error-prone. Recent work to automatically infer rewrite rules does not scale to large terms or grammars. Users struggle to guide inference and incrementally construct rulesets because existing rule inference tools are monolithic and opaque. As a result, most equality saturation users still manually develop and maintain rulesets. This paper proposes Enumo, a new domain-specific language for programmable theory exploration. Enumo provides a small set of core operators that enable users to strategically guide rule inference and incrementally build rulesets. Short Enumo programs easily replicate results from state-of-the-art tools like Ruler, but Enumo programs can also scale to infer deeper rules from larger grammars than prior approaches. Enumo's composable operators even facilitate developing new strategies for ruleset inference. We introduce a new fast-forwarding strategy which does not require evaluating terms in the target language, and thus supports domains that were out of scope for prior work. Enumo is also easy to extend: two new operators suffice to incorporate large language models into rule inference, where they complement guided search. We evaluate Enumo and fast-forwarding across a variety of domains. Compared to state-of-the-art techniques, Enumo can synthesize better rulesets over a diverse set of domains, in some cases matching the effects of manually developed rulesets in systems driven by equality saturation.

Sun 13 SeptProgramming Languages
The gist
Making computers run programs faster or prove program properties often needs rules to rewrite code in smarter ways, but creating these rules is hard. The authors designed Enumo, a new language that helps users write and improve these rules step by step, combining automated help and human guidance. Enumo can handle more complex rules and bigger programming languages than older tools, even using large language models to assist. Their approach can produce rules as good as ones made by hand in some cases and works faster without checking code outcomes directly.
Open 2609.14527v1

Limits on state increase when changing nondeterministic to deterministic automata

On 2DFA simulation of 1NFA: A Quadratic Limitation to a New Lower-Bound Method

Abstract: A recent result by the present authors established a quadratic lower bound, in the worst case, for the increase in the number of states when a one-way nondeterministic finite automaton is converted to a two-way deterministic finite automaton. Although this simply matched a well-known pre-existing quadratic lower bound by Chrobak, it used a distinct proof method. We show that, much like Chrobak's, this new method is also unable to deliver any lower bound strictly greater than quadratic.

Sat 12 SeptFormal Languages and Automata Theory
The gist
The paper looks at how complicated a machine must get when turning a type of computing machine that can guess (nondeterministic) into one that works in a fixed way (deterministic). The authors confirmed an earlier finding that in the worst case, the new machine must have about the square of the original machine’s number of parts. They also showed that their new method can’t prove any bigger jump than this. This means if you want to prove bigger jumps, a different approach will be needed.
Open 2609.13793v1

Type theory advances ensure safe erasure with identity and quotients

Erased Postulates, Identity Types and Quotients

Abstract: This text is concerned with the question of whether, in type theory with erasure annotations, one can postulate that some type is inhabited and still have a guarantee that a program will not get stuck. Previous work has provided such guarantees for consistent erased postulates, i.e. postulates that are restricted to be used in erased contexts. Here those guarantees are extended to type theory with identity types. Similar ideas provide a simple way to support quotient types: it is shown that one can let things like "the equivalence classes for two related values are equal" be erased postulates and have an eliminator that only computes for the equivalence class constructor, and still get a guarantee that programs will compute correctly. Another question is whether programs compute correctly if one is allowed to transport (cast) using erased identity proofs. It is shown that this is safe in the absence of quotients and postulates, and in the presence of quotients and erased postulates that can be implemented using equality reflection. However, unrestricted transports of this kind are not compatible with erased, postulated univalence. For that reason the text includes a study of the function []-cong, which encapsulates a limited form of transport for erased identity proofs. The text is accompanied by machine-checked Agda proofs.

Tue 8 SeptProgramming LanguagesLogic in Computer Science
The gist
When programmers use type theory to write programs, they sometimes assume certain facts without giving explicit evidence, called postulates. The authors study how to safely erase these assumptions in the final program without causing it to get stuck or stop working. They show it is safe to do this even when working with concepts that identify things as equal (identity types) and when grouping things into classes (quotients). They also explore limits on safely transporting values using these erased proofs and provide formal machine-checked proofs to back their results.
Open 2609.08578v1

Proved no middle context-free language always exists between others

Solution to Bucher's density problem for context-free languages

Abstract: In 1980 Bucher asked whether, given context-free languages $L\subseteq U$ with $U\setminus L$ infinite, there must be a context-free language $K$ between them for which both $K\setminus L$ and $U\setminus K$ are infinite. We give a negative answer. We first construct an infinite language $D$ with context-free complement such that, for every regular language $R$, either $D\cap R$ or $D\setminus R$ is finite. The words of $D$ encode computations of factorials; repetition of letters ensures that each finite automaton either accepts all but finitely many words of $D$ or rejects all but finitely many words of $D$, while a one-counter automaton recognizes errors in the encodings. We then construct $L$ and $U$ from the complement of $D$. A grammar argument shows that any context-free intermediate language $K$ would divide $D$ in the same way as some regular language. This proves the required impossibility. Both $L$ and $U$ can be taken over a binary alphabet.

Tue 8 SeptFormal Languages and Automata Theory
The gist
The authors answered a long-standing question about special sets of words called context-free languages. They asked if, given two such sets that differ infinitely, there must always be a middle set remaining context-free and still infinite on both sides. They showed this is not always true by cleverly creating a special language that breaks this pattern. Their finding helps clarify how complex the families of these word sets can be.
Open 2609.08571v1

New method controls complexity in finite graph expression proofs

Width-Bounded Equational Derivations for Finite Graph Expressions

Abstract: Completeness of an equational presentation guarantees an equality path but need not control the resources used along it. For finite graph expressions we measure derivational space by the largest input-output interface of an intermediate raw term. For every finite doubly ranked edge alphabet $Σ$, we prove that equal closed expressions of pattern width at most $k$ are joined by a derivation in which every step applies an equation in either direction and every intermediate width is at most a computable $B_Σ(k)$, independently of graph size. The derivation uses only the structural magmoid laws and the fifteen finite-graphoid schemes. The construction compiles each expression through protected cores and finite routing windows to an encoding-canonical representative $\operatorname{NF}_k$ of width at most $4k+4$. We call this property bounded equational coherence. We also prove $\operatorname{bw}(F)\le\operatorname{patw}(F)\le4(\operatorname{tw}(F)+1)$ whenever the underlying simple graph has at least two edges, separate layered linear from branching expressions on cliques, and provide machine-checkable witnesses and finite invariants for the first five nontrivial clique values.

Tue 8 SeptLogic in Computer Science
The gist
When proving that two expressions representing graphs are equal, it's important to track how complicated the steps between them get. The authors have found a way to measure and limit this complexity by controlling the size of intermediate parts during the proof process. They show that for certain graph expressions, there is always a way to prove equality without the complexity growing uncontrollably, regardless of the overall graph size. This helps keep the proof process more manageable and predictable.
Open 2609.08325v1