Adding Redundancy to Obtain more Reliable and Readable Prolog Programs