Bob is green. Bob is kind. Bob is quiet. Bob is red. Bob is round. Charlie is furry. Charlie is round. Charlie is young. Harry is furry. Harry is kind. Harry is round. Harry is young. If someone is red then they are furry. All young, quiet people are kind. If Harry is red then Harry is furry. Furry people are red. If someone is furry and round then they are young. Kind, young people are round.
Bob is green.
("Bob" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is round.
("Bob" "is" "round" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is young.
("Harry" "is" "young" "+")
If someone is red then they are furry.
((("someone" "is" "red" "+")) -> ("someone" "is" "furry" "+"))
All young, quiet people are kind.
((("someone" "is" "young" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "kind" "+"))
If Harry is red then Harry is furry.
((("Harry" "is" "red" "+")) -> ("Harry" "is" "furry" "+"))
Furry people are red.
((("someone" "is" "furry" "+")) -> ("someone" "is" "red" "+"))
If someone is furry and round then they are young.
((("someone" "is" "furry" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "young" "+"))
Kind, young people are round.
((("someone" "is" "kind" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "round" "+"))
Charlie is round.
True
1
proof
[(triple7)]
("Charlie" "is" "round" "+")
triple7
Harry is not furry.
False
1
inv-proof
[(triple9)]
("Harry" "is" "furry" "-")
triple9
Charlie is not kind.
Unknown
inv-rconc
[@1: Charlie is kind.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Charlie" "is" "kind" "-")
Harry is quiet.
Unknown
random
[@0: Harry is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "quiet" "+")
@0: Bob is green.[(triple1)] Bob is kind.[(triple2 OR ((((((triple4) -> rule1) triple5) -> rule5) triple3) -> rule2))] Bob is quiet.[(triple3)] Bob is red.[(triple4)] Bob is round.[(triple5)] Charlie is furry.[(triple6)] Charlie is round.[(triple7)] Charlie is young.[(triple8 OR ((triple6 triple7) -> rule5))] Harry is furry.[(triple9)] Harry is kind.[(triple10)] Harry is round.[(triple11 OR ((triple10 triple12) -> rule6))] Harry is young.[(triple12 OR ((triple9 triple11) -> rule5))] @1: Bob is furry.[(((triple4) -> rule1))] Charlie is red.[(((triple6) -> rule4))] Harry is red.[(((triple9) -> rule4))] @2: Bob is young.[(((((triple4) -> rule1) triple5) -> rule5))]
Bob is green.
("Bob" "is" "green" "+")
triple1
Bob is kind.
("Bob" "is" "kind" "+")
triple2
((((((triple4) -> (rule1 % int3)) triple5) -> (rule5 % int2)) triple3) -> (rule2 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
Bob is red.
("Bob" "is" "red" "+")
triple4
Bob is round.
("Bob" "is" "round" "+")
triple5
Charlie is furry.
("Charlie" "is" "furry" "+")
triple6
Charlie is round.
("Charlie" "is" "round" "+")
triple7
Charlie is young.
("Charlie" "is" "young" "+")
triple8
((triple6 triple7) -> (rule5 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Harry is furry.
("Harry" "is" "furry" "+")
triple9
Harry is kind.
("Harry" "is" "kind" "+")
triple10
Harry is round.
("Harry" "is" "round" "+")
triple11
((triple10 triple12) -> (rule6 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
triple12
((triple9 triple11) -> (rule5 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
((triple4) -> (rule1 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
((triple6) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
((triple9) -> (rule4 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
((((triple4) -> (rule1 % int2)) triple5) -> (rule5 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2