Abstract
Given a set S and a condition C we address the problem of determining which members of S satisfy C. One useful approach is to set up the generation of S as a tree, where each node represents a subset of S. If from the information available at a node, we can determine that no members of the subset it represents satisfy C, then the subtree rooted at it can be pruned, i.e. its generation suppressed. Thus, large subsets of S can be quickly eliminated from consideration. We show how such a tree can be simulated by interpretation of non-deterministic rewrite rules, and its pruning simulated by lazy evaluation.
Preview
Unable to display preview. Download preview PDF.
References
Barbuti, R., Bellia, M., Levi, G. [1986]. LEAF: A language which integrates logic, equations, and functions. In Logic programming: functions, relations and equations (eds.) D. DeGroot, G. Lindstrom, Prentice Hall, N.J.
Bruynooghe, M., Pereira, L.M. [1984]. Deduction revision by intelligent backtracking. In, Chang, J.-H., Despain, A.M. [1984]. Semi-intelligent backtracking of Prolog based on a static data dependency analysis. Proceedings of IEEE symposium on logic programming, Boston, MA.
Clark, K.L., McCabe F. [1979]. Programmer's guide to IC-Prolog. CCD Report 79/7, London: Imperial College, University of London.
Dincbas, M., Simonis, H., van Hentenryck, P. [1988]. Solving a cutting-stock problem in constraint logic programming. Proceedings of fifth international conference and symposium on logic programming, eds. R. Kowalski, K. Bowen, MIT Press, Cambridge, MA.
Garey, M.R., Johnson, D.S. [1979]. Computers and intractability. A guide to the theory of NP-completeness. W.H. Freeman & Co. New York, N.Y.
Huet, G., Levy, J.-J. [1979]. Call by need computations in non-ambiguous linear term rewriting systems. IRIA technical report 359.
Kahn, G., MacQueen, D. [1977]. Coroutines and Networks of Parallel Processes. Information Processing-77, North-Holland, Amsterdam.
Knuth, D.E., Bendix, P.B. [1970]. Simple word problems in universal algebras. Computational problems in abstract algebra, ed. J. Leech, Pergamon Press.
Kumar, V., Lin, Y.-J. [1988]. A data-dependency-based intelligent backtracking scheme for Prolog. Journal of Logic Programming, vol. 5, No. 2, June.
Lloyd, J. [1984]. Foundations of logic programming. Springer Verlag, New York.
Narain, S. [1986]. A Technique for Doing Lazy Evaluation in Logic. Journal of Logic Programming, vol. 3, no. 3, October.
Narain, S. [1988]. LOG(F): An optimal combination of logic programming, rewriting and lazy evaluation. Ph.D. Thesis, Department of Computer Science, University of California, Los Angeles.
O'Donnell, M.J. [1985]. Equational logic as a programming language. MIT Press, Cambridge, MA.
Polya, G. [1973]. How to solve it. Princeton university press. Princeton, NJ.
Sterling, L., Shapiro, E. [1986]. The art of Prolog. MIT Press, Cambridge, MA.
Subrahmanyam, P.A. and You J.-H. [1984]. Conceptual Basis and Evaluation Strategies for Integrating Functional and Logic Programming. Proceedings of IEEE Logic Programming Symposium, Atlantic City, N.J.
van Hentenryck, P., Dincbas, M. [1987]. Foward checking in logic programming. Proceedings of fourth international conference on logic programming. ed. J.-L. Lassez, MIT Press, Camberidge, MA.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1989 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Narain, S. (1989). Optimization by non-deterministic, lazy rewriting. In: Dershowitz, N. (eds) Rewriting Techniques and Applications. RTA 1989. Lecture Notes in Computer Science, vol 355. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51081-8_117
Download citation
DOI: https://doi.org/10.1007/3-540-51081-8_117
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-51081-9
Online ISBN: 978-3-540-46149-4
eBook Packages: Springer Book Archive