A Prolog Implementation