topics finite-choicelogicprogrammingfclp