Logic Based Reasoning