Bob is kind. Bob is nice. Bob is quiet. Bob is not white. Bob is young. Charlie is cold. Charlie is round. Charlie is white. Charlie is young. Dave is quiet. Gary is cold. Gary is kind. Gary is nice. Gary is quiet. Gary is round. Gary is young. If someone is round then they are nice. Young people are nice. All cold, nice people are round. Kind people are round. Cold, white people are kind. Nice people are quiet.
Bob is kind.
("Bob" "is" "kind" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is not white.
("Bob" "is" "white" "-")
Bob is young.
("Bob" "is" "young" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is young.
("Gary" "is" "young" "+")
If someone is round then they are nice.
((("someone" "is" "round" "+")) -> ("someone" "is" "nice" "+"))
Young people are nice.
((("someone" "is" "young" "+")) -> ("someone" "is" "nice" "+"))
All cold, nice people are round.
((("someone" "is" "cold" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "round" "+"))
Kind people are round.
((("someone" "is" "kind" "+")) -> ("someone" "is" "round" "+"))
Cold, white people are kind.
((("someone" "is" "cold" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "kind" "+"))
Nice people are quiet.
((("someone" "is" "nice" "+")) -> ("someone" "is" "quiet" "+"))
Bob is not white.
True
1
proof
[(triple4)]
("Bob" "is" "white" "-")
triple4
Charlie is not cold.
False
1
inv-proof
[(triple6)]
("Charlie" "is" "cold" "-")
triple6
Bob is round.
True
2
proof
[(((triple1) -> rule4))]
("Bob" "is" "round" "+")
((triple1) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Charlie is not kind.
False
3
inv-proof
[(((triple6 triple8) -> rule5))]
("Charlie" "is" "kind" "-")
((triple6 triple8) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
True
3
proof
[(((((triple7) -> rule1)) -> rule6) OR ((((triple9) -> rule2)) -> rule6) OR ((((((((triple6 triple8) -> rule5)) -> rule4)) -> rule1)) -> rule6))]
("Charlie" "is" "quiet" "+")
((((triple7) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((triple9) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((((((triple6 triple8) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Charlie is not quiet.
False
3
inv-proof
[(((((triple7) -> rule1)) -> rule6) OR ((((triple9) -> rule2)) -> rule6) OR ((((((((triple6 triple8) -> rule5)) -> rule4)) -> rule1)) -> rule6))]
("Charlie" "is" "quiet" "-")
((((triple7) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((triple9) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((((((triple6 triple8) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4
Dave is not nice.
Unknown
inv-rconc
[@3: Dave is nice.[CWA. Example of deepest failure = (rule1 <- rule4 <- rule5 <- FAIL)]]
("Dave" "is" "nice" "-")
Dave is kind.
Unknown
rconc
[@1: Dave is kind.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Dave" "is" "kind" "+")
Dave is not round.
Unknown
inv-rconc
[@2: Dave is round.[CWA. Example of deepest failure = (rule4 <- rule5 <- FAIL)]]
("Dave" "is" "round" "-")
Bob is cold.
Unknown
random
[@0: Bob is cold.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "cold" "+")
Dave is not cold.
Unknown
inv-random
[@0: Dave is cold.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "cold" "-")
Dave is white.
Unknown
random
[@0: Dave is white.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "white" "+")
@0: Bob is kind.[(triple1)] Bob is nice.[(triple2 OR ((triple5) -> rule2) OR ((((triple1) -> rule4)) -> rule1))] Bob is not white.[(triple4)] Bob is quiet.[(triple3 OR ((triple2) -> rule6) OR ((((triple5) -> rule2)) -> rule6) OR ((((((triple1) -> rule4)) -> rule1)) -> rule6))] Bob is young.[(triple5)] Charlie is cold.[(triple6)] Charlie is round.[(triple7 OR ((((triple6 triple8) -> rule5)) -> rule4) OR ((triple6 ((triple9) -> rule2)) -> rule3))] Charlie is white.[(triple8)] Charlie is young.[(triple9)] Dave is quiet.[(triple10)] Gary is cold.[(triple11)] Gary is kind.[(triple12)] Gary is nice.[(triple13 OR ((triple15) -> rule1) OR ((triple16) -> rule2) OR ((((triple12) -> rule4)) -> rule1))] Gary is quiet.[(triple14 OR ((triple13) -> rule6) OR ((((triple15) -> rule1)) -> rule6) OR ((((triple16) -> rule2)) -> rule6) OR ((((((triple12) -> rule4)) -> rule1)) -> rule6))] Gary is round.[(triple15 OR ((triple12) -> rule4) OR ((triple11 triple13) -> rule3) OR ((triple11 ((triple16) -> rule2)) -> rule3))] Gary is young.[(triple16)] @1: Bob is round.[(((triple1) -> rule4))] Charlie is kind.[(((triple6 triple8) -> rule5))] Charlie is nice.[(((triple7) -> rule1) OR ((triple9) -> rule2) OR ((((((triple6 triple8) -> rule5)) -> rule4)) -> rule1))] @2: Charlie is quiet.[(((((triple7) -> rule1)) -> rule6) OR ((((triple9) -> rule2)) -> rule6) OR ((((((((triple6 triple8) -> rule5)) -> rule4)) -> rule1)) -> rule6))]
Bob is kind.
("Bob" "is" "kind" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
((triple5) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
((((triple1) -> (rule4 % int2))) -> (rule1 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is not white.
("Bob" "is" "white" "-")
triple4
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
((triple2) -> (rule6 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((triple5) -> (rule2 % int2))) -> (rule6 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
((((((triple1) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
triple5
Charlie is cold.
("Charlie" "is" "cold" "+")
triple6
Charlie is round.
("Charlie" "is" "round" "+")
triple7
((((triple6 triple8) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
((triple6 ((triple9) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
triple8
Charlie is young.
("Charlie" "is" "young" "+")
triple9
Dave is quiet.
("Dave" "is" "quiet" "+")
triple10
Gary is cold.
("Gary" "is" "cold" "+")
triple11
Gary is kind.
("Gary" "is" "kind" "+")
triple12
Gary is nice.
("Gary" "is" "nice" "+")
triple13
((triple15) -> (rule1 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((triple16) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((((triple12) -> (rule4 % int2))) -> (rule1 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
triple14
((triple13) -> (rule6 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple15) -> (rule1 % int2))) -> (rule6 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
((((triple16) -> (rule2 % int2))) -> (rule6 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
((((((triple12) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is round.
("Gary" "is" "round" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
triple15
((triple12) -> (rule4 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
((triple11 triple13) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
((triple11 ((triple16) -> (rule2 % int2))) -> (rule3 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
triple16
Bob is round.
("Bob" "is" "round" "+")
((triple1) -> (rule4 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple6 triple8) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple7) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((triple9) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((((((triple6 triple8) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((((triple7) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((triple9) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((((((((triple6 triple8) -> (rule5 % int4))) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is kind.
("Charlie" "is" "kind" "+")
int4