Resolution Example
>(linres *hounds* *houndc*)
1. ((NOT (HOUND X)) (HOWL X))
2. ((NOT (LS X)) (NOT (HAVE X Y))
(NOT (HOWL Y)))
3. ((NOT (HAVE X Y)) (NOT (CAT Y))
(NOT (HAVE X Z)) (NOT (MOUSE Z)))
4. ((HAVE (JOHN) (A)))
5. ((CAT (A)) (HOUND (A)))
6. ((LS (JOHN)))
7. ((HAVE (JOHN) (B)))
8. ((MOUSE (B)))
( 6, 2): 9. ((NOT (HAVE (JOHN) Y)) (NOT (HOWL Y)))
( 9, 1): 10. ((NOT (HAVE (JOHN) X)) (NOT (HOUND X)))
( 10, 4): 11. ((NOT (HOUND (A))))
( 11, 5): 12. ((CAT (A)))
( 12, 3): 13. ((NOT (HAVE X (A))) (NOT (HAVE X Z))
(NOT (MOUSE Z)))
( 13, 4): 14. ((NOT (HAVE (JOHN) Z)) (NOT (MOUSE Z)))
( 13, 4): 15. ((NOT (HAVE (JOHN) (A)))
(NOT (MOUSE (A))))
( 14, 4): 16. ((NOT (MOUSE (A))))
( 14, 7): 17. ((NOT (MOUSE (B))))
( 17, 8): 18. NIL
PROVED