English

Version Space Algebras are Acyclic Tree Automata

Programming Languages 2021-07-28 v1

Abstract

Version space algebras are ways of representing spaces of programs which can be combined using union, intersection, and cross-product/``join" operators. In their reified form as ASTs with explicit union and join nodes, they have the ability to compactly represent exponentially-large spaces of programs, owing to which they have become become the most popular approach to enumerative program synthesis since the introduction of FlashFill in 2010. We present a linear-time semantics-preserving constructive embedding from version space algebras into nondeterministic finite tree automata, showing that the former are but a special case of the latter. Combined with recent results finding a correspondence between e-graphs and minimal deterministic tree automata, this shows that tree automata are strict generalizations of all recent major approaches to efficiently representing large spaces of programs by sharing.

Keywords

Cite

@article{arxiv.2107.12568,
  title  = {Version Space Algebras are Acyclic Tree Automata},
  author = {James Koppel},
  journal= {arXiv preprint arXiv:2107.12568},
  year   = {2021}
}
R2 v1 2026-06-24T04:32:57.158Z