Better Termination for Prolog with Constraints

dc.creatorTriska, Markus
dc.creatorNeumerkel, Ulrich
dc.creatorWielemaker, Jan
dc.date2009-03-12
dc.date.accessioned2026-07-07T12:51:53Z
dc.date.available2026-07-07T12:51:53Z
dc.descriptionTermination properties of actual Prolog systems with constraints are fragile and difficult to analyse. The lack of the occurs-check, moded and overloaded arithmetical evaluation via is/2 and the occasional nontermination of finite domain constraints are all sources for invalidating termination results obtained by current termination analysers that rely on idealized assumptions. In this paper, we present solutions to address these problems on the level of the underlying Prolog system. Improved unification modes meet the requirements of norm based analysers by offering dynamic occurs-check detection. A generalized finite domain solver overcomes the shortcomings of conventional arithmetic without significant runtime overhead. The solver offers unbounded domains, yet propagation always terminates. Our work improves Prolog's termination and makes Prolog a more reliable target for termination and type analysis. It is part of SWI-Prolog since version 5.6.50.
dc.descriptionPaper presented at the 18th Workshop on Logic-based Methods in Programming Environments (WLPE2008) (Report-No: WLPE/2008). Paper submitted by a co-editor of the Workshop proceedings
dc.identifierhttps://arxiv.org/abs/0903.2168
dc.identifierhttp://arxiv.org/abs/0903.2168
dc.identifier.urihttp://salesiana.dossiersoluciones.com/handle/123456789/223134
dc.subjectProgramming Languages
dc.subjectSoftware Engineering
dc.titleBetter Termination for Prolog with Constraints
dc.typetext

Files

Collections