Anne is kind. Anne is nice. Anne is rough. Bob is not furry. Bob is not red. Charlie is kind. Charlie is red. Charlie is rough. Gary is furry. Gary is kind. Gary is nice. Gary is rough. Quiet, kind things are rough. Furry things are rough. If something is rough then it is quiet. Rough, quiet things are blue. If something is kind then it is nice. If Bob is blue and Bob is not kind then Bob is rough.
Anne is kind.
("Anne" "is" "kind" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Bob is not furry.
("Bob" "is" "furry" "-")
Bob is not red.
("Bob" "is" "red" "-")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Quiet, kind things are rough.
((("something" "is" "quiet" "+") ("something" "is" "kind" "+")) -> ("something" "is" "rough" "+"))
Furry things are rough.
((("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
If something is rough then it is quiet.
((("something" "is" "rough" "+")) -> ("something" "is" "quiet" "+"))
Rough, quiet things are blue.
((("something" "is" "rough" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "blue" "+"))
If something is kind then it is nice.
((("something" "is" "kind" "+")) -> ("something" "is" "nice" "+"))
If Bob is blue and Bob is not kind then Bob is rough.
((("Bob" "is" "blue" "+") ("Bob" "is" "kind" "~")) -> ("Bob" "is" "rough" "+"))
Bob is not red.
True
1
proof
[(triple5)]
("Bob" "is" "red" "-")
triple5
Bob is red.
False
1
inv-proof
[(triple5)]
("Bob" "is" "red" "+")
triple5
Gary is quiet.
True
2
proof
[(((triple12) -> rule3) OR ((((triple9) -> rule2)) -> rule3))]
("Gary" "is" "quiet" "+")
((triple12) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple9) -> (rule2 % int2))) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is not quiet.
False
2
inv-proof
[(((triple12) -> rule3) OR ((((triple9) -> rule2)) -> rule3))]
("Gary" "is" "quiet" "-")
((triple12) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple9) -> (rule2 % int2))) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Charlie is blue.
True
4
proof
[(((triple8 ((triple8) -> rule3)) -> rule4))]
("Charlie" "is" "blue" "+")
((triple8 ((triple8) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Anne is not blue.
False
4
inv-proof
[(((triple3 ((triple3) -> rule3)) -> rule4))]
("Anne" "is" "blue" "-")
((triple3 ((triple3) -> (rule3 % int2))) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Bob is not blue.
Unknown
inv-rconc
[@2: Bob is blue.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Bob" "is" "blue" "-")
Bob is rough.
Unknown
rconc
[@1: Bob is rough.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "rough" "+")
Bob is not quiet.
Unknown
inv-rconc
[@2: Bob is quiet.[CWA. Example of deepest failure = (rule3 <- rule1 <- FAIL)]]
("Bob" "is" "quiet" "-")
Anne is red.
Unknown
random
[@0: Anne is red.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "red" "+")
Gary is not red.
Unknown
inv-random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "-")
Bob is kind.
Unknown
random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "+")
@0: Anne is kind.[(triple1)] Anne is nice.[(triple2 OR ((triple1) -> rule5))] Anne is rough.[(triple3)] Bob is not furry.[(triple4)] Bob is not red.[(triple5)] Charlie is kind.[(triple6)] Charlie is red.[(triple7)] Charlie is rough.[(triple8)] Gary is furry.[(triple9)] Gary is kind.[(triple10)] Gary is nice.[(triple11 OR ((triple10) -> rule5))] Gary is rough.[(triple12 OR ((triple9) -> rule2))] @1: Anne is quiet.[(((triple3) -> rule3))] Charlie is nice.[(((triple6) -> rule5))] Charlie is quiet.[(((triple8) -> rule3))] Gary is quiet.[(((triple12) -> rule3) OR ((((triple9) -> rule2)) -> rule3))] @2: Anne is blue.[(((triple3 ((triple3) -> rule3)) -> rule4))] Charlie is blue.[(((triple8 ((triple8) -> rule3)) -> rule4))] Gary is blue.[(((triple12 ((triple12) -> rule3)) -> rule4) OR ((((triple9) -> rule2) ((triple12) -> rule3)) -> rule4) OR ((triple12 ((((triple9) -> rule2)) -> rule3)) -> rule4) OR ((((triple9) -> rule2) ((((triple9) -> rule2)) -> rule3)) -> rule4))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Anne is nice.
("Anne" "is" "nice" "+")
triple2
((triple1) -> (rule5 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
triple3
Bob is not furry.
("Bob" "is" "furry" "-")
triple4
Bob is not red.
("Bob" "is" "red" "-")
triple5
Charlie is kind.
("Charlie" "is" "kind" "+")
triple6
Charlie is red.
("Charlie" "is" "red" "+")
triple7
Charlie is rough.
("Charlie" "is" "rough" "+")
triple8
Gary is furry.
("Gary" "is" "furry" "+")
triple9
Gary is kind.
("Gary" "is" "kind" "+")
triple10
Gary is nice.
("Gary" "is" "nice" "+")
triple11
((triple10) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
triple12
((triple9) -> (rule2 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
((triple3) -> (rule3 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple6) -> (rule5 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple8) -> (rule3 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
((triple12) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple9) -> (rule2 % int2))) -> (rule3 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
((triple3 ((triple3) -> (rule3 % int2))) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is quiet.
("Anne" "is" "quiet" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple8 ((triple8) -> (rule3 % int2))) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
((triple12 ((triple12) -> (rule3 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
((((triple9) -> (rule2 % int3)) ((triple12) -> (rule3 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((triple12 ((((triple9) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((triple9) -> (rule2 % int3)) ((((triple9) -> (rule2 % int3))) -> (rule3 % int2))) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3