Constraint Based Reasoning Book