Abstract
The topic of set constraints is a pearl among the research topics on constraints. It combines theoretical investigations (ranging from logical expressiveness, decidability, algorithms and complexity analysis to program semantics and domain theory) with practical experiments in building systems for program analysis, addressing questions like implementation issues and scalability. The research has its direct applications in type inference, optimization and verification of imperative, functional, logic and reactive programs.
Preview
Unable to display preview. Download preview PDF.
References
W. Ackermann. Solvable Cases of the Decision Problem. North-Holland, Amsterdam, 1954.
A. Aiken. Set constraints: Results, applications and future directions. In Proceedings of the Workshop on Principles and Practice of Constraint Programming, LNCS 874, pages 326–335. Springer-Verlag, 1994.
A. Aiken, D. Kozen, M. Y. Vardi, and E. L. Wimmers. The complexity of set constraints. In 1993 Conference on Computer Science Logic, LNCS 832, pages 1–17. Springer-Verlag, Sept. 1993.
A. Aiken, D. Kozen, and E. L. Wimmers. Decidability of systems of set constraints with negative constraints. Information and Computation, 122(1):30–44, Oct. 1995.
A. Aiken and B. Murphy. Implementing regular tree expressions. In ACM Conference on Functional Programming Languages and Computer Architecture, pages 427–447, August 1991.
A. Aiken and B. Murphy. Static type inference in a dynamically typed language. In Eighteenth Annual ACM Symposium on Principles of Programming Languages, pages 279–290, January 1991.
A. Aiken and E. Wimmers. Type inclusion constraints and type inference. In Proceedings of the 1993 Conference on Functional Programming Languages and Computer Architecture, pages 31–41, Copenhagen, Denmark, June 1993.
A. Aiken and E. L. Wimmers. Solving systems of set constraints (extended abstract). In Seventh Annual IEEE Symposium on Logic in Computer Science, pages 329–340, 1992.
A. Aiken, E. L. Wimmers, and T. Lakshman. Soft typing with conditional types. In Twenty-First Annual ACM Symposium on Principles of Programming Languages, Portland, Oregon, Jan. 1994.
D. Arden. Delayed logic and finite state machines. In Proceedings of the 2nd Annual Symposium on Switching Circuit Theory and Logical Design, pages 133—151, 1961.
L. Bachmair, H. Ganzinger, and U. Waldmann. Set constraints are the monadic class. In Eighth Annual IEEE Symposium on Logic in Computer Science, pages 75–83,1993.
C. Beeri, S. Nagvi, O. Schmueli, and S. Tsur. Set constructors in a logic database language. The Journal of Logic Programming, pages 181–232, 1991.
S. K. Biswas. A demand-driven set-based analysis. In The 24th ACM Symposium on Principles of Programming Languages POPL '97, pages 372–385, Paris, France, January 1997.
B. Bogaert and S. Tison. Automata with equality tests. Technical Report IT 207, Laboratoire d'Informatique Fondamentale de Lille, 1991.
P. Bruscoli, A. Dovier, E. Pontelli, and G. Rossi. Compiling intensional sets in CLP. In Proceedings of the International Conference on Logic Programming, pages 647–661. The MIT Press, 1994.
J. Brzozowski and E. Leiss. On equations for regular languages, finite automata, and sequential networks. Theorical Computer Science, 10:19–35, 1980.
W. Charatonik. Set constraints in some equational theories. In 1st International Conference Constraints in Computational Logics, LNCS 845, pages 304–319. Springer-Verlag, 1994. Also to appear in Information and Computation.
W. Charatonik. Set constraints in some equational theories. PhD thesis, Polish Academy of Sciences, 1995.
W. Charatonik and L. Pacholski. Negative set constraints with equality. In Ninth Annual IEEE Symposium on Logic in Computer Science, pages 128–136, 1994.
W. Charatonik and L. Pacholski. Set constraints with projections are in NEXPTIME. In Proceedings of the 35 th Symposium on Foundations of Computer Science, pages 642–653, 1994.
W. Charatonik and L. Pacholski. Negative set constraints: an easy proof of decidability. Technical Report MPI-I-93-265, Max-Planck Institute für Informatik, December 1993.
W. Charatonik and A. Podelski. The independence property of a class of set constraints. In Conference on Principles and Practice of Constraint Programming, LNCS 1118, pages 76–90. Springer-Verlag, 1996.
W. Charatonik and A. Podelski. Set constraints for greatest models. Technical Report MPI-I-97-2-004, Max-Planck-Institut fiir Informatik, April 1997. http://www.mpi-sb.mpg.de/-podelski/papers/greatest.html.
W. Charatonik and A. Podelski. Set constraints with intersection. In G. Winskel, editor, Twelfth Annual IEEE Symposium on Logic in Computer Science (LICS), pages 362–372. IEEE, June 1997.
A. Cheng and D. Kozen. A complete Gentzen-style axiomatization for set constraints. In ICALP: Annual International Colloquium on Automata, Languages and Programming, LNCS 1099, 1996.
P. Cousot and R. Cousot. Inductive definitions, semantics and abstract interpretation. In Proc. POPL '92, pages 83–94. ACM Press, 1992.
P. Cousot and R. Cousot. Formal language, grammar and set-constraint-based program analysis by abstract interpretation. In Record of FPCA '95-Conference on Functional Programming and Computer Architecture, pages 170–181, La Jolla, California, USA, 25–28 June 1995. SIGPLAN/SIGARCH/WG2.8, ACM Press, New York, USA.
P. W. Dart and J. Zobel. A regular type language for logic programs, chapter 5, pages 157–188. MIT Press, 1992.
P. Devienne, J.-M. Talbot, and S. Tison. Solving classes of set constraints with tree automata. In G. Smolka, editor, Proceedings of the Third International Conference on Principles and Practice of Constraint Programming — CP97, LNCS, Berlin, Germany, October 1997. Springer-Verlag. To appear.
A. Dovier. Computable Set Theory and Logic Programming. PhD thesis, Dipartimento di Informatica, Universitá di Pisa, 1996.
A. Dovier and G. Rossi. Embedding Extensional Finite Sets in CLP. In International Logic Programming Symposium, 1993.
M. Fiihndrich and A. Aiken. Making set-constraint based program analyses scale. Computer Science Division Tech Report 96-917, Computer Science Division, University of California at Berkeley, September 1996. Also presented at the Workshop on Set Constraints, Cambridge MA, August 1996.
J. S. Foster. CLP(SC): Implementation and efficiency considerations. workshop on set constraints. Available at http://http.cs.berkeley.edu/~jfoster/. Presented at the Workshop on Set Constraints, Cambridge MA, August 1996, August 1996.
J. S. Foster, M. Fähndrich, and A. Aiken. Flow-insensitive points-to analysis with term and set constraints. Computer Science Division Tech Report 97-964,, University of California at Berkeley, September 1997. Also presented at the Workshop on Set Constraints, Cambridge MA, August 1996
T. Frühwirth, E. Shapiro, M. Y. Vardi, and E. Yardeni. Logic programs as types for logic programs. In Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300–309, July 1991.
J. P. Gallagher, D. Boulanger, and H. Saglam. Practical model-based static analysis for definite logic programs. In Proceedings of the 1995 International Symposium on Logic Programming, pages 351–368.
J. P. Gallagher and L. Lafave. Regular approximation of computation paths in logic and functional languages. In Proceedings of the Dagstuhl Workshop on Partial Evaluation, pages 1–16. Springer-Verlag, February 1996.
K. L. S. Gasser, F. Nielson, and H. R. Nielson. Systematic realisation of control flow analyses for CML. In Proceedings of ICFP'97, pages 38–51. ACM Press, 1997.
F. Gécseg and M. Steinby. Tree Automata. Akademiai Kiado, Budapest, 1984.
C. Gervet. Conjunto: Constraint logic programming with finite set domains. In M. Bruynooghe, editor, Proceedings of the International Logic Programming Symposium, pages 339–358, 1994.
C. Gervet. Set Intervals in Constraint-Logic Programming: Definition and Implementation of a Language. PhD thesis, Université de Franche-Compté, 1995. European Thesis.
C. Gervet. Interval Propagation to Reason about Sets: Definition and Implementation of a Practical Language. Constraints, l(2), 1997.
R. Gilleron, S. Tison, and M. Tommasi. Solving systems of set constraints using tree automata. In 10th Annual Symposium on Theoretical Aspects of Computer Science, LNCS 665, pages 505–514. Springer-Verlag, 1993.
R. Gilleron, S. Tison, and M. Tommasi. Solving systems of set constraints with negated subset relationships. In Proceedings of the 34th Symp. on Foundations of Computer Science, pages 372–380, 1993. Full version in [45].
R. Gilleron, S. Tison, and M. Tommasi. Solving systems of set constraints with negated subset relationships. Technical Report IT 247, Laboratoire d'Informatique Fondamentale de Lille, 1993.
R. Gilleron, S. Tison, and M. Tommasi. Set constraints and automata. Technical Report IT 292, Laboratoire d'Informatique Fondamentale de Lille, 1996.
R. Gilleron, S. Tison, and M. Tommassi. Some new decidability results on positive and negative set constraints. In 1st International Conference Constraints in Computational Logics, LNCS 845, pages 336–351. Springer-Verlag, 1994.
N. Heintze. Set based program analysis. PhD thesis, School of Computer Science, Carnegie Mellon University, 1992.
N. Heintze. Set based analysis of arithmetic. Draft manuscript, July 1993.
N. Heintze. Set based analysis of ML programs. Technical Report CMU-CS-93193, School of Computer Science, Carnegie Mellon University, July 1993.
N. Heintze. Set based analysis of ML programs. In Conference on Lisp and Functional Programming, pages 306–317. ACM, 1994. Preliminary version in [50].
N. Heintze and J. Jaffar. A decision procedure for a class of set constraints (extended abstract). In Fifth Annual IEEE Symposium on Logic in Computer Science, pages 42–51, 1990.
N. Heintze and J. Jaffar. A finite presentation theorem for approximating logic programs. In Seventeenth Annual ACM Symposium on Principles of Programming Languages, pages 197–209, January 1990.
N. Heintze and J. Jaffar. A finite presentation theorem for approximating logic programs. Technical report, School of Computer Science, Carnegie Mellon University, Aug. 1990. 66 pages.
N. Heintze and J. Jaffar. An engine for logic program analysis. In Proceedings, Seventh Annual IEEE Symposium on Logic in Computer Science, pages 318–328, 1992.
N. Heintze and J. Jaffar. Semantic Types for Logic Programs, chapter 4, pages 141–156. MIT Press, 1992.
N. Heintze and D. McAllester. Linear-time subtransitive control-flow analysis. In ACM Conference on Programming Language Design and Implementation, 1997. To appear.
N. Heintze and D. McAllester. On the cubic bottleneck in subtyping and flow analysis. In G. Winskel, editor, Twelfth Annual IEEE Symposium on Logic in Computer Science (LICS), pages 342–351. IEEE, June 1997.
ILOG. ILOG SOLVER 3.2 user manual.www.ilog.com.
N. D. Jones and S. S. Muchnick. Flow analysis and optimization of lisp-like structures. In Sixth Annual ACM Symposium on Principles of Programming Languages, pages 244–256, January 1979.
W. Joyner. Resolution strategies as decision procedures. Journal of the Association for Computing Machinery, 23(3):398–417, 1979.
D. Kozen. Logical aspects of set constraints. In 1993 Conference on Computer Science Logic, LNCS 832, pages 175–188. Springer-Verlag, Sept. 1993.
D. Kozen. Set constraints and logic programming (abstract). In 1st International Conference Constraints in Computational Logics, LNCS 845. Springer-Verlag, 1994. Also to appear in Information and Computation.
D. Kozen. Rational spaces and set constraints. In TAPSOFT: 6th International Joint Conference on Theory and Practice of Software Development, LNCS 915, pages 42–61. Springer-Verlag, 1995.
D. Kozen. Rational spaces and set constraints. Theoretical Computer Science, 167(1-2):73–94, October 1996.
G. Kuper. Logic programming with sets. New York, NY, 1990. Academic Press.
B. Legeard and E. Legros. Short Overview of the CLPS System. 1991.
L. Löwenheim. Über Möglichkeiten im Relativkalkül. Mathematische Annalen, 76:228–251, 1915.
D. McAllester and N. Heintze. On the complexity of set-based analysis. www.ai.mit.edu/people/dam/setbased.ps.
D. A. McAllester, R. Givan, C. Witty, and D. Kozen. Tarskian set constraints. In Proceedings, 11 th Annual IEEE Symposium on Logic in Computer Science, pages 138–147, New Brunswick, New Jersey, July 1996. IEEE Computer Society Press.
P. Mishra. Towards a theory of types in Prolog. In IEEE International Symposium on Logic Programming, pages 289–298, 1984.
P. Mishra and U. Reddy. Declaration-free type checking. In Twelfth Annual ACM Symposium on the Principles of Programming Languages pages 7–21, 1985.
M. Müller. Type Analysis for a Higher-Order Concurrent Constraint Language. PhD thesis, Universität des Saarlandes, Technische Fakultät, 66041 Saarbrücken, Germany, expected 1997.
M. Müller, J. Niehren, and A. Podelski. Inclusion constraints over non-empty sets of trees. In M. Bidoit and M. Dauchet, editors, Proceedings of the 9th International Joint Conference on Theory and Practice of Software Development (TAPSOFT), volume 1214 of LNCS, pages 345–356, Berlin, April 1997. Springer-Verlag.
M. Müller, J. Niehren, and A. Podelski. Ordering constraints over feature trees. In G. Smolka, editor, Proceedings of the Third International Conference on Principles and Practice of Constraint Programming — CP97, LNCS, Berlin, Germany, October 1997. Springer-Verlag. To appear.
T. Müller and M. Müller. Finite set constraints in Oz. In 13. Workshop Logische Programmierung, Technische Universität München, September 1997. to appear.
M. Nivat and A. Podelski. Tree Automata and Languages. North-Holland, Amsterdam, 1992.
J. Palsberg and O'Keefe. A type system equivalent to flow analysis. In Symposium of Principles of Programming Languages, pages 367–378. ACM, 1995.
J. Palsberg and M. Schwartzbach. Safety analysis versus type inference. Information and Computation, 118(1):128–141, April 1995.
A. Podelski, W. Charatonik, and M. Müller. Set-based analysis of reactive infinite-state systems. Submitted for publication, 1997.
J. F. Puget. Finite Set Intervals. In Proceedings of the Second International Workshop on Set Constraints, Cambridge, Massachusetts, 1996.
J. C. Reynolds. Automatic computation of data set definitions. Information Processing, 68:456–461, 1969.
H. Seidl. Haskell overloading is DEXPTIME-complete. Information Processing Letters, 52:57–60, 1994.
F. Seynhave, M. Tommasi, and R. Treinen. Grid structures and undecidable constraint theories. In M. Bidoit and M. Dauchet, editors, Proceedings of the 9th International Joint Conference on Theory and Practice of Software Development (TAPSOFT), volume 1214 of LNCS, pages 357–368, Berlin, April 1997. Springer-Verlag.
G. Slutzki. Alternating tree automata. Theoretical Computer Science, 41:305–318, 1985.
G. Smolka. The Oz programming model. In Volume 1000 of Lecture Notes in Computer Science, 1995.
K. Stefansson. Systems of set constraints with negative constraints are NEXPTIME-complete. In Ninth Annual IEEE Symposium on Logic in Computer Science, pages 137–141, 1994.
F. Stolzenburg. Membership-constraints and complexity in logic programming with sets. In F. Baader and K. U. Schulz, editors, Frontiers in Combining Systems, pages 285–302. Kluwer Academic, Dordrecht, The Netherlands, 1996.
S. Thatte. Type inference with partial types. In 15th International Colloquium on Automata, Languages and Programming, volume 317 of LNCS, pages 615–629. Springer-Verlag, 1988.
W. Thomas. Handbook of Theoretical Computer Science, volume B, chapter Automata on Infinite Objects, pages 134–191. Elsevier, 1990.
T. E. Uribe. Sorted unification using set constraints. In 11th International Conference on Automated Deduction, LNAI 607, pages 163–177. Springer-Verlag, 1992.
M. Y. Vardi. An automata-theoretic approach to linear-temporal logic. In Logics for Concurrency: Structure versus Automata. LNCS, 1043:238–266, 1996.
M. Y. Vardi and P. Wolper. Automata-theoretic techniques for modal logics of programs. J. Comput. Syst. Sci., 32, 1986.
C. Walinsky. CLP(ΣE *): Constraint Logic Programming with Regular Sets. In Proceedings of the International Conference on Logic Programming, pages 181–190, 1989.
E. Yardeni,, T. Frühwirth, and E. Shapiro. Polymorphically typed logic programs, chapter 2, pages 157–188. MIT Press, 1992.
E. Yardeni. A type system for logic programs. Master's thesis, Weizmann Institute of Science, 1987.
E. Yardeni and E. Shapiro. A type system for logic programs, volume 2, chapter 28, pages 211–244. The MIT Press, 1987.
E. Yardeni and E. Shapiro. A type system for logic programs. Journal of Logic Programming, 10:125–153, 1991. Preliminary version in [97].
J. Young and P. O'Keefe. Experience with a type evaluator. In D. Bjørner, A. P. Ershov, and N. D. Jones, editors, Partial Evaluation and Mixed Computation, pages 573–581. North-Holland, 1988.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Pacholski, L., Podelski, A. (1997). Set constraints: A pearl in research on constraints. In: Smolka, G. (eds) Principles and Practice of Constraint Programming-CP97. CP 1997. Lecture Notes in Computer Science, vol 1330. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017466
Download citation
DOI: https://doi.org/10.1007/BFb0017466
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63753-0
Online ISBN: 978-3-540-69642-1
eBook Packages: Springer Book Archive