Source: (1) Knowledge Representation and Reasoning by Ronald Brachman and Hector Levesque (2) Artificial Intelligence: A Modern Approach (2nd Edition) by Stuart Russell and Peter Norvig