GNU Prolog - a free Prolog compiler with constraint solving over Finite Domains