knowledge representation and reasoning