TAG: Theory of Inventive Problem Solving