Abstract
The relationship between resolution theorem proving and graph search is complicated by control statements that affect the program's meaning. An interesting case arises when combining Prolog interpreters implementing the cut and iterative deepening search. Because these features are dependent, an interpreter that naively combines both features gives unintended answers to queries. In particular, negation as failure breaks down. One solution is to use sound negation, but many certain AI problems use both sound negation and negation as failure. As well, when debugging large Prolog programs, it is useful to be able to execute the same program with and without iterative deepening, even though the program contains cuts. Besides generating unintended answers, the Prolog interpreter naively combining cuts and iterative deepening also generates redundant answers. Here, we show how to avoid both.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.