Residuation and Guarded Rules for Constraint Logic Programming [chapter]

Gert Smolka
1992 TEUBNER-TEXTE zur Informatik  
A major difficulty with logic programming is combinatorial explosion: since goals are solved with possibly indeterminate (Le., branching) reductions, the resulting search trees may grow wildly. Constraint logic programming systems try to avoid combinatorial explosion by building in strong determinate (Le., non-branching) reduction in the form of constraint simplification. In this paper we present two concepts, residuation and guarded rules, for further strengthening determinate reduction. Both
more » ... oncepts apply to constraint logic programming in general and yield an operational semantics that coincides with the declarative semantics. Residuation is a control strategy giving priority to determinate reductions. Guarded rules are logical consequences of programs adding otherwise unavailable determinate reductions.
doi:10.1007/978-3-322-95233-2_24 fatcat:cgxmdubdijbx5mx26hc5aamjy4