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.
Similar content being viewed by others
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