TRUE CLIPS> (batch "attchtst.bat") TRUE CLIPS> (clear) ; Case 1a CLIPS> (defrule fail-pass "Case 1a" (a) (test (= 1 1)) =>) CLIPS> (defrule fail-fail "Case 1a" (b) (test (!= 2 2)) =>) CLIPS> (agenda) CLIPS> (assert (a) (b)) CLIPS> (agenda) 0 fail-pass: f-1 For a total of 1 activation. CLIPS> (clear) ; Case 1b CLIPS> (defrule pass-fail "Case 1b" (not (a)) (test (= 1 1)) =>) CLIPS> (defrule fail-fail "Case 1b" (not (b)) (test (!= 2 2)) =>) CLIPS> (agenda) 0 pass-fail: * For a total of 1 activation. CLIPS> (assert (a) (b)) CLIPS> (agenda) CLIPS> (clear) ; Case 1c CLIPS> (defrule fail-pass "Case 1c" (exists (a)) (test (= 1 1)) =>) CLIPS> (defrule fail-fail "Case 1c" (exists (b)) (test (!= 2 2)) =>) CLIPS> (agenda) CLIPS> (assert (a) (b)) CLIPS> (agenda) 0 fail-pass: * For a total of 1 activation. CLIPS> (clear) ; Case 3a CLIPS> (defrule pass-fail "Case 3a" (not (and (a) (test (= 1 1)))) =>) CLIPS> (defrule pass-pass "Case 3a" (not (and (b) (test (!= 2 2)))) =>) CLIPS> (agenda) 0 pass-pass: * 0 pass-fail: * For a total of 2 activations. CLIPS> (assert (a) (b)) CLIPS> (agenda) 0 pass-pass: * For a total of 1 activation. CLIPS> (clear) ; Case 3b CLIPS> (defrule fail-pass "Case 3b" (not (and (not (a)) (test (= 1 1)))) =>) CLIPS> (defrule pass-pass "Case 3b" (not (and (not (b)) (test (!= 2 2)))) =>) CLIPS> (agenda) 0 pass-pass: * For a total of 1 activation. CLIPS> (assert (a) (b)) CLIPS> (agenda) 0 fail-pass: * 0 pass-pass: * For a total of 2 activations. CLIPS> (clear) ; Case 3c CLIPS> (defrule pass-fail "Case 3c" (not (and (exists (a)) (test (= 1 1)))) =>) CLIPS> (defrule pass-pass "Case 3c" (not (and (exists (b)) (test (!= 2 2)))) =>) CLIPS> (agenda) 0 pass-pass: * 0 pass-fail: * For a total of 2 activations. CLIPS> (assert (a) (b)) CLIPS> (agenda) 0 pass-pass: * For a total of 1 activation. CLIPS> (clear) ; Case 3d CLIPS> (defrule fail-pass "Case 3d" (exists (and (a) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail "Case 3d" (exists (and (b) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (b)) CLIPS> (agenda) 0 fail-pass: * For a total of 1 activation. CLIPS> (clear) ; Case 3e CLIPS> (defrule pass-fail "Case 3e" (exists (and (not (a)) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail "Case 3e" (exists (and (not (b)) (test (!= 2 2)))) =>) CLIPS> (agenda) 0 pass-fail: * For a total of 1 activation. CLIPS> (assert (a) (b)) CLIPS> (agenda) CLIPS> (clear) ; Case 3f CLIPS> (defrule fail-pass "Case 3f" (exists (and (exists (a)) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail "Case 3f" (exists (and (exists (b)) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (b)) CLIPS> (agenda) 0 fail-pass: * For a total of 1 activation. CLIPS> (clear) ; Case 4a CLIPS> (defrule pass-pass-fail "Case 4a" (not (and (a) (b) (test (= 1 1)))) =>) CLIPS> (defrule pass-pass-pass "Case 4a" (not (and (c) (d) (test (!= 2 2)))) =>) CLIPS> (agenda) 0 pass-pass-pass: * 0 pass-pass-fail: * For a total of 2 activations. CLIPS> (assert (a) (c)) CLIPS> (agenda) 0 pass-pass-pass: * 0 pass-pass-fail: * For a total of 2 activations. CLIPS> (assert (b) (d)) CLIPS> (agenda) 0 pass-pass-pass: * For a total of 1 activation. CLIPS> (clear) ; Case 4b CLIPS> (defrule pass-fail-pass "Case 4b" (not (and (a) (not (b)) (test (= 1 1)))) =>) CLIPS> (defrule pass-pass-pass "Case 4b" (not (and (c) (not (d)) (test (!= 2 2)))) =>) CLIPS> (agenda) 0 pass-pass-pass: * 0 pass-fail-pass: * For a total of 2 activations. CLIPS> (assert (a) (c)) CLIPS> (agenda) 0 pass-pass-pass: * For a total of 1 activation. CLIPS> (assert (b) (d)) CLIPS> (agenda) 0 pass-fail-pass: * 0 pass-pass-pass: * For a total of 2 activations. CLIPS> (clear) ; Case 4c CLIPS> (defrule pass-pass-fail "Case 4c" (not (and (a) (exists (b)) (test (= 1 1)))) =>) CLIPS> (defrule pass-pass-pass "Case 4c" (not (and (c) (exists (d)) (test (!= 2 2)))) =>) CLIPS> (agenda) 0 pass-pass-pass: * 0 pass-pass-fail: * For a total of 2 activations. CLIPS> (assert (a) (c)) CLIPS> (agenda) 0 pass-pass-pass: * 0 pass-pass-fail: * For a total of 2 activations. CLIPS> (assert (b) (d)) CLIPS> (agenda) 0 pass-pass-pass: * For a total of 1 activation. CLIPS> (clear) ; Case 4d CLIPS> (defrule fail-fail-pass "Case 4d" (exists (and (a) (b) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail "Case 4d" (exists (and (c) (d) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (c)) CLIPS> (agenda) CLIPS> (assert (b) (d)) CLIPS> (agenda) 0 fail-fail-pass: * For a total of 1 activation. CLIPS> (clear) ; Case 4e CLIPS> (defrule fail-pass-fail "Case 4e" (exists (and (a) (not (b)) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail "Case 4e" (exists (and (c) (not (d)) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (c)) CLIPS> (agenda) 0 fail-pass-fail: * For a total of 1 activation. CLIPS> (assert (b) (d)) CLIPS> (agenda) CLIPS> (clear) ; Case 4f CLIPS> (defrule fail-fail-pass "Case 4f" (exists (and (a) (exists (b)) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail "Case 4f" (exists (and (c) (exists (d)) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (c)) CLIPS> (agenda) CLIPS> (assert (b) (d)) CLIPS> (agenda) 0 fail-fail-pass: * For a total of 1 activation. CLIPS> (clear) ; Case 4g CLIPS> (defrule pass-fail-fail-pass "Case 4g" (not (and (not (and (x) (y))) (a) (test (= 1 1)))) =>) CLIPS> (defrule pass-pass-pass-pass "Case 4g" (not (and (not (and (z) (w))) (b) (test (!= 2 2)))) =>) CLIPS> (agenda) 0 pass-pass-pass-pass: * 0 pass-fail-fail-pass: * For a total of 2 activations. CLIPS> (assert (a) (b)) CLIPS> (agenda) 0 pass-pass-pass-pass: * For a total of 1 activation. CLIPS> (assert (x) (z)) CLIPS> (agenda) 0 pass-pass-pass-pass: * For a total of 1 activation. CLIPS> (assert (y) (w)) CLIPS> (agenda) 0 pass-fail-fail-pass: * 0 pass-pass-pass-pass: * For a total of 2 activations. CLIPS> (clear) ; Case 4h CLIPS> (defrule fail-pass-pass-pass "Case 4h" (not (and (not (and (x) (y))) (not (a)) (test (= 1 1)))) =>) CLIPS> (defrule pass-pass-pass-pass "Case 4h" (not (and (not (and (z) (w))) (not (b)) (test (!= 2 2)))) =>) CLIPS> (agenda) 0 pass-pass-pass-pass: * For a total of 1 activation. CLIPS> (assert (a) (b)) CLIPS> (agenda) 0 fail-pass-pass-pass: * 0 pass-pass-pass-pass: * For a total of 2 activations. CLIPS> (assert (x) (z)) CLIPS> (agenda) 0 fail-pass-pass-pass: * 0 pass-pass-pass-pass: * For a total of 2 activations. CLIPS> (assert (y) (w)) CLIPS> (agenda) 0 fail-pass-pass-pass: * 0 pass-pass-pass-pass: * For a total of 2 activations. CLIPS> (clear) ; Case 4i CLIPS> (defrule pass-fail-fail-pass "Case 4i" (not (and (not (and (x) (y))) (exists (a)) (test (= 1 1)))) =>) CLIPS> (defrule pass-pass-pass-pass "Case 4i" (not (and (not (and (z) (w))) (exists (b)) (test (!= 2 2)))) =>) CLIPS> (agenda) 0 pass-pass-pass-pass: * 0 pass-fail-fail-pass: * For a total of 2 activations. CLIPS> (assert (a) (b)) CLIPS> (agenda) 0 pass-pass-pass-pass: * For a total of 1 activation. CLIPS> (assert (x) (z)) CLIPS> (agenda) 0 pass-pass-pass-pass: * For a total of 1 activation. CLIPS> (assert (y) (w)) CLIPS> (agenda) 0 pass-fail-fail-pass: * 0 pass-pass-pass-pass: * For a total of 2 activations. CLIPS> (clear) ; Case 4j CLIPS> (defrule fail-pass-pass-fail "Case 4j" (exists (and (not (and (x) (y))) (a) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail-fail "Case 4j" (exists (and (not (and (z) (w))) (b) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (b)) CLIPS> (agenda) 0 fail-pass-pass-fail: * For a total of 1 activation. CLIPS> (assert (x) (z)) CLIPS> (agenda) 0 fail-pass-pass-fail: * For a total of 1 activation. CLIPS> (assert (y) (w)) CLIPS> (agenda) CLIPS> (clear) ; Case 4k CLIPS> (defrule pass-fail-fail-fail "Case 4k" (exists (and (not (and (x) (y))) (not (a)) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail-fail "Case 4k" (exists (and (not (and (z) (w))) (not (b)) (test (!= 2 2)))) =>) CLIPS> (agenda) 0 pass-fail-fail-fail: * For a total of 1 activation. CLIPS> (assert (a) (b)) CLIPS> (agenda) CLIPS> (assert (x) (z)) CLIPS> (agenda) CLIPS> (assert (y) (w)) CLIPS> (agenda) CLIPS> (clear) ; Case 4l CLIPS> (defrule fail-pass-pass-fail "Case 4l" (exists (and (not (and (x) (y))) (exists (a)) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail-fail "Case 4l" (exists (and (not (and (z) (w))) (exists (b)) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (b)) CLIPS> (agenda) 0 fail-pass-pass-fail: * For a total of 1 activation. CLIPS> (assert (x) (z)) CLIPS> (agenda) 0 fail-pass-pass-fail: * For a total of 1 activation. CLIPS> (assert (y) (w)) CLIPS> (agenda) CLIPS> (clear) ; Case 5a CLIPS> (defrule fail-pass-fail "Case 5a" (a) (not (and (b) (test (= 1 1)))) =>) CLIPS> (defrule fail-pass-pass "Case 5a" (c) (not (and (d) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (c)) CLIPS> (agenda) 0 fail-pass-pass: f-2,* 0 fail-pass-fail: f-1,* For a total of 2 activations. CLIPS> (assert (b) (d)) CLIPS> (agenda) 0 fail-pass-pass: f-2,* For a total of 1 activation. CLIPS> (clear) ; Case 5b CLIPS> (defrule fail-fail-pass "Case 5b" (a) (not (and (not (b)) (test (= 1 1)))) =>) CLIPS> (defrule fail-pass-pass "Case 5b" (c) (not (and (not (d)) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (c)) CLIPS> (agenda) 0 fail-pass-pass: f-2,* For a total of 1 activation. CLIPS> (assert (b) (d)) CLIPS> (agenda) 0 fail-fail-pass: f-1,* 0 fail-pass-pass: f-2,* For a total of 2 activations. CLIPS> (clear) ; Case 5c CLIPS> (defrule fail-pass-fail "Case 5c" (a) (not (and (exists (b)) (test (= 1 1)))) =>) CLIPS> (defrule fail-pass-pass "Case 5c" (c) (not (and (exists (d)) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (c)) CLIPS> (agenda) 0 fail-pass-pass: f-2,* 0 fail-pass-fail: f-1,* For a total of 2 activations. CLIPS> (assert (b) (d)) CLIPS> (agenda) 0 fail-pass-pass: f-2,* For a total of 1 activation. CLIPS> (clear) ; Case 5d CLIPS> (defrule fail-fail-pass "Case 5d" (a) (exists (and (b) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail "Case 5d" (c) (exists (and (d) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (c)) CLIPS> (agenda) CLIPS> (assert (b) (d)) CLIPS> (agenda) 0 fail-fail-pass: f-1,* For a total of 1 activation. CLIPS> (clear) ; Case 5e CLIPS> (defrule fail-pass-fail "Case 5e" (a) (exists (and (not (b)) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail "Case 5e" (c) (exists (and (not (d)) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (c)) CLIPS> (agenda) 0 fail-pass-fail: f-1,* For a total of 1 activation. CLIPS> (assert (b) (d)) CLIPS> (agenda) CLIPS> (clear) ; Case 5f CLIPS> (defrule fail-fail-pass "Case 5f" (a) (exists (and (exists (b)) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail "Case 5f" (c) (exists (and (exists (d)) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (c)) CLIPS> (agenda) CLIPS> (assert (b) (d)) CLIPS> (agenda) 0 fail-fail-pass: f-1,* For a total of 1 activation. CLIPS> (clear) ; Case 5g CLIPS> (defrule fail-pass-both "Case 5g" (a ?x) (not (and (b ?x) (test (> ?x 0)))) =>) CLIPS> (defrule fail-pass-pass "Case 5g" (c ?x) (not (and (d ?x) (test (< ?x 0)))) =>) CLIPS> (agenda) CLIPS> (assert (a 1) (c 1) (a 2) (c 2)) CLIPS> (agenda) 0 fail-pass-pass: f-4,* 0 fail-pass-both: f-3,* 0 fail-pass-pass: f-2,* 0 fail-pass-both: f-1,* For a total of 4 activations. CLIPS> (assert (b 1) (d 1)) CLIPS> (agenda) 0 fail-pass-pass: f-4,* 0 fail-pass-both: f-3,* 0 fail-pass-pass: f-2,* For a total of 3 activations. CLIPS> (clear) ; Case 5h CLIPS> (defrule fail-fail-both "Case 5h" (a ?x) (not (and (not (b ?x)) (test (> ?x 0)))) =>) CLIPS> (defrule fail-pass-pass "Case 5h" (c ?x) (not (and (not (d ?x)) (test (< ?x 0)))) =>) CLIPS> (agenda) CLIPS> (assert (a 1) (c 1) (a 2) (c 2)) CLIPS> (agenda) 0 fail-pass-pass: f-4,* 0 fail-pass-pass: f-2,* For a total of 2 activations. CLIPS> (assert (b 1) (d 1)) CLIPS> (agenda) 0 fail-fail-both: f-1,* 0 fail-pass-pass: f-4,* 0 fail-pass-pass: f-2,* For a total of 3 activations. CLIPS> (clear) ; Case 5i CLIPS> (defrule fail-pass-both "Case 5i" (a ?x) (not (and (exists (b ?x)) (test (> ?x 0)))) =>) CLIPS> (defrule fail-pass-pass "Case 5i" (c ?x) (not (and (exists (d ?x)) (test (< ?x 0)))) =>) CLIPS> (agenda) CLIPS> (assert (a 1) (c 1) (a 2) (c 2)) CLIPS> (agenda) 0 fail-pass-pass: f-4,* 0 fail-pass-both: f-3,* 0 fail-pass-pass: f-2,* 0 fail-pass-both: f-1,* For a total of 4 activations. CLIPS> (assert (b 1) (d 1)) CLIPS> (agenda) 0 fail-pass-pass: f-4,* 0 fail-pass-both: f-3,* 0 fail-pass-pass: f-2,* For a total of 3 activations. CLIPS> (clear) ; Case 5j CLIPS> (defrule fail-fail-both "Case 5j" (a ?x) (exists (and (b ?x) (test (> ?x 0)))) =>) CLIPS> (defrule fail-fail-fail "Case 5j" (c ?x) (exists (and (d ?x) (test (< ?x 0)))) =>) CLIPS> (agenda) CLIPS> (assert (a 1) (c 1) (a 2) (c 2)) CLIPS> (agenda) CLIPS> (assert (b 1) (d 1)) CLIPS> (agenda) 0 fail-fail-both: f-1,* For a total of 1 activation. CLIPS> (clear) ; Case 5k CLIPS> (defrule fail-pass-both "Case 5k" (a ?x) (exists (and (not (b ?x)) (test (> ?x 0)))) =>) CLIPS> (defrule fail-fail-fail "Case 5k" (c ?x) (exists (and (not (d ?x)) (test (< ?x 0)))) =>) CLIPS> (agenda) CLIPS> (assert (a 1) (c 1) (a 2) (c 2)) CLIPS> (agenda) 0 fail-pass-both: f-3,* 0 fail-pass-both: f-1,* For a total of 2 activations. CLIPS> (assert (b 1) (d 1)) CLIPS> (agenda) 0 fail-pass-both: f-3,* For a total of 1 activation. CLIPS> (clear) ; Case 5l CLIPS> (defrule fail-fail-both "Case 5l" (a ?x) (exists (and (exists (b ?x)) (test (> ?x 0)))) =>) CLIPS> (defrule fail-fail-fail "Case 5l" (c ?x) (exists (and (exists (d ?x)) (test (< ?x 0)))) =>) CLIPS> (agenda) CLIPS> (assert (a 1) (c 1) (a 2) (c 2)) CLIPS> (agenda) CLIPS> (assert (b 1) (d 1)) CLIPS> (agenda) 0 fail-fail-both: f-1,* For a total of 1 activation. CLIPS> (clear) ; Case 5m CLIPS> (defrule fail-pass-pass-pass "Case 5m" (not (and (not (and (a) (b))) (not (and (c) (test (= 1 1)))))) =>) CLIPS> (defrule fail-fail-fail-pass "Case 5m" (not (and (not (and (d) (e))) (not (and (f) (test (!= 2 2)))))) =>) CLIPS> (agenda) CLIPS> (assert (c) (f)) CLIPS> (agenda) 0 fail-pass-pass-pass: * For a total of 1 activation. CLIPS> (assert (a) (d)) CLIPS> (agenda) 0 fail-pass-pass-pass: * For a total of 1 activation. CLIPS> (assert (b) (e)) CLIPS> (agenda) 0 fail-fail-fail-pass: * 0 fail-pass-pass-pass: * For a total of 2 activations. CLIPS> (clear) ; Case 5n CLIPS> (defrule pass-fail-fail-pass "Case 5n" (not (and (not (and (a) (b))) (exists (and (c) (test (= 1 1)))))) =>) CLIPS> (defrule pass-pass-pass-pass "Case 5n" (not (and (not (and (d) (e))) (exists (and (f) (test (!= 2 2)))))) =>) CLIPS> (agenda) 0 pass-pass-pass-pass: * 0 pass-fail-fail-pass: * For a total of 2 activations. CLIPS> (assert (c) (f)) CLIPS> (agenda) 0 pass-pass-pass-pass: * For a total of 1 activation. CLIPS> (assert (a) (d)) CLIPS> (agenda) 0 pass-pass-pass-pass: * For a total of 1 activation. CLIPS> (assert (b) (e)) CLIPS> (agenda) 0 pass-fail-fail-pass: * 0 pass-pass-pass-pass: * For a total of 2 activations. CLIPS> (clear) ; Case 5o CLIPS> (defrule fail-pass-both "Case 5o" (x) (a ?x) (not (and (b ?x) (test (> ?x 0)))) =>) CLIPS> (defrule fail-pass-pass "Case 5o" (x) (c ?x) (not (and (d ?x) (test (< ?x 0)))) =>) CLIPS> (assert (x)) CLIPS> (agenda) CLIPS> (assert (a 1) (c 1) (a 2) (c 2)) CLIPS> (agenda) 0 fail-pass-pass: f-1,f-5,* 0 fail-pass-both: f-1,f-4,* 0 fail-pass-pass: f-1,f-3,* 0 fail-pass-both: f-1,f-2,* For a total of 4 activations. CLIPS> (assert (b 1) (d 1)) CLIPS> (agenda) 0 fail-pass-pass: f-1,f-5,* 0 fail-pass-both: f-1,f-4,* 0 fail-pass-pass: f-1,f-3,* For a total of 3 activations. CLIPS> (clear) ; Case 5p CLIPS> (defrule fail-fail-both "Case 5p" (x) (a ?x) (not (and (not (b ?x)) (test (> ?x 0)))) =>) CLIPS> (defrule fail-pass-pass "Case 5p" (x) (c ?x) (not (and (not (d ?x)) (test (< ?x 0)))) =>) CLIPS> (assert (x)) CLIPS> (agenda) CLIPS> (assert (a 1) (c 1) (a 2) (c 2)) CLIPS> (agenda) 0 fail-pass-pass: f-1,f-5,* 0 fail-pass-pass: f-1,f-3,* For a total of 2 activations. CLIPS> (assert (b 1) (d 1)) CLIPS> (agenda) 0 fail-fail-both: f-1,f-2,* 0 fail-pass-pass: f-1,f-5,* 0 fail-pass-pass: f-1,f-3,* For a total of 3 activations. CLIPS> (clear) ; Case 5q CLIPS> (defrule fail-pass-both "Case 5q" (x) (a ?x) (not (and (exists (b ?x)) (test (> ?x 0)))) =>) CLIPS> (defrule fail-pass-pass "Case 5q" (x) (c ?x) (not (and (exists (d ?x)) (test (< ?x 0)))) =>) CLIPS> (assert (x)) CLIPS> (agenda) CLIPS> (assert (a 1) (c 1) (a 2) (c 2)) CLIPS> (agenda) 0 fail-pass-pass: f-1,f-5,* 0 fail-pass-both: f-1,f-4,* 0 fail-pass-pass: f-1,f-3,* 0 fail-pass-both: f-1,f-2,* For a total of 4 activations. CLIPS> (assert (b 1) (d 1)) CLIPS> (agenda) 0 fail-pass-pass: f-1,f-5,* 0 fail-pass-both: f-1,f-4,* 0 fail-pass-pass: f-1,f-3,* For a total of 3 activations. CLIPS> (clear) ; Case 5r CLIPS> (defrule fail-fail-both "Case 5r" (x) (a ?x) (exists (and (b ?x) (test (> ?x 0)))) =>) CLIPS> (defrule fail-fail-fail "Case 5r" (x) (c ?x) (exists (and (d ?x) (test (< ?x 0)))) =>) CLIPS> (assert (x)) CLIPS> (agenda) CLIPS> (assert (a 1) (c 1) (a 2) (c 2)) CLIPS> (agenda) CLIPS> (assert (b 1) (d 1)) CLIPS> (agenda) 0 fail-fail-both: f-1,f-2,* For a total of 1 activation. CLIPS> (clear) ; Case 5s CLIPS> (defrule fail-pass-both "Case 5s" (x) (a ?x) (exists (and (not (b ?x)) (test (> ?x 0)))) =>) CLIPS> (defrule fail-fail-fail "Case 5s" (x) (c ?x) (exists (and (not (d ?x)) (test (< ?x 0)))) =>) CLIPS> (assert (x)) CLIPS> (agenda) CLIPS> (assert (a 1) (c 1) (a 2) (c 2)) CLIPS> (agenda) 0 fail-pass-both: f-1,f-4,* 0 fail-pass-both: f-1,f-2,* For a total of 2 activations. CLIPS> (assert (b 1) (d 1)) CLIPS> (agenda) 0 fail-pass-both: f-1,f-4,* For a total of 1 activation. CLIPS> (clear) ; Case 5t CLIPS> (defrule fail-fail-both "Case 5t" (x) (a ?x) (exists (and (exists (b ?x)) (test (> ?x 0)))) =>) CLIPS> (defrule fail-fail-fail "Case 5t" (x) (c ?x) (exists (and (exists (d ?x)) (test (< ?x 0)))) =>) CLIPS> (assert (x)) CLIPS> (agenda) CLIPS> (assert (a 1) (c 1) (a 2) (c 2)) CLIPS> (agenda) CLIPS> (assert (b 1) (d 1)) CLIPS> (agenda) 0 fail-fail-both: f-1,f-2,* For a total of 1 activation. CLIPS> (clear) ; Case 6a CLIPS> (defrule fail-pass-fail-fail-pass "Case 6a" (a) (not (and (not (and (b) (c))) (test (= 1 1)) (d))) =>) CLIPS> (defrule fail-pass-pass-pass-pass "Case 6a" (e) (not (and (not (and (f) (g))) (test (!= 2 2)) (h))) =>) CLIPS> (agenda) CLIPS> (assert (a) (e)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-2,* 0 fail-pass-fail-fail-pass: f-1,* For a total of 2 activations. CLIPS> (assert (d) (h)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-2,* For a total of 1 activation. CLIPS> (assert (b) (f)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-2,* For a total of 1 activation. CLIPS> (assert (c) (g)) CLIPS> (agenda) 0 fail-pass-fail-fail-pass: f-1,* 0 fail-pass-pass-pass-pass: f-2,* For a total of 2 activations. CLIPS> (clear) ; Case 6b CLIPS> (defrule fail-pass-pass-pass-fail "Case 6b" (a) (not (and (exists (and (b) (c))) (test (= 1 1)) (d))) =>) CLIPS> (defrule fail-pass-pass-pass-pass "Case 6b" (e) (not (and (exists (and (f) (g))) (test (!= 2 2)) (h))) =>) CLIPS> (agenda) CLIPS> (assert (a) (e)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-2,* 0 fail-pass-pass-pass-fail: f-1,* For a total of 2 activations. CLIPS> (assert (d) (h)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-2,* 0 fail-pass-pass-pass-fail: f-1,* For a total of 2 activations. CLIPS> (assert (b) (f)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-2,* 0 fail-pass-pass-pass-fail: f-1,* For a total of 2 activations. CLIPS> (assert (c) (g)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-2,* For a total of 1 activation. CLIPS> (clear) ; Case 6c CLIPS> (defrule fail-fail-pass-pass-fail "Case 6c" (a) (exists (and (not (and (b) (c))) (test (= 1 1)) (d))) =>) CLIPS> (defrule fail-fail-fail-fail-fail "Case 6c" (e) (exists (and (not (and (f) (g))) (test (!= 2 2)) (h))) =>) CLIPS> (agenda) CLIPS> (assert (a) (e)) CLIPS> (agenda) CLIPS> (assert (d) (h)) CLIPS> (agenda) 0 fail-fail-pass-pass-fail: f-1,* For a total of 1 activation. CLIPS> (assert (b) (f)) CLIPS> (agenda) 0 fail-fail-pass-pass-fail: f-1,* For a total of 1 activation. CLIPS> (assert (c) (g)) CLIPS> (agenda) CLIPS> (clear) ; Case 6d CLIPS> (defrule fail-fail-fail-fail-pass "Case 6d" (a) (exists (and (exists (and (b) (c))) (test (= 1 1)) (d))) =>) CLIPS> (defrule fail-fail-fail-fail-fail "Case 6d" (e) (exists (and (exists (and (f) (g))) (test (!= 2 2)) (h))) =>) CLIPS> (agenda) CLIPS> (assert (a) (e)) CLIPS> (agenda) CLIPS> (assert (d) (h)) CLIPS> (agenda) CLIPS> (assert (b) (f)) CLIPS> (agenda) CLIPS> (assert (c) (g)) CLIPS> (agenda) 0 fail-fail-fail-fail-pass: f-1,* For a total of 1 activation. CLIPS> (clear) ; Case 6e CLIPS> (defrule fail-pass-fail-fail-both "Case 6e" (a ?x) (not (and (not (and (b ?x) (c ?x))) (test (= 1 1)) (d ?x))) =>) CLIPS> (defrule fail-pass-pass-pass-pass "Case 6e" (e ?x) (not (and (not (and (f ?x) (g ?x))) (test (!= 2 2)) (h ?x))) =>) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-4,* 0 fail-pass-fail-fail-both: f-3,* 0 fail-pass-pass-pass-pass: f-2,* 0 fail-pass-fail-fail-both: f-1,* For a total of 4 activations. CLIPS> (assert (d 1) (h 1) (d 2) (h 2)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-4,* 0 fail-pass-pass-pass-pass: f-2,* For a total of 2 activations. CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-4,* 0 fail-pass-pass-pass-pass: f-2,* For a total of 2 activations. CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-pass-fail-fail-both: f-1,* 0 fail-pass-pass-pass-pass: f-4,* 0 fail-pass-pass-pass-pass: f-2,* For a total of 3 activations. CLIPS> (clear) ; Case 6f CLIPS> (defrule fail-pass-pass-pass-both "Case 6f" (a ?x) (not (and (exists (and (b ?x) (c ?x))) (test (= 1 1)) (d ?x))) =>) CLIPS> (defrule fail-pass-pass-pass-pass "Case 6f" (e ?x) (not (and (exists (and (f ?x) (g ?x))) (test (!= 2 2)) (h ?x))) =>) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-4,* 0 fail-pass-pass-pass-both: f-3,* 0 fail-pass-pass-pass-pass: f-2,* 0 fail-pass-pass-pass-both: f-1,* For a total of 4 activations. CLIPS> (assert (d 1) (h 1) (d 2) (h 2)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-4,* 0 fail-pass-pass-pass-both: f-3,* 0 fail-pass-pass-pass-pass: f-2,* 0 fail-pass-pass-pass-both: f-1,* For a total of 4 activations. CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-4,* 0 fail-pass-pass-pass-both: f-3,* 0 fail-pass-pass-pass-pass: f-2,* 0 fail-pass-pass-pass-both: f-1,* For a total of 4 activations. CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-4,* 0 fail-pass-pass-pass-both: f-3,* 0 fail-pass-pass-pass-pass: f-2,* For a total of 3 activations. CLIPS> (clear) ; Case 6g CLIPS> (defrule fail-fail-pass-pass-both "Case 6g" (a ?x) (exists (and (not (and (b ?x) (c ?x))) (test (= 1 1)) (d ?x))) =>) CLIPS> (defrule fail-fail-fail-fail-fail "Case 6g" (e ?x) (exists (and (not (and (f ?x) (g ?x))) (test (!= 2 2)) (h ?x))) =>) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) CLIPS> (assert (d 1) (h 1) (d 2) (h 2)) CLIPS> (agenda) 0 fail-fail-pass-pass-both: f-3,* 0 fail-fail-pass-pass-both: f-1,* For a total of 2 activations. CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) 0 fail-fail-pass-pass-both: f-3,* 0 fail-fail-pass-pass-both: f-1,* For a total of 2 activations. CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-fail-pass-pass-both: f-3,* For a total of 1 activation. CLIPS> (clear) ; Case 6h CLIPS> (defrule fail-fail-fail-fail-both "Case 6h" (a ?x) (exists (and (exists (and (b ?x) (c ?x))) (test (= 1 1)) (d ?x))) =>) CLIPS> (defrule fail-fail-fail-fail-fail "Case 6h" (e ?x) (exists (and (exists (and (f ?x) (g ?x))) (test (!= 2 2)) (h ?x))) =>) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) CLIPS> (assert (d 1) (h 1) (d 2) (h 2)) CLIPS> (agenda) CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-fail-fail-fail-both: f-1,* For a total of 1 activation. CLIPS> (clear) ; Case 6i CLIPS> (defrule fail-pass-fail-fail-both "Case 6i" (x) (a ?x) (not (and (not (and (b ?x) (c ?x))) (test (= 1 1)) (d ?x))) =>) CLIPS> (defrule fail-pass-pass-pass-pass "Case 6i" (x) (e ?x) (not (and (not (and (f ?x) (g ?x))) (test (!= 2 2)) (h ?x))) =>) CLIPS> (assert (x)) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-1,f-5,* 0 fail-pass-fail-fail-both: f-1,f-4,* 0 fail-pass-pass-pass-pass: f-1,f-3,* 0 fail-pass-fail-fail-both: f-1,f-2,* For a total of 4 activations. CLIPS> (assert (d 1) (h 1) (d 2) (h 2)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-1,f-5,* 0 fail-pass-pass-pass-pass: f-1,f-3,* For a total of 2 activations. CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-1,f-5,* 0 fail-pass-pass-pass-pass: f-1,f-3,* For a total of 2 activations. CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-pass-fail-fail-both: f-1,f-2,* 0 fail-pass-pass-pass-pass: f-1,f-5,* 0 fail-pass-pass-pass-pass: f-1,f-3,* For a total of 3 activations. CLIPS> (clear) ; Case 6j CLIPS> (defrule fail-pass-pass-pass-both "Case 6j" (x) (a ?x) (not (and (exists (and (b ?x) (c ?x))) (test (= 1 1)) (d ?x))) =>) CLIPS> (defrule fail-pass-pass-pass-pass "Case 6j" (x) (e ?x) (not (and (exists (and (f ?x) (g ?x))) (test (!= 2 2)) (h ?x))) =>) CLIPS> (assert (x)) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-1,f-5,* 0 fail-pass-pass-pass-both: f-1,f-4,* 0 fail-pass-pass-pass-pass: f-1,f-3,* 0 fail-pass-pass-pass-both: f-1,f-2,* For a total of 4 activations. CLIPS> (assert (d 1) (h 1) (d 2) (h 2)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-1,f-5,* 0 fail-pass-pass-pass-both: f-1,f-4,* 0 fail-pass-pass-pass-pass: f-1,f-3,* 0 fail-pass-pass-pass-both: f-1,f-2,* For a total of 4 activations. CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-1,f-5,* 0 fail-pass-pass-pass-both: f-1,f-4,* 0 fail-pass-pass-pass-pass: f-1,f-3,* 0 fail-pass-pass-pass-both: f-1,f-2,* For a total of 4 activations. CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-pass-pass-pass-pass: f-1,f-5,* 0 fail-pass-pass-pass-both: f-1,f-4,* 0 fail-pass-pass-pass-pass: f-1,f-3,* For a total of 3 activations. CLIPS> (clear) ; Case 6k CLIPS> (defrule fail-fail-pass-pass-both "Case 6k" (x) (a ?x) (exists (and (not (and (b ?x) (c ?x))) (test (= 1 1)) (d ?x))) =>) CLIPS> (defrule fail-fail-fail-fail-fail "Case 6k" (x) (e ?x) (exists (and (not (and (f ?x) (g ?x))) (test (!= 2 2)) (h ?x))) =>) CLIPS> (assert (x)) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) CLIPS> (assert (d 1) (h 1) (d 2) (h 2)) CLIPS> (agenda) 0 fail-fail-pass-pass-both: f-1,f-4,* 0 fail-fail-pass-pass-both: f-1,f-2,* For a total of 2 activations. CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) 0 fail-fail-pass-pass-both: f-1,f-4,* 0 fail-fail-pass-pass-both: f-1,f-2,* For a total of 2 activations. CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-fail-pass-pass-both: f-1,f-4,* For a total of 1 activation. CLIPS> (clear) ; Case 6l CLIPS> (defrule fail-fail-fail-fail-both "Case 6l" (x) (a ?x) (exists (and (exists (and (b ?x) (c ?x))) (test (= 1 1)) (d ?x))) =>) CLIPS> (defrule fail-fail-fail-fail-fail "Case 6l" (x) (e ?x) (exists (and (exists (and (f ?x) (g ?x))) (test (!= 2 2)) (h ?x))) =>) CLIPS> (assert (x)) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) CLIPS> (assert (d 1) (h 1) (d 2) (h 2)) CLIPS> (agenda) CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-fail-fail-fail-both: f-1,f-2,* For a total of 1 activation. CLIPS> (clear) ; Case 7a CLIPS> (defrule fail-fail-fail-pass "Case 7a" (a) (not (and (not (and (b) (c))) (test (= 1 1)))) =>) CLIPS> (defrule fail-pass-pass-pass "Case 7a" (e) (not (and (not (and (f) (g))) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (e)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-2,* For a total of 1 activation. CLIPS> (assert (b) (f)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-2,* For a total of 1 activation. CLIPS> (assert (c) (g)) CLIPS> (agenda) 0 fail-fail-fail-pass: f-1,* 0 fail-pass-pass-pass: f-2,* For a total of 2 activations. CLIPS> (clear) ; Case 7b CLIPS> (defrule fail-pass-pass-fail "Case 7b" (a) (not (and (exists (and (b) (c))) (test (= 1 1)))) =>) CLIPS> (defrule fail-pass-pass-pass "Case 7b" (e) (not (and (exists (and (f) (g))) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (e)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-2,* 0 fail-pass-pass-fail: f-1,* For a total of 2 activations. CLIPS> (assert (b) (f)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-2,* 0 fail-pass-pass-fail: f-1,* For a total of 2 activations. CLIPS> (assert (c) (g)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-2,* For a total of 1 activation. CLIPS> (clear) ; Case 7c CLIPS> (defrule fail-pass-pass-fail "Case 7c" (a) (exists (and (not (and (b) (c))) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail-fail "Case 7c" (e) (exists (and (not (and (f) (g))) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (e)) CLIPS> (agenda) 0 fail-pass-pass-fail: f-1,* For a total of 1 activation. CLIPS> (assert (b) (f)) CLIPS> (agenda) 0 fail-pass-pass-fail: f-1,* For a total of 1 activation. CLIPS> (assert (c) (g)) CLIPS> (agenda) CLIPS> (clear) ; Case 7d CLIPS> (defrule fail-fail-fail-pass "Case 7d" (a) (exists (and (exists (and (b) (c))) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail-fail "Case 7d" (e) (exists (and (exists (and (f) (g))) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a) (e)) CLIPS> (agenda) CLIPS> (assert (b) (f)) CLIPS> (agenda) CLIPS> (assert (c) (g)) CLIPS> (agenda) 0 fail-fail-fail-pass: f-1,* For a total of 1 activation. CLIPS> (clear) ; Case 7e CLIPS> (defrule fail-fail-fail-both "Case 7e" (a ?x) (not (and (not (and (b ?x) (c ?x))) (test (= 1 1)))) =>) CLIPS> (defrule fail-pass-pass-pass "Case 7e" (e ?x) (not (and (not (and (f ?x) (g ?x))) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-4,* 0 fail-pass-pass-pass: f-2,* For a total of 2 activations. CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-4,* 0 fail-pass-pass-pass: f-2,* For a total of 2 activations. CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-fail-fail-both: f-1,* 0 fail-pass-pass-pass: f-4,* 0 fail-pass-pass-pass: f-2,* For a total of 3 activations. CLIPS> (clear) ; Case 7f CLIPS> (defrule fail-pass-pass-both "Case 7f" (a ?x) (not (and (exists (and (b ?x) (c ?x))) (test (= 1 1)))) =>) CLIPS> (defrule fail-pass-pass-pass "Case 7f" (e ?x) (not (and (exists (and (f ?x) (g ?x))) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-4,* 0 fail-pass-pass-both: f-3,* 0 fail-pass-pass-pass: f-2,* 0 fail-pass-pass-both: f-1,* For a total of 4 activations. CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-4,* 0 fail-pass-pass-both: f-3,* 0 fail-pass-pass-pass: f-2,* 0 fail-pass-pass-both: f-1,* For a total of 4 activations. CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-4,* 0 fail-pass-pass-both: f-3,* 0 fail-pass-pass-pass: f-2,* For a total of 3 activations. CLIPS> (clear) ; Case 7g CLIPS> (defrule fail-pass-pass-both "Case 7g" (a ?x) (exists (and (not (and (b ?x) (c ?x))) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail-fail "Case 7g" (e ?x) (exists (and (not (and (f ?x) (g ?x))) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) 0 fail-pass-pass-both: f-3,* 0 fail-pass-pass-both: f-1,* For a total of 2 activations. CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) 0 fail-pass-pass-both: f-3,* 0 fail-pass-pass-both: f-1,* For a total of 2 activations. CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-pass-pass-both: f-3,* For a total of 1 activation. CLIPS> (clear) ; Case 7h CLIPS> (defrule fail-fail-fail-both "Case 7h" (a ?x) (exists (and (exists (and (b ?x) (c ?x))) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail-fail "Case 7h" (e ?x) (exists (and (exists (and (f ?x) (g ?x))) (test (!= 2 2)))) =>) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-fail-fail-both: f-1,* For a total of 1 activation. CLIPS> (clear) ; Case 7i CLIPS> (defrule fail-fail-fail-both "Case 7i" (x) (a ?x) (not (and (not (and (b ?x) (c ?x))) (test (= 1 1)))) =>) CLIPS> (defrule fail-pass-pass-pass "Case 7i" (x) (e ?x) (not (and (not (and (f ?x) (g ?x))) (test (!= 2 2)))) =>) CLIPS> (assert (x)) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-1,f-5,* 0 fail-pass-pass-pass: f-1,f-3,* For a total of 2 activations. CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-1,f-5,* 0 fail-pass-pass-pass: f-1,f-3,* For a total of 2 activations. CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-fail-fail-both: f-1,f-2,* 0 fail-pass-pass-pass: f-1,f-5,* 0 fail-pass-pass-pass: f-1,f-3,* For a total of 3 activations. CLIPS> (clear) ; Case 7j CLIPS> (defrule fail-pass-pass-both "Case 7j" (x) (a ?x) (not (and (exists (and (b ?x) (c ?x))) (test (= 1 1)))) =>) CLIPS> (defrule fail-pass-pass-pass "Case 7j" (x) (e ?x) (not (and (exists (and (f ?x) (g ?x))) (test (!= 2 2)))) =>) CLIPS> (assert (x)) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-1,f-5,* 0 fail-pass-pass-both: f-1,f-4,* 0 fail-pass-pass-pass: f-1,f-3,* 0 fail-pass-pass-both: f-1,f-2,* For a total of 4 activations. CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-1,f-5,* 0 fail-pass-pass-both: f-1,f-4,* 0 fail-pass-pass-pass: f-1,f-3,* 0 fail-pass-pass-both: f-1,f-2,* For a total of 4 activations. CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-pass-pass-pass: f-1,f-5,* 0 fail-pass-pass-both: f-1,f-4,* 0 fail-pass-pass-pass: f-1,f-3,* For a total of 3 activations. CLIPS> (clear) ; Case 7k CLIPS> (defrule fail-pass-pass-both "Case 7k" (x) (a ?x) (exists (and (not (and (b ?x) (c ?x))) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail-fail "Case 7k" (x) (e ?x) (exists (and (not (and (f ?x) (g ?x))) (test (!= 2 2)))) =>) CLIPS> (assert (x)) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) 0 fail-pass-pass-both: f-1,f-4,* 0 fail-pass-pass-both: f-1,f-2,* For a total of 2 activations. CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) 0 fail-pass-pass-both: f-1,f-4,* 0 fail-pass-pass-both: f-1,f-2,* For a total of 2 activations. CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-pass-pass-both: f-1,f-4,* For a total of 1 activation. CLIPS> (clear) ; Case 7l CLIPS> (defrule fail-fail-fail-both "Case 7l" (x) (a ?x) (exists (and (exists (and (b ?x) (c ?x))) (test (= 1 1)))) =>) CLIPS> (defrule fail-fail-fail-fail "Case 7l" (x) (e ?x) (exists (and (exists (and (f ?x) (g ?x))) (test (!= 2 2)))) =>) CLIPS> (assert (x)) CLIPS> (agenda) CLIPS> (assert (a 1) (e 1) (a 2) (e 2)) CLIPS> (agenda) CLIPS> (assert (b 1) (f 1)) CLIPS> (agenda) CLIPS> (assert (c 1) (g 1)) CLIPS> (agenda) 0 fail-fail-fail-both: f-1,f-2,* For a total of 1 activation. CLIPS> (clear) CLIPS> (dribble-off)