Skip to main content

Constructive negation using typed existence properties

  • Conference paper
  • First Online:
Principles of Declarative Programming (ALP 1998, PLILP 1998)

Abstract

A method for extracting positive information from negative goals is proposed. The method makes use of knowledge about the existence of solutions of predicates and about the types of variables. It strictly generalises earlier work in this area. It can be used as a construction rule or as a simplification rule. As a construction rule it does not involve an SLD-derivation of the negated sub-goal and so is applicable during compilation. As a simplification rule it prunes unsatisfiable goals without doing an explicit satisfiability test.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. Aiken and E. Wimmers. Solving Systems of Set Constraints. In Proceedings of the Seventh IEEE Symposium on Logic in Computer Science, pages 329–340. The IEEE Computer Society Press, 1992.

    Google Scholar 

  2. D. Chan. Constructive Negation Based on the Completed Database. In R. A. Kowalski and K. A. Bowen, editors, Proceedings of the Fifth International Conference and Symposium on Logic Programming, pages 111–125. The MIT Press, 1988.

    Google Scholar 

  3. D. Chan. An Extension of Constructive Negation and its Application in Coroutining. In Ewing L. Lusk and Ross A. Overbeek, editors, Proceedings of the North American Conference on Logic Programming, pages 477–496, 1989.

    Google Scholar 

  4. J.G. Cleary. Constructive Negation of Arithmetic Constraints Using Data-Flow Graphs. Constraints, 2: 131–162, 1997.

    Article  MATH  Google Scholar 

  5. P. Cousot and R. Cousot. Abstract Interpretation and Application to Logic Programs. Journal of Logic Programming, 13(1, 2, 3 and 4):103–179, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  6. P.W. Dart and J. Zobel. Efficient Run-Time Type Checking of Typed Logic Programs. Journal of Logic Programming, 14(1–2):31–69, 1992.

    Article  MATH  MathSciNet  Google Scholar 

  7. W. Drabent. What Is Failure? An Approach to Constructive Negation. Acta Informatica, 32:27–59, 1995.

    Article  MATH  MathSciNet  Google Scholar 

  8. F. Fages. Constructive Negation by Pruning. Journal of Logic Programming, 32(2):85–118, 1997.

    Article  MATH  MathSciNet  Google Scholar 

  9. N. Foo, A. Rao, A. Taylor, and A. Walker. Deduced Relevant Types and Constructive Negation. In R.A. Kowalski and K.A. Bowen, editors, Proceedings of the fifth International Conference and Symposium on Logic Programming, pages 126–139. The MIT Press, 1988.

    Google Scholar 

  10. T. Fruhwirth, E. Shapiro, M.Y. Vardi, and E. Yardeni. Logic Programs as Types for Logic Programs. In Proceedings of Sixth Annual IEEE Symposium on Logic in Computer Science, pages 300–309. The IEEE Computer Society Press, 1991.

    Google Scholar 

  11. F. Gécseg and M. Steinby. Tree Automata. Akadémiai Kiadó, 1984.

    Google Scholar 

  12. M. Kifer and J. Wu. A First-Order Theory of Types and Polymorphism in Logic Programming. In Proceedings of Sixth Annual IEEE Symposium on Logic in Computer Science, pages 310–321. The IEEE Computer Society Press, 1991.

    Google Scholar 

  13. J. Małuszyński and T. Näslund. Fail Substitutions for Negation as Failure. In Ewing L. Lusk and Ross A. Overbeek, editors, Proceedings of the North American Conference on Logic Programming, pages 461–476. The MIT Press, 1989.

    Google Scholar 

  14. P. Mishra. Towards a Theory of Types in Prolog. In Proceedings of the IEEE international Symposium on Logic Programming, pages 289–298. The IEEE Computer Society Press, 1984.

    Google Scholar 

  15. A. Mycroft and R.A. O'Keefe. A Polymorphic Type System for Prolog. Artificial Intelligence, 23:295–307, 1984.

    Article  MATH  MathSciNet  Google Scholar 

  16. Frank Pfenning, editor. Types in Logic Programming. The MIT Press, Cambridge, Massachusetts, 1992.

    Google Scholar 

  17. P.J. Stuckey. Negation and Constraint Logic Programming. Information and Computation, 118:12–33, 1995.

    Article  MATH  MathSciNet  Google Scholar 

  18. J. Tiuryn. Type Inference Problems: A Survey. In B. Roven, editor, Proceedings of the Fifteenth International Symposium on Mathematical Foundations of Computer Science, pages 105–120. Springer-Verlag, 1990.

    Google Scholar 

  19. E. Yardeni and E. Shapiro. A Type System for Logic Programs. Journal of Logic Programming, 10(2).125–153, 1991.

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Catuscia Palamidessi Hugh Glaser Karl Meinke

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cleary, J.G., Lu, L. (1998). Constructive negation using typed existence properties. In: Palamidessi, C., Glaser, H., Meinke, K. (eds) Principles of Declarative Programming. ALP PLILP 1998 1998. Lecture Notes in Computer Science, vol 1490. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0056629

Download citation

  • DOI: https://doi.org/10.1007/BFb0056629

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65012-6

  • Online ISBN: 978-3-540-49766-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics