A Theory of Second-Order Trees
This report describes a theory of second-order trees, that is, finite and infinite trees where nodes of the tree can bind variables that appear further down in the tree. Such trees can be used to provide a natural and intuitive interpretation for type systems with equirecursive types and binding constructs like universal and existential quantifiers. The report defines the set of binding trees, and a subset of these called regular binding trees. These are similar to the usual notion of regular trees, but generalized to take into account the binding structure. Then the report shows how to interpret a second-order type system with recursive quantifiers as binding trees, and gives a sound and complete axiomatisation of when two types map to the same tree. Finally the report gives a finite representation for trees called tree automata, and gives a construction for deciding when two automata map to the same tree. To tie everything together, the report defines a mapping from types to automata, thus giving a decision procedure for when two types map to the same tree.
computer science; technical report
Previously Published As