Knowledge representation, reasoning and declarative problem solving