A successful implementation of a simplified CPU cache system in SWI Prolog and takes advantage of the Logic Programming Paradigm