An Implementation of (Ab)(Cl) Set Unification

(Ab)(Cl) 집합 일치화의 구현에 관한 연구

  • 신동하 (상명대학교 소프트웨어학부) ;
  • 김인영 (상명대학교 소프트웨어학부)
  • Published : 2004.08.01

Abstract

‘Set’ is a tool that is used frequently in designing computer programs. Because of the reason, ‘set constraints languages’ have been developed recently. In this research, we introduce ‘(Ab)(Cl) set unification’ problem and implement it using the ‘set equation rewriting in Prolog’. In this research we shows that the set unification, that is considered to be difficult to be implemented in procedural languages, ran be implemented easily using the non-deterministic control structure and the list data structure in logic language like Prolog. Our research uses the Ciao Prolog with GNU GPL, this is compared with other existing implementations which used expensive commercial Prolog, so anyone can use the result freely. Currently the result is being used for implementing a set constraint language.

References

  1. A. Dovier, Computable Set Theory and Logic Programming, PhD Thesis TD-l/96, Universita degli Studi di Pisa, dip. di Informatica, 1996. March
  2. Pat M. Hill and John W. Lloyd, The Godel Programming Language, MIT Press, 1994
  3. Escher NG Manual, http://users.unimi.it/ -ddl/vega/manual/escher_ng/
  4. Mozart Documentation,http://www.mozart-oz.org/documentation/index.html
  5. A. Dovier, E. Pontelli, and G. Rossi, Set Unification, Rapporto di Ricerca, Dipartimento di Matematica, Universita di Parma, n.3l0, 2002
  6. A. Dovier, C. Piazza, E. Pontelli, and G. Rossi, Sets and Constraint Logic Programming, 'ACM Transactions on Programming Languages and Systems', 22, 5, 861-931, 2000 https://doi.org/10.1145/365151.365169
  7. I. Bratko, 'PROLOG Programming for Artificial Intelligence', Addison-Wesley,2000
  8. M. F. Clocksin and C. S. Mellish, 'Programming in Prolog, fourth edition', Springer-Verlag, 1994
  9. SICStus Prolog Homepage, http://www.sics.se/isljsicstuswww/ site/index.html
  10. Quintus Prolog Homepage, http://www. sics.se/quintus/
  11. GNU General Public License, http://www. gnu.org/copyleft/ gpl.html
  12. The CIAO Prolog Development System WWW Site, http://clip.dia.fi.upm.es/Soft-ware/ Ciao/
  13. A. Dovier, E.G. Omodeo, E. Pontelli, and G. Rossi, (log): A Language for Programming in Logic with Finite Sets, 'The Journal of Logic Programming', 28(1), 1-44, 1996 https://doi.org/10.1016/0743-1066(95)00147-6
  14. SICStus Prolog User's Manuat http://www. sics.se/sicstus/ docs/latest/html/sicstus.html
  15. The CIAO Prolog System Manual, http://clip.dia.fi.upm.es/Software/Ciao/ciao_html/ciao_toc.html
  16. Chin-Liang Chang and Richard Lee,'Symbolic Logic and Mechanical Theorem Proving', Academic Press, 1973
  17. V. Sperschneider and G. Antoniou, 'Logic: A Foundation for Computer Science', Addison-wesley, 1991
  18. F. Baader and W. Snyder, Unification theory, 'Handbook of Automated Reasoning', Elsevier Science Publishers B. V., 1999
  19. J. W. Lloyd, 'Foundations of Logic Programming', Springer-Verlag, 1984