Bob is furry. Bob is nice. Erin is quiet. Erin is not rough. Erin is smart. Gary is furry. Gary is round. Harry is furry. Harry is not nice. Harry is quiet. Harry is red. Harry is round. All nice, smart things are rough. All rough, round things are quiet. If something is round and not smart then it is nice. If something is red and not rough then it is furry. If something is quiet and nice then it is furry. If something is quiet and smart then it is furry. If something is rough and nice then it is not furry. Furry things are red.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is not rough.
("Erin" "is" "rough" "-")
Erin is smart.
("Erin" "is" "smart" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is round.
("Gary" "is" "round" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is not nice.
("Harry" "is" "nice" "-")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is round.
("Harry" "is" "round" "+")
All nice, smart things are rough.
((("something" "is" "nice" "+") ("something" "is" "smart" "+")) -> ("something" "is" "rough" "+"))
All rough, round things are quiet.
((("something" "is" "rough" "+") ("something" "is" "round" "+")) -> ("something" "is" "quiet" "+"))
If something is round and not smart then it is nice.
((("something" "is" "round" "+") ("something" "is" "smart" "~")) -> ("something" "is" "nice" "+"))
If something is red and not rough then it is furry.
((("something" "is" "red" "+") ("something" "is" "rough" "~")) -> ("something" "is" "furry" "+"))
If something is quiet and nice then it is furry.
((("something" "is" "quiet" "+") ("something" "is" "nice" "+")) -> ("something" "is" "furry" "+"))
If something is quiet and smart then it is furry.
((("something" "is" "quiet" "+") ("something" "is" "smart" "+")) -> ("something" "is" "furry" "+"))
If something is rough and nice then it is not furry.
((("something" "is" "rough" "+") ("something" "is" "nice" "+")) -> ("something" "is" "furry" "-"))
Furry things are red.
((("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
Erin is smart.
True
1
proof
[(triple5)]
("Erin" "is" "smart" "+")
triple5
Bob is not furry.
False
1
inv-proof
[(triple1)]
("Bob" "is" "furry" "-")
triple1
Erin is furry.
True
3
proof
[(((triple3 triple5) -> rule6))]
("Erin" "is" "furry" "+")
((triple3 triple5) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Bob is not red.
False
2
inv-proof
[(((triple1) -> rule8))]
("Bob" "is" "red" "-")
((triple1) -> (rule8 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Gary is not nice.
Unknown
inv-rconc
[@1: Gary is nice.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Gary" "is" "nice" "-")
Gary is quiet.
Unknown
rconc
[@2: Gary is quiet.[CWA. Example of deepest failure = (rule2 <- rule1 <- FAIL)]]
("Gary" "is" "quiet" "+")
Gary is not smart.
Unknown
inv-random
[@0: Gary is smart.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "smart" "-")
Bob is smart.
Unknown
random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "+")
@0: Bob is furry.[(triple1)] Bob is nice.[(triple2)] Erin is not rough.[(triple4)] Erin is quiet.[(triple3)] Erin is smart.[(triple5)] Gary is furry.[(triple6)] Gary is round.[(triple7)] Harry is furry.[(triple8)] Harry is not nice.[(triple9)] Harry is quiet.[(triple10)] Harry is red.[(triple11 OR ((triple8) -> rule8))] Harry is round.[(triple12)] @1: Bob is red.[(((triple1) -> rule8))] Erin is furry.[(((triple3 triple5) -> rule6))] Gary is red.[(((triple6) -> rule8))] @2: Erin is red.[(((((triple3 triple5) -> rule6)) -> rule8))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Erin is not rough.
("Erin" "is" "rough" "-")
triple4
Erin is quiet.
("Erin" "is" "quiet" "+")
triple3
Erin is smart.
("Erin" "is" "smart" "+")
triple5
Gary is furry.
("Gary" "is" "furry" "+")
triple6
Gary is round.
("Gary" "is" "round" "+")
triple7
Harry is furry.
("Harry" "is" "furry" "+")
triple8
Harry is not nice.
("Harry" "is" "nice" "-")
triple9
Harry is quiet.
("Harry" "is" "quiet" "+")
triple10
Harry is red.
("Harry" "is" "red" "+")
triple11
((triple8) -> (rule8 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
triple12
Bob is red.
("Bob" "is" "red" "+")
((triple1) -> (rule8 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((triple3 triple5) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
((triple6) -> (rule8 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
((((triple3 triple5) -> (rule6 % int2))) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2