Conditional logic programming