Implementing backjumping by throw/1 and catch/3 of Prolog
W{\l}odzimierz Drabent

TL;DR
This paper explores implementing backjumping in Prolog using exception handling, providing two solutions for different program classes and demonstrating simulation via backtracking and database techniques.
Contribution
It introduces novel methods for implementing backjumping in Prolog, overcoming previous limitations through exception handling and simulation techniques.
Findings
Two solutions for backjumping in Prolog are proposed.
Backjumping can be simulated using backtracking and the database.
Restrictions are necessary for general applicability.
Abstract
We discuss how to implement backjumping (or intelligent backtracking) in Prolog programs by means of exception handling. This seems impossible in a general case. We provide two solutions. One works for binary programs; in a general case it imposes a restriction on where backjumping may originate. The other restricts a class of backjump targets. We also show how to simulate backjumping by means of backtracking and the Prolog database.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Formal Methods in Verification · Logic, Reasoning, and Knowledge
