CLP(H): Constraint Logic Programming for Hedges

Besik Dundua, VIAM, Tbilisi State University, Georgia and LIACC, University of Porto,
Màrio Florido, DCC-FC and LIACC, University of Porto, Portugal
Temur Kutsia, RISC, Johannes Kepler University Linz, Austria (e-mail: kutsia@risc.jku.at), and
Mircea Marin West University of Timisoara, Romania


CLP(H) is an instantiation of the general constraint logic programming scheme with the constraint domain of hedges. Hedges are finite sequences of unranked terms, built over variadic function symbols and three kinds of variables: for terms, for hedges, and for function symbols. Constraints involve equations between unranked terms and atoms for regular hedge language membership. We study algebraic semantics of CLP(H) programs, define a sound, terminating, and incomplete constraint solver, investigate two fragments of constraints for which the solver returns a complete set of solutions, and describe classes of programs that generate such constraints.