Dynamic Memory: A Theory of Reminding and Learning in Comput