Reasoning About Rational Agents by