General situation reasoning