English

Implementing backjumping by throw/1 and catch/3 of Prolog

Programming Languages 2022-02-08 v3 Logic in Computer Science

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.

Cite

@article{arxiv.2008.09610,
  title  = {Implementing backjumping by throw/1 and catch/3 of Prolog},
  author = {Włodzimierz Drabent},
  journal= {arXiv preprint arXiv:2008.09610},
  year   = {2022}
}

Comments

10 pages. This version - extensions and corrections

R2 v1 2026-06-23T18:01:32.708Z