Higher-Order and Symbolic Computation

, Volume 14, Issue 4, pp 387–409

From Syntactic Theories to Interpreters: Automating the Proof of Unique Decomposition


  • Yong Xiao
    • Department of Computer and Information ScienceUniversity of Oregon
  • Amr Sabry
    • Computer Science DepartmentIndiana University
  • Zena M. Ariola
    • Department of Computer and Information ScienceUniversity of Oregon

DOI: 10.1023/A:1014408032446

Cite this article as:
Xiao, Y., Sabry, A. & Ariola, Z.M. Higher-Order and Symbolic Computation (2001) 14: 387. doi:10.1023/A:1014408032446


Developing syntactic theories for reasoning about programming languages usually involves proving a unique-decomposition lemma. The proof of such a lemma is tedious, error-prone, and is usually attempted many times during the design of a theory. We therefore investigate the automation of such proofs.

We map the unique-decomposition lemma to the problems of checking equivalence and ambiguity of syntactic definitions. Because checking these properties of context-free grammars is undecidable, we work with regular tree grammars and use algorithms on finite tree automata to perform the checking. To make up for the insufficient expressiveness of regular tree grammars, we extend the basic framework with built-in types and constants, contexts, and polymorphic types.

Our implementation extends an earlier system by Xiao et al. [16] that translates semantic specifications expressed as syntactic theories to interpreters. We have successfully used the combined system to generate interpreters and verify the unique-decomposition lemma for a number of examples.

syntactic theoriesinterpretersproof automationregular tree grammarsfinite tree automata

Copyright information

© Kluwer Academic Publishers 2001