-------------------- 0. EXAMINING: 1 | ['Mc'] 2 | ['Y', 'M', 'P'] 3 | ['Y', 'M', 'O', 'B'] 4 | ['Y', 'M', 'O', 'B'] 5 | ['Y', 'M', 'O', 'B'] 6 | ['Y', 'M', 'P'] SINGLETON-PROP-ON-VAR('1') 0. CONTINUE: 1 | ['Mc'] 2 | ['Y', 'M', 'P'] 3 | ['Y', 'M', 'O', 'B'] 4 | ['Y', 'M', 'O', 'B'] 5 | ['Y', 'M', 'O', 'B'] 6 | ['Y', 'M', 'P'] -------------------- 1. EXAMINING: 1 | Mc* 2 | ['Y', 'M', 'P'] 3 | ['Y', 'M', 'O', 'B'] 4 | ['Y', 'M', 'O', 'B'] 5 | ['Y', 'M', 'O', 'B'] 6 | ['Y', 'M', 'P'] 1. CONTINUE: 1 | Mc* 2 | ['Y', 'M', 'P'] 3 | ['Y', 'M', 'O', 'B'] 4 | ['Y', 'M', 'O', 'B'] 5 | ['Y', 'M', 'O', 'B'] 6 | ['Y', 'M', 'P'] -------------------- 2. EXAMINING: 1 | Mc* 2 | Y* 3 | ['Y', 'M', 'O', 'B'] 4 | ['Y', 'M', 'O', 'B'] 5 | ['Y', 'M', 'O', 'B'] 6 | ['Y', 'M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(2, 3) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(3): 1 | Mc* 2 | Y* 3 | ['M', 'O', 'B'] 4 | ['Y', 'M', 'O', 'B'] 5 | ['Y', 'M', 'O', 'B'] 6 | ['Y', 'M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(2, 6) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(6): 1 | Mc* 2 | Y* 3 | ['M', 'O', 'B'] 4 | ['Y', 'M', 'O', 'B'] 5 | ['Y', 'M', 'O', 'B'] 6 | ['M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(2, 5) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(5): 1 | Mc* 2 | Y* 3 | ['M', 'O', 'B'] 4 | ['Y', 'M', 'O', 'B'] 5 | ['M', 'O', 'B'] 6 | ['M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(2, 4) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(4): 1 | Mc* 2 | Y* 3 | ['M', 'O', 'B'] 4 | ['M', 'O', 'B'] 5 | ['M', 'O', 'B'] 6 | ['M', 'P'] 2. CONTINUE: 1 | Mc* 2 | Y* 3 | ['M', 'O', 'B'] 4 | ['M', 'O', 'B'] 5 | ['M', 'O', 'B'] 6 | ['M', 'P'] -------------------- 3. EXAMINING: 1 | Mc* 2 | Y* 3 | M* 4 | ['M', 'O', 'B'] 5 | ['M', 'O', 'B'] 6 | ['M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(3, 4) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(4): 1 | Mc* 2 | Y* 3 | M* 4 | ['O', 'B'] 5 | ['M', 'O', 'B'] 6 | ['M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(3, 6) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(6): 1 | Mc* 2 | Y* 3 | M* 4 | ['O', 'B'] 5 | ['M', 'O', 'B'] 6 | ['P'] CONSTRAINT-FAILS: BinaryConstraint(3, 5) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(5): 1 | Mc* 2 | Y* 3 | M* 4 | ['O', 'B'] 5 | ['O', 'B'] 6 | ['P'] SINGLETON-PROP-ON-VAR('6') CONSTRAINT-FAILS: BinaryConstraint(6, 5) : McCain, Palin can't be next to Obama, Biden DOMAIN-REDUCED-FOR-VARIABLE(5): 1 | Mc* 2 | Y* 3 | M* 4 | ['O', 'B'] 5 | ['B'] 6 | ['P'] CONSTRAINT-FAILS: BinaryConstraint(6, 5) : McCain, Palin can't be next to Obama, Biden DOMAIN-REDUCED-FOR-VARIABLE(5): 1 | Mc* 2 | Y* 3 | M* 4 | ['O', 'B'] 5 | [] 6 | ['P'] 3. FAIL: 1 | Mc* 2 | Y* 3 | M* 4 | ['O', 'B'] 5 | [] 6 | ['P'] -------------------- 4. EXAMINING: 1 | Mc* 2 | Y* 3 | O* 4 | ['M', 'O', 'B'] 5 | ['M', 'O', 'B'] 6 | ['M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(3, 4) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(4): 1 | Mc* 2 | Y* 3 | O* 4 | ['M', 'B'] 5 | ['M', 'O', 'B'] 6 | ['M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(3, 5) : Obama, Biden must be next to each-other DOMAIN-REDUCED-FOR-VARIABLE(5): 1 | Mc* 2 | Y* 3 | O* 4 | ['M', 'B'] 5 | ['M', 'O'] 6 | ['M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(3, 5) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(5): 1 | Mc* 2 | Y* 3 | O* 4 | ['M', 'B'] 5 | ['M'] 6 | ['M', 'P'] SINGLETON-PROP-ON-VAR('5') CONSTRAINT-FAILS: BinaryConstraint(5, 4) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(4): 1 | Mc* 2 | Y* 3 | O* 4 | ['B'] 5 | ['M'] 6 | ['M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(5, 6) : Moose can't be next to Palin DOMAIN-REDUCED-FOR-VARIABLE(6): 1 | Mc* 2 | Y* 3 | O* 4 | ['B'] 5 | ['M'] 6 | ['M'] CONSTRAINT-FAILS: BinaryConstraint(5, 6) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(6): 1 | Mc* 2 | Y* 3 | O* 4 | ['B'] 5 | ['M'] 6 | [] 4. FAIL: 1 | Mc* 2 | Y* 3 | O* 4 | ['B'] 5 | ['M'] 6 | [] -------------------- 5. EXAMINING: 1 | Mc* 2 | Y* 3 | B* 4 | ['M', 'O', 'B'] 5 | ['M', 'O', 'B'] 6 | ['M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(3, 4) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(4): 1 | Mc* 2 | Y* 3 | B* 4 | ['M', 'O'] 5 | ['M', 'O', 'B'] 6 | ['M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(3, 5) : Obama, Biden must be next to each-other DOMAIN-REDUCED-FOR-VARIABLE(5): 1 | Mc* 2 | Y* 3 | B* 4 | ['M', 'O'] 5 | ['M', 'B'] 6 | ['M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(3, 5) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(5): 1 | Mc* 2 | Y* 3 | B* 4 | ['M', 'O'] 5 | ['M'] 6 | ['M', 'P'] SINGLETON-PROP-ON-VAR('5') CONSTRAINT-FAILS: BinaryConstraint(5, 4) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(4): 1 | Mc* 2 | Y* 3 | B* 4 | ['O'] 5 | ['M'] 6 | ['M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(5, 6) : Moose can't be next to Palin DOMAIN-REDUCED-FOR-VARIABLE(6): 1 | Mc* 2 | Y* 3 | B* 4 | ['O'] 5 | ['M'] 6 | ['M'] CONSTRAINT-FAILS: BinaryConstraint(5, 6) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(6): 1 | Mc* 2 | Y* 3 | B* 4 | ['O'] 5 | ['M'] 6 | [] 5. FAIL: 1 | Mc* 2 | Y* 3 | B* 4 | ['O'] 5 | ['M'] 6 | [] -------------------- 6. EXAMINING: 1 | Mc* 2 | M* 3 | ['Y', 'M', 'O', 'B'] 4 | ['Y', 'M', 'O', 'B'] 5 | ['Y', 'M', 'O', 'B'] 6 | ['Y', 'M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(2, 3) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(3): 1 | Mc* 2 | M* 3 | ['Y', 'O', 'B'] 4 | ['Y', 'M', 'O', 'B'] 5 | ['Y', 'M', 'O', 'B'] 6 | ['Y', 'M', 'P'] CONSTRAINT-FAILS: BinaryConstraint(2, 6) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(6): 1 | Mc* 2 | M* 3 | ['Y', 'O', 'B'] 4 | ['Y', 'M', 'O', 'B'] 5 | ['Y', 'M', 'O', 'B'] 6 | ['Y', 'P'] CONSTRAINT-FAILS: BinaryConstraint(2, 5) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(5): 1 | Mc* 2 | M* 3 | ['Y', 'O', 'B'] 4 | ['Y', 'M', 'O', 'B'] 5 | ['Y', 'O', 'B'] 6 | ['Y', 'P'] CONSTRAINT-FAILS: BinaryConstraint(2, 4) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(4): 1 | Mc* 2 | M* 3 | ['Y', 'O', 'B'] 4 | ['Y', 'O', 'B'] 5 | ['Y', 'O', 'B'] 6 | ['Y', 'P'] 6. CONTINUE: 1 | Mc* 2 | M* 3 | ['Y', 'O', 'B'] 4 | ['Y', 'O', 'B'] 5 | ['Y', 'O', 'B'] 6 | ['Y', 'P'] -------------------- 7. EXAMINING: 1 | Mc* 2 | M* 3 | Y* 4 | ['Y', 'O', 'B'] 5 | ['Y', 'O', 'B'] 6 | ['Y', 'P'] CONSTRAINT-FAILS: BinaryConstraint(3, 4) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(4): 1 | Mc* 2 | M* 3 | Y* 4 | ['O', 'B'] 5 | ['Y', 'O', 'B'] 6 | ['Y', 'P'] CONSTRAINT-FAILS: BinaryConstraint(3, 6) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(6): 1 | Mc* 2 | M* 3 | Y* 4 | ['O', 'B'] 5 | ['Y', 'O', 'B'] 6 | ['P'] CONSTRAINT-FAILS: BinaryConstraint(3, 5) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(5): 1 | Mc* 2 | M* 3 | Y* 4 | ['O', 'B'] 5 | ['O', 'B'] 6 | ['P'] SINGLETON-PROP-ON-VAR('6') CONSTRAINT-FAILS: BinaryConstraint(6, 5) : McCain, Palin can't be next to Obama, Biden DOMAIN-REDUCED-FOR-VARIABLE(5): 1 | Mc* 2 | M* 3 | Y* 4 | ['O', 'B'] 5 | ['B'] 6 | ['P'] CONSTRAINT-FAILS: BinaryConstraint(6, 5) : McCain, Palin can't be next to Obama, Biden DOMAIN-REDUCED-FOR-VARIABLE(5): 1 | Mc* 2 | M* 3 | Y* 4 | ['O', 'B'] 5 | [] 6 | ['P'] 7. FAIL: 1 | Mc* 2 | M* 3 | Y* 4 | ['O', 'B'] 5 | [] 6 | ['P'] -------------------- 8. EXAMINING: 1 | Mc* 2 | M* 3 | O* 4 | ['Y', 'O', 'B'] 5 | ['Y', 'O', 'B'] 6 | ['Y', 'P'] CONSTRAINT-FAILS: BinaryConstraint(3, 4) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(4): 1 | Mc* 2 | M* 3 | O* 4 | ['Y', 'B'] 5 | ['Y', 'O', 'B'] 6 | ['Y', 'P'] CONSTRAINT-FAILS: BinaryConstraint(3, 5) : Obama, Biden must be next to each-other DOMAIN-REDUCED-FOR-VARIABLE(5): 1 | Mc* 2 | M* 3 | O* 4 | ['Y', 'B'] 5 | ['Y', 'O'] 6 | ['Y', 'P'] CONSTRAINT-FAILS: BinaryConstraint(3, 5) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(5): 1 | Mc* 2 | M* 3 | O* 4 | ['Y', 'B'] 5 | ['Y'] 6 | ['Y', 'P'] SINGLETON-PROP-ON-VAR('5') CONSTRAINT-FAILS: BinaryConstraint(5, 4) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(4): 1 | Mc* 2 | M* 3 | O* 4 | ['B'] 5 | ['Y'] 6 | ['Y', 'P'] CONSTRAINT-FAILS: BinaryConstraint(5, 6) : No two seats can be occupied by the same person DOMAIN-REDUCED-FOR-VARIABLE(6): 1 | Mc* 2 | M* 3 | O* 4 | ['B'] 5 | ['Y'] 6 | ['P'] SINGLETON-PROP-ON-VAR('4') SINGLETON-PROP-ON-VAR('6') 8. CONTINUE: 1 | Mc* 2 | M* 3 | O* 4 | ['B'] 5 | ['Y'] 6 | ['P'] -------------------- 9. EXAMINING: 1 | Mc* 2 | M* 3 | O* 4 | B* 5 | ['Y'] 6 | ['P'] SINGLETON-PROP-ON-VAR('5') SINGLETON-PROP-ON-VAR('6') 9. CONTINUE: 1 | Mc* 2 | M* 3 | O* 4 | B* 5 | ['Y'] 6 | ['P'] -------------------- 10. EXAMINING: 1 | Mc* 2 | M* 3 | O* 4 | B* 5 | Y* 6 | ['P'] SINGLETON-PROP-ON-VAR('6') 10. CONTINUE: 1 | Mc* 2 | M* 3 | O* 4 | B* 5 | Y* 6 | ['P'] -------------------- 11. EXAMINING: 1 | Mc* 2 | M* 3 | O* 4 | B* 5 | Y* 6 | P* 11. SOLUTION: 1 | Mc* 2 | M* 3 | O* 4 | B* 5 | Y* 6 | P* ANSWER: [('1', 'Mc'), ('2', 'M'), ('3', 'O'), ('4', 'B'), ('5', 'Y'), ('6', 'P')] TREE: ROOT 1=Mc(c,1) 2=Y(c,2) 3=M(f,3) 3=O(f,4) 3=B(f,5) 2=M(c,6) 3=Y(f,7) 3=O(c,8) 4=B(c,9) 5=Y(c,10) 6=P(*,11) 3=B(u,-) 2=P(u,-)