Prolog by Clocksin & Stefan Schmitgen