Bob is blue. Bob is furry. Bob is quiet. Bob is rough. Bob is smart. Charlie is blue. Dave is blue. Dave is furry. Dave is quiet. Dave is rough. Dave is round. Dave is smart. Gary is quiet. Gary is rough. Gary is round. Gary is smart. Smart people are blue. All quiet, cold people are blue. If Bob is round and Bob is furry then Bob is not blue. Rough people are furry. If someone is round and furry then they are cold. If Dave is cold and Dave is not smart then Dave is not furry. If Gary is furry then Gary is blue. If Dave is quiet then Dave is rough.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is smart.
("Gary" "is" "smart" "+")
Smart people are blue.
((("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
All quiet, cold people are blue.
((("someone" "is" "quiet" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "blue" "+"))
If Bob is round and Bob is furry then Bob is not blue.
((("Bob" "is" "round" "+") ("Bob" "is" "furry" "+")) -> ("Bob" "is" "blue" "-"))
Rough people are furry.
((("someone" "is" "rough" "+")) -> ("someone" "is" "furry" "+"))
If someone is round and furry then they are cold.
((("someone" "is" "round" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "cold" "+"))
If Dave is cold and Dave is not smart then Dave is not furry.
((("Dave" "is" "cold" "+") ("Dave" "is" "smart" "~")) -> ("Dave" "is" "furry" "-"))
If Gary is furry then Gary is blue.
((("Gary" "is" "furry" "+")) -> ("Gary" "is" "blue" "+"))
If Dave is quiet then Dave is rough.
((("Dave" "is" "quiet" "+")) -> ("Dave" "is" "rough" "+"))
Dave is blue.
True
1
proof
[(triple7 OR ((triple12) -> rule1) OR ((triple9 ((triple11 triple8) -> rule5)) -> rule2) OR ((triple9 ((triple11 ((triple10) -> rule4)) -> rule5)) -> rule2) OR ((triple9 ((triple11 ((((triple9) -> rule8)) -> rule4)) -> rule5)) -> rule2))]
("Dave" "is" "blue" "+")
triple7
((triple12) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple9 ((triple11 triple8) -> (rule5 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
((triple9 ((triple11 ((triple10) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((triple9 ((triple11 ((((triple9) -> (rule8 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
Bob is not smart.
False
1
inv-proof
[(triple5)]
("Bob" "is" "smart" "-")
triple5
Gary is furry.
True
2
proof
[(((triple14) -> rule4))]
("Gary" "is" "furry" "+")
((triple14) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is not furry.
False
2
inv-proof
[(((triple14) -> rule4))]
("Gary" "is" "furry" "-")
((triple14) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Charlie is not cold.
Unknown
inv-rconc
[@1: Charlie is cold.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Charlie" "is" "cold" "-")
Bob is cold.
Unknown
rconc
[@1: Bob is cold.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Bob" "is" "cold" "+")
Charlie is not round.
Unknown
inv-random
[@0: Charlie is round.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "round" "-")
Charlie is quiet.
Unknown
random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "+")
@0: Bob is blue.[(triple1 OR ((triple5) -> rule1))] Bob is furry.[(triple2 OR ((triple4) -> rule4))] Bob is quiet.[(triple3)] Bob is rough.[(triple4)] Bob is smart.[(triple5)] Charlie is blue.[(triple6)] Dave is blue.[(triple7 OR ((triple12) -> rule1) OR ((triple9 ((triple11 triple8) -> rule5)) -> rule2) OR ((triple9 ((triple11 ((triple10) -> rule4)) -> rule5)) -> rule2) OR ((triple9 ((triple11 ((((triple9) -> rule8)) -> rule4)) -> rule5)) -> rule2))] Dave is furry.[(triple8 OR ((triple10) -> rule4) OR ((((triple9) -> rule8)) -> rule4))] Dave is quiet.[(triple9)] Dave is rough.[(triple10 OR ((triple9) -> rule8))] Dave is round.[(triple11)] Dave is smart.[(triple12)] Gary is quiet.[(triple13)] Gary is rough.[(triple14)] Gary is round.[(triple15)] Gary is smart.[(triple16)] @1: Dave is cold.[(((triple11 triple8) -> rule5) OR ((triple11 ((triple10) -> rule4)) -> rule5) OR ((triple11 ((((triple9) -> rule8)) -> rule4)) -> rule5))] Gary is blue.[(((triple16) -> rule1) OR ((((triple14) -> rule4)) -> rule7) OR ((triple13 ((triple15 ((triple14) -> rule4)) -> rule5)) -> rule2))] Gary is furry.[(((triple14) -> rule4))] @2: Gary is cold.[(((triple15 ((triple14) -> rule4)) -> rule5))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
((triple5) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
((triple4) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
Bob is rough.
("Bob" "is" "rough" "+")
triple4
Bob is smart.
("Bob" "is" "smart" "+")
triple5
Charlie is blue.
("Charlie" "is" "blue" "+")
triple6
Dave is blue.
("Dave" "is" "blue" "+")
triple7
((triple12) -> (rule1 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple9 ((triple11 triple8) -> (rule5 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
((triple9 ((triple11 ((triple10) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((triple9 ((triple11 ((((triple9) -> (rule8 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
Dave is furry.
("Dave" "is" "furry" "+")
triple8
((triple10) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((((triple9) -> (rule8 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
triple9
Dave is rough.
("Dave" "is" "rough" "+")
triple10
((triple9) -> (rule8 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
triple11
Dave is smart.
("Dave" "is" "smart" "+")
triple12
Gary is quiet.
("Gary" "is" "quiet" "+")
triple13
Gary is rough.
("Gary" "is" "rough" "+")
triple14
Gary is round.
("Gary" "is" "round" "+")
triple15
Gary is smart.
("Gary" "is" "smart" "+")
triple16
Dave is cold.
("Dave" "is" "cold" "+")
((triple11 triple8) -> (rule5 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
((triple11 ((triple10) -> (rule4 % int2))) -> (rule5 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((triple11 ((((triple9) -> (rule8 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
((triple16) -> (rule1 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
((((triple14) -> (rule4 % int2))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
((triple13 ((triple15 ((triple14) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is furry.
("Gary" "is" "furry" "+")
((triple14) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
((triple15 ((triple14) -> (rule4 % int2))) -> (rule5 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2