Predictive Programming: Plato's Allegory