Meta-Cognition: Reasoning about Knowledge