Bob is blue. Bob is furry. Bob is nice. Bob is quiet. Bob is red. Dave is quiet. Dave is red. Dave is young. Fiona is blue. Fiona is furry. Fiona is red. Fiona is young. Gary is big. Gary is blue. Gary is nice. Gary is young. Young, big things are red. Blue things are young. Young, nice things are red. Quiet things are nice. If something is big and nice then it is furry. If something is big and quiet then it is blue. Big things are young. If something is young and blue then it is quiet.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is young.
("Dave" "is" "young" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is young.
("Gary" "is" "young" "+")
Young, big things are red.
((("something" "is" "young" "+") ("something" "is" "big" "+")) -> ("something" "is" "red" "+"))
Blue things are young.
((("something" "is" "blue" "+")) -> ("something" "is" "young" "+"))
Young, nice things are red.
((("something" "is" "young" "+") ("something" "is" "nice" "+")) -> ("something" "is" "red" "+"))
Quiet things are nice.
((("something" "is" "quiet" "+")) -> ("something" "is" "nice" "+"))
If something is big and nice then it is furry.
((("something" "is" "big" "+") ("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
If something is big and quiet then it is blue.
((("something" "is" "big" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "blue" "+"))
Big things are young.
((("something" "is" "big" "+")) -> ("something" "is" "young" "+"))
If something is young and blue then it is quiet.
((("something" "is" "young" "+") ("something" "is" "blue" "+")) -> ("something" "is" "quiet" "+"))
Dave is quiet.
True
1
proof
[(triple6)]
("Dave" "is" "quiet" "+")
triple6
Fiona is not furry.
False
1
inv-proof
[(triple10)]
("Fiona" "is" "furry" "-")
triple10
Dave is not furry.
Unknown
inv-rconc
[@1: Dave is furry.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Dave" "is" "furry" "-")
Dave is big.
Unknown
random
[@0: Dave is big.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "big" "+")
@0: Bob is blue.[(triple1)] Bob is furry.[(triple2)] Bob is nice.[(triple3 OR ((triple4) -> rule4) OR ((((((triple1) -> rule2) triple1) -> rule8)) -> rule4))] Bob is quiet.[(triple4 OR ((((triple1) -> rule2) triple1) -> rule8))] Bob is red.[(triple5 OR ((((triple1) -> rule2) triple3) -> rule3) OR ((((triple1) -> rule2) ((triple4) -> rule4)) -> rule3) OR ((((triple1) -> rule2) ((((((triple1) -> rule2) triple1) -> rule8)) -> rule4)) -> rule3))] Dave is quiet.[(triple6)] Dave is red.[(triple7 OR ((triple8 ((triple6) -> rule4)) -> rule3))] Dave is young.[(triple8)] Fiona is blue.[(triple9)] Fiona is furry.[(triple10)] Fiona is red.[(triple11 OR ((triple12 ((((triple12 triple9) -> rule8)) -> rule4)) -> rule3) OR ((((triple9) -> rule2) ((((triple12 triple9) -> rule8)) -> rule4)) -> rule3) OR ((triple12 ((((((triple9) -> rule2) triple9) -> rule8)) -> rule4)) -> rule3) OR ((((triple9) -> rule2) ((((((triple9) -> rule2) triple9) -> rule8)) -> rule4)) -> rule3))] Fiona is young.[(triple12 OR ((triple9) -> rule2))] Gary is big.[(triple13)] Gary is blue.[(triple14)] Gary is nice.[(triple15 OR ((((triple16 triple14) -> rule8)) -> rule4) OR ((((((triple13) -> rule7) triple14) -> rule8)) -> rule4) OR ((((((triple14) -> rule2) triple14) -> rule8)) -> rule4))] Gary is young.[(triple16 OR ((triple13) -> rule7) OR ((triple14) -> rule2))] @1: Bob is young.[(((triple1) -> rule2))] Dave is nice.[(((triple6) -> rule4))] Fiona is quiet.[(((triple12 triple9) -> rule8) OR ((((triple9) -> rule2) triple9) -> rule8))] Gary is furry.[(((triple13 triple15) -> rule5) OR ((triple13 ((((triple16 triple14) -> rule8)) -> rule4)) -> rule5) OR ((triple13 ((((((triple13) -> rule7) triple14) -> rule8)) -> rule4)) -> rule5) OR ((triple13 ((((((triple14) -> rule2) triple14) -> rule8)) -> rule4)) -> rule5))] Gary is quiet.[(((triple16 triple14) -> rule8) OR ((((triple13) -> rule7) triple14) -> rule8) OR ((((triple14) -> rule2) triple14) -> rule8))] Gary is red.[(((triple16 triple13) -> rule1) OR ((triple16 triple15) -> rule3) OR ((((triple13) -> rule7) triple13) -> rule1) OR ((((triple13) -> rule7) triple15) -> rule3) OR ((((triple14) -> rule2) triple13) -> rule1) OR ((((triple14) -> rule2) triple15) -> rule3) OR ((triple16 ((((triple16 triple14) -> rule8)) -> rule4)) -> rule3) OR ((((triple13) -> rule7) ((((triple16 triple14) -> rule8)) -> rule4)) -> rule3) OR ((((triple14) -> rule2) ((((triple16 triple14) -> rule8)) -> rule4)) -> rule3) OR ((triple16 ((((((triple13) -> rule7) triple14) -> rule8)) -> rule4)) -> rule3) OR ((triple16 ((((((triple14) -> rule2) triple14) -> rule8)) -> rule4)) -> rule3) OR ((((triple13) -> rule7) ((((((triple13) -> rule7) triple14) -> rule8)) -> rule4)) -> rule3) OR ((((triple13) -> rule7) ((((((triple14) -> rule2) triple14) -> rule8)) -> rule4)) -> rule3) OR ((((triple14) -> rule2) ((((((triple13) -> rule7) triple14) -> rule8)) -> rule4)) -> rule3) OR ((((triple14) -> rule2) ((((((triple14) -> rule2) triple14) -> rule8)) -> rule4)) -> rule3))] @2: Fiona is nice.[(((((triple12 triple9) -> rule8)) -> rule4) OR ((((((triple9) -> rule2) triple9) -> rule8)) -> rule4))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
Bob is nice.
("Bob" "is" "nice" "+")
triple3
((triple4) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
((((((triple1) -> (rule2 % int3)) triple1) -> (rule8 % int2))) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
((((triple1) -> (rule2 % int2)) triple1) -> (rule8 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
triple5
((((triple1) -> (rule2 % int2)) triple3) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
((((triple1) -> (rule2 % int3)) ((triple4) -> (rule4 % int2))) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
int3
((((triple1) -> (rule2 % int4)) ((((((triple1) -> (rule2 % int4)) triple1) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
int4
Dave is quiet.
("Dave" "is" "quiet" "+")
triple6
Dave is red.
("Dave" "is" "red" "+")
triple7
((triple8 ((triple6) -> (rule4 % int2))) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
triple8
Fiona is blue.
("Fiona" "is" "blue" "+")
triple9
Fiona is furry.
("Fiona" "is" "furry" "+")
triple10
Fiona is red.
("Fiona" "is" "red" "+")
triple11
((triple12 ((((triple12 triple9) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
((((triple9) -> (rule2 % int4)) ((((triple12 triple9) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
((triple12 ((((((triple9) -> (rule2 % int4)) triple9) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
((((triple9) -> (rule2 % int4)) ((((((triple9) -> (rule2 % int4)) triple9) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
triple12
((triple9) -> (rule2 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
triple13
Gary is blue.
("Gary" "is" "blue" "+")
triple14
Gary is nice.
("Gary" "is" "nice" "+")
triple15
((((triple16 triple14) -> (rule8 % int2))) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
((((((triple13) -> (rule7 % int3)) triple14) -> (rule8 % int2))) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
((((((triple14) -> (rule2 % int3)) triple14) -> (rule8 % int2))) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
triple16
((triple13) -> (rule7 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((triple14) -> (rule2 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
((triple1) -> (rule2 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
((triple6) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple12 triple9) -> (rule8 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
((((triple9) -> (rule2 % int2)) triple9) -> (rule8 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
((triple13 triple15) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
((triple13 ((((triple16 triple14) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
((triple13 ((((((triple13) -> (rule7 % int4)) triple14) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((triple13 ((((((triple14) -> (rule2 % int4)) triple14) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is quiet.
("Gary" "is" "quiet" "+")
((triple16 triple14) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple13) -> (rule7 % int2)) triple14) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((triple14) -> (rule2 % int2)) triple14) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
((triple16 triple13) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((triple16 triple15) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
((((triple13) -> (rule7 % int2)) triple13) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((triple13) -> (rule7 % int2)) triple15) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((triple14) -> (rule2 % int2)) triple13) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((((triple14) -> (rule2 % int2)) triple15) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
((triple16 ((((triple16 triple14) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
((((triple13) -> (rule7 % int4)) ((((triple16 triple14) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((((triple14) -> (rule2 % int4)) ((((triple16 triple14) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((triple16 ((((((triple13) -> (rule7 % int4)) triple14) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((triple16 ((((((triple14) -> (rule2 % int4)) triple14) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((((triple13) -> (rule7 % int4)) ((((((triple13) -> (rule7 % int4)) triple14) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((((triple13) -> (rule7 % int4)) ((((((triple14) -> (rule2 % int4)) triple14) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((((triple14) -> (rule2 % int4)) ((((((triple13) -> (rule7 % int4)) triple14) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
((((triple14) -> (rule2 % int4)) ((((((triple14) -> (rule2 % int4)) triple14) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Fiona is nice.
("Fiona" "is" "nice" "+")
((((triple12 triple9) -> (rule8 % int2))) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
((((((triple9) -> (rule2 % int3)) triple9) -> (rule8 % int2))) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3