Bob is furry. Bob is young. Charlie is rough. Charlie is white. Charlie is young. Dave is furry. Dave is kind. Dave is rough. Gary is big. Gary is furry. Gary is kind. Gary is rough. Gary is round. Gary is white. Gary is young. All white, round things are kind. If Charlie is young then Charlie is kind. Rough, kind things are young. If something is white and furry then it is young. If something is round then it is rough. Rough things are kind.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is white.
("Gary" "is" "white" "+")
Gary is young.
("Gary" "is" "young" "+")
All white, round things are kind.
((("something" "is" "white" "+") ("something" "is" "round" "+")) -> ("something" "is" "kind" "+"))
If Charlie is young then Charlie is kind.
((("Charlie" "is" "young" "+")) -> ("Charlie" "is" "kind" "+"))
Rough, kind things are young.
((("something" "is" "rough" "+") ("something" "is" "kind" "+")) -> ("something" "is" "young" "+"))
If something is white and furry then it is young.
((("something" "is" "white" "+") ("something" "is" "furry" "+")) -> ("something" "is" "young" "+"))
If something is round then it is rough.
((("something" "is" "round" "+")) -> ("something" "is" "rough" "+"))
Rough things are kind.
((("something" "is" "rough" "+")) -> ("something" "is" "kind" "+"))
Dave is furry.
True
1
proof
[(triple6)]
("Dave" "is" "furry" "+")
triple6
Gary is not big.
False
1
inv-proof
[(triple9)]
("Gary" "is" "big" "-")
triple9
Bob is not rough.
Unknown
inv-rconc
[@1: Bob is rough.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Bob" "is" "rough" "-")
Bob is white.
Unknown
random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "+")
@0: Bob is furry.[(triple1)] Bob is young.[(triple2)] Charlie is rough.[(triple3)] Charlie is white.[(triple4)] Charlie is young.[(triple5 OR ((triple3 ((triple3) -> rule6)) -> rule3))] Dave is furry.[(triple6)] Dave is kind.[(triple7 OR ((triple8) -> rule6))] Dave is rough.[(triple8)] Gary is big.[(triple9)] Gary is furry.[(triple10)] Gary is kind.[(triple11 OR ((triple12) -> rule6) OR ((triple14 triple13) -> rule1) OR ((((triple13) -> rule5)) -> rule6))] Gary is rough.[(triple12 OR ((triple13) -> rule5))] Gary is round.[(triple13)] Gary is white.[(triple14)] Gary is young.[(triple15 OR ((triple12 triple11) -> rule3) OR ((triple14 triple10) -> rule4) OR ((triple12 ((triple12) -> rule6)) -> rule3) OR ((triple12 ((triple14 triple13) -> rule1)) -> rule3) OR ((((triple13) -> rule5) triple11) -> rule3) OR ((((triple13) -> rule5) ((triple12) -> rule6)) -> rule3) OR ((((triple13) -> rule5) ((triple14 triple13) -> rule1)) -> rule3) OR ((triple12 ((((triple13) -> rule5)) -> rule6)) -> rule3) OR ((((triple13) -> rule5) ((((triple13) -> rule5)) -> rule6)) -> rule3))] @1: Charlie is kind.[(((triple3) -> rule6) OR ((triple5) -> rule2))] Dave is young.[(((triple8 triple7) -> rule3) OR ((triple8 ((triple8) -> rule6)) -> rule3))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Bob is young.
("Bob" "is" "young" "+")
triple2
Charlie is rough.
("Charlie" "is" "rough" "+")
triple3
Charlie is white.
("Charlie" "is" "white" "+")
triple4
Charlie is young.
("Charlie" "is" "young" "+")
triple5
((triple3 ((triple3) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
triple6
Dave is kind.
("Dave" "is" "kind" "+")
triple7
((triple8) -> (rule6 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
triple8
Gary is big.
("Gary" "is" "big" "+")
triple9
Gary is furry.
("Gary" "is" "furry" "+")
triple10
Gary is kind.
("Gary" "is" "kind" "+")
triple11
((triple12) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((triple14 triple13) -> (rule1 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((((triple13) -> (rule5 % int2))) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
triple12
((triple13) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
triple13
Gary is white.
("Gary" "is" "white" "+")
triple14
Gary is young.
("Gary" "is" "young" "+")
triple15
((triple12 triple11) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((triple14 triple10) -> (rule4 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
((triple12 ((triple12) -> (rule6 % int2))) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
((triple12 ((triple14 triple13) -> (rule1 % int2))) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
((((triple13) -> (rule5 % int2)) triple11) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((((triple13) -> (rule5 % int3)) ((triple12) -> (rule6 % int2))) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((triple13) -> (rule5 % int3)) ((triple14 triple13) -> (rule1 % int2))) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((triple12 ((((triple13) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((triple13) -> (rule5 % int3)) ((((triple13) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule3 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple3) -> (rule6 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
((triple5) -> (rule2 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
((triple8 triple7) -> (rule3 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((triple8 ((triple8) -> (rule6 % int2))) -> (rule3 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2