Solving Systems of Set Constraints using Tree Automata

A set constraint is of the form exp1\(\subseteq\)exp2 where exp1 and exp2 are set expressions constructed using variables, function symbols, and the set union, intersection and complement symbols. An algorithm for solving such systems of set constraints was proposed by Aiken and Wimmers [1]. We present a new algorithm for solving this problem. Indeed, we define a new class of tree automata called Tree Set Automata. We prove that, given a system of set constraints, we can associate a tree set automaton such that the set of tuples of tree languages recognized by this automaton is the set of tuples of solutions of the system. We also prove the converse property. Furthermore, if the system has a solution, we prove, in a constructive way, that there is a regular solution (i.e. a tuple of regular tree languages) and a minimal solution and a maximal solution which are actually regular.

[1]  M. Rabin Decidability of second-order theories and automata on infinite trees. , 1969 .

[2]  Joxan Jaffar,et al.  A decision procedure for a class of set constraints , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[3]  John C. Reynolds,et al.  Automatic computation of data set definitions , 1968, IFIP Congress.

[4]  Joxan Jaffar,et al.  A finite presentation theorem for approximating logic programs , 1989, POPL '90.

[5]  Neil D. Jones,et al.  Flow analysis and optimization of LISP-like structures , 1979, POPL.

[6]  Prateek Mishra,et al.  Towards a Theory of Types in Prolog , 1984, SLP.

[7]  Thom W. Frühwirth,et al.  Logic programs as types for logic programs , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[8]  Tomás E. Uribe Sorted Unification Using Set Constraints , 1992, CADE.

[9]  Alexander Aiken,et al.  Solving systems of set constraints , 1992, [1992] Proceedings of the Seventh Annual IEEE Symposium on Logic in Computer Science.

[10]  Wolfgang Thomas,et al.  Automata on Infinite Objects , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[11]  Frank van Harmelen,et al.  Extensions to the Rippling-Out Tactic for Guiding Inductive Proofs , 1990, CADE.