Bob is smart. Bob is white. Bob is young. Charlie is blue. Charlie is red. Charlie is white. Charlie is young. Gary is blue. Gary is furry. Gary is not white. Blue, quiet people are smart. All smart people are white. If someone is white then they are quiet. If someone is white then they are blue. If someone is smart and not white then they are young. If someone is smart and not blue then they are not furry.
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is not white.
("Gary" "is" "white" "-")
Blue, quiet people are smart.
((("someone" "is" "blue" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "smart" "+"))
All smart people are white.
((("someone" "is" "smart" "+")) -> ("someone" "is" "white" "+"))
If someone is white then they are quiet.
((("someone" "is" "white" "+")) -> ("someone" "is" "quiet" "+"))
If someone is white then they are blue.
((("someone" "is" "white" "+")) -> ("someone" "is" "blue" "+"))
If someone is smart and not white then they are young.
((("someone" "is" "smart" "+") ("someone" "is" "white" "~")) -> ("someone" "is" "young" "+"))
If someone is smart and not blue then they are not furry.
((("someone" "is" "smart" "+") ("someone" "is" "blue" "~")) -> ("someone" "is" "furry" "-"))
Charlie is red.
True
1
proof
[(triple5)]
("Charlie" "is" "red" "+")
triple5
Gary is not furry.
False
1
inv-proof
[(triple9)]
("Gary" "is" "furry" "-")
triple9
Charlie is quiet.
True
2
proof
[(((triple6) -> rule3))]
("Charlie" "is" "quiet" "+")
((triple6) -> (rule3 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Bob is not quiet.
False
2
inv-proof
[(((triple2) -> rule3) OR ((((triple1) -> rule2)) -> rule3))]
("Bob" "is" "quiet" "-")
((triple2) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((triple1) -> (rule2 % int2))) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Charlie is smart.
True
4
proof
[(((triple4 ((triple6) -> rule3)) -> rule1) OR ((((triple6) -> rule4) ((triple6) -> rule3)) -> rule1))]
("Charlie" "is" "smart" "+")
((triple4 ((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple6) -> (rule4 % int3)) ((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is not smart.
False
4
inv-proof
[(((triple4 ((triple6) -> rule3)) -> rule1) OR ((((triple6) -> rule4) ((triple6) -> rule3)) -> rule1))]
("Charlie" "is" "smart" "-")
((triple4 ((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple6) -> (rule4 % int3)) ((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Gary is not smart.
Unknown
inv-rconc
[@2: Gary is smart.[CWA. Example of deepest failure = (rule1 <- rule3 <- FAIL)]]
("Gary" "is" "smart" "-")
Gary is quiet.
Unknown
rconc
[@1: Gary is quiet.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Gary" "is" "quiet" "+")
Gary is not young.
Unknown
inv-rconc
[@1: Gary is young.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Gary" "is" "young" "-")
Bob is furry.
Unknown
random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "+")
Gary is not red.
Unknown
inv-random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "-")
Bob is red.
Unknown
random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "+")
@0: Bob is smart.[(triple1 OR ((((triple2) -> rule4) ((triple2) -> rule3)) -> rule1))] Bob is white.[(triple2 OR ((triple1) -> rule2))] Bob is young.[(triple3)] Charlie is blue.[(triple4 OR ((triple6) -> rule4))] Charlie is red.[(triple5)] Charlie is white.[(triple6)] Charlie is young.[(triple7)] Gary is blue.[(triple8)] Gary is furry.[(triple9)] Gary is not white.[(triple10)] @1: Bob is blue.[(((triple2) -> rule4) OR ((((triple1) -> rule2)) -> rule4))] Bob is quiet.[(((triple2) -> rule3) OR ((((triple1) -> rule2)) -> rule3))] Charlie is quiet.[(((triple6) -> rule3))] @2: Charlie is smart.[(((triple4 ((triple6) -> rule3)) -> rule1) OR ((((triple6) -> rule4) ((triple6) -> rule3)) -> rule1))]
Bob is smart.
("Bob" "is" "smart" "+")
triple1
((((triple2) -> (rule4 % int3)) ((triple2) -> (rule3 % int2))) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
triple2
((triple1) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
triple3
Charlie is blue.
("Charlie" "is" "blue" "+")
triple4
((triple6) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
triple5
Charlie is white.
("Charlie" "is" "white" "+")
triple6
Charlie is young.
("Charlie" "is" "young" "+")
triple7
Gary is blue.
("Gary" "is" "blue" "+")
triple8
Gary is furry.
("Gary" "is" "furry" "+")
triple9
Gary is not white.
("Gary" "is" "white" "-")
triple10
Bob is blue.
("Bob" "is" "blue" "+")
((triple2) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple1) -> (rule2 % int2))) -> (rule4 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple2) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((triple1) -> (rule2 % int2))) -> (rule3 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple6) -> (rule3 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
((triple4 ((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple6) -> (rule4 % int3)) ((triple6) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3