Declarative Pattern Mining using Constraint Programming