Bob is quiet. Bob is red. Charlie is not nice. Charlie is not smart. Charlie is white. Erin is green. Erin is quiet. Erin is red. Erin is smart. Erin is white. Gary is big. Gary is nice. Gary is not red. Gary is smart. Gary is white. Red things are smart. If something is quiet and big then it is smart. If Erin is big then Erin is nice. If something is smart then it is nice. If something is red and quiet then it is green. All red things are big. If something is red and not smart then it is white. Nice, quiet things are white.
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Charlie is not nice.
("Charlie" "is" "nice" "-")
Charlie is not smart.
("Charlie" "is" "smart" "-")
Charlie is white.
("Charlie" "is" "white" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is red.
("Erin" "is" "red" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is white.
("Erin" "is" "white" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is not red.
("Gary" "is" "red" "-")
Gary is smart.
("Gary" "is" "smart" "+")
Gary is white.
("Gary" "is" "white" "+")
Red things are smart.
((("something" "is" "red" "+")) -> ("something" "is" "smart" "+"))
If something is quiet and big then it is smart.
((("something" "is" "quiet" "+") ("something" "is" "big" "+")) -> ("something" "is" "smart" "+"))
If Erin is big then Erin is nice.
((("Erin" "is" "big" "+")) -> ("Erin" "is" "nice" "+"))
If something is smart then it is nice.
((("something" "is" "smart" "+")) -> ("something" "is" "nice" "+"))
If something is red and quiet then it is green.
((("something" "is" "red" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "green" "+"))
All red things are big.
((("something" "is" "red" "+")) -> ("something" "is" "big" "+"))
If something is red and not smart then it is white.
((("something" "is" "red" "+") ("something" "is" "smart" "~")) -> ("something" "is" "white" "+"))
Nice, quiet things are white.
((("something" "is" "nice" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "white" "+"))
Charlie is white.
True
1
proof
[(triple5)]
("Charlie" "is" "white" "+")
triple5
Charlie is not white.
False
1
inv-proof
[(triple5)]
("Charlie" "is" "white" "-")
triple5
Erin is nice.
True
2
proof
[(((triple9) -> rule4) OR ((((triple8) -> rule1)) -> rule4) OR ((((triple8) -> rule6)) -> rule3) OR ((((triple7 ((triple8) -> rule6)) -> rule2)) -> rule4))]
("Erin" "is" "nice" "+")
((triple9) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple8) -> (rule1 % int2))) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
((((triple8) -> (rule6 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
((((triple7 ((triple8) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Erin is not big.
False
2
inv-proof
[(((triple8) -> rule6))]
("Erin" "is" "big" "-")
((triple8) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Bob is nice.
True
3
proof
[(((((triple2) -> rule1)) -> rule4) OR ((((triple1 ((triple2) -> rule6)) -> rule2)) -> rule4))]
("Bob" "is" "nice" "+")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple1 ((triple2) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is not nice.
False
3
inv-proof
[(((((triple2) -> rule1)) -> rule4) OR ((((triple1 ((triple2) -> rule6)) -> rule2)) -> rule4))]
("Bob" "is" "nice" "-")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple1 ((triple2) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is white.
True
5
proof
[(((((((triple2) -> rule1)) -> rule4) triple1) -> rule8) OR ((((((triple1 ((triple2) -> rule6)) -> rule2)) -> rule4) triple1) -> rule8))]
("Bob" "is" "white" "+")
((((((triple2) -> (rule1 % int3))) -> (rule4 % int2)) triple1) -> (rule8 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((triple1 ((triple2) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule4 % int2)) triple1) -> (rule8 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
Bob is not white.
False
5
inv-proof
[(((((((triple2) -> rule1)) -> rule4) triple1) -> rule8) OR ((((((triple1 ((triple2) -> rule6)) -> rule2)) -> rule4) triple1) -> rule8))]
("Bob" "is" "white" "-")
((((((triple2) -> (rule1 % int3))) -> (rule4 % int2)) triple1) -> (rule8 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((triple1 ((triple2) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule4 % int2)) triple1) -> (rule8 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
Charlie is not big.
Unknown
inv-rconc
[@1: Charlie is big.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "big" "-")
Gary is green.
Unknown
rconc
[@1: Gary is green.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Gary" "is" "green" "+")
Charlie is not green.
Unknown
inv-rconc
[@1: Charlie is green.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Charlie" "is" "green" "-")
Charlie is quiet.
Unknown
random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "+")
Charlie is not red.
Unknown
inv-random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "-")
Gary is quiet.
Unknown
random
[@0: Gary is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "quiet" "+")
@0: Bob is quiet.[(triple1)] Bob is red.[(triple2)] Charlie is not nice.[(triple3)] Charlie is not smart.[(triple4)] Charlie is white.[(triple5)] Erin is green.[(triple6 OR ((triple8 triple7) -> rule5))] Erin is quiet.[(triple7)] Erin is red.[(triple8)] Erin is smart.[(triple9 OR ((triple8) -> rule1) OR ((triple7 ((triple8) -> rule6)) -> rule2))] Erin is white.[(triple10 OR ((((triple9) -> rule4) triple7) -> rule8) OR ((((((triple8) -> rule1)) -> rule4) triple7) -> rule8) OR ((((((triple8) -> rule6)) -> rule3) triple7) -> rule8) OR ((((((triple7 ((triple8) -> rule6)) -> rule2)) -> rule4) triple7) -> rule8))] Gary is big.[(triple11)] Gary is nice.[(triple12 OR ((triple14) -> rule4))] Gary is not red.[(triple13)] Gary is smart.[(triple14)] Gary is white.[(triple15)] @1: Bob is big.[(((triple2) -> rule6))] Bob is green.[(((triple2 triple1) -> rule5))] Bob is smart.[(((triple2) -> rule1) OR ((triple1 ((triple2) -> rule6)) -> rule2))] Erin is big.[(((triple8) -> rule6))] Erin is nice.[(((triple9) -> rule4) OR ((((triple8) -> rule1)) -> rule4) OR ((((triple8) -> rule6)) -> rule3) OR ((((triple7 ((triple8) -> rule6)) -> rule2)) -> rule4))] @2: Bob is nice.[(((((triple2) -> rule1)) -> rule4) OR ((((triple1 ((triple2) -> rule6)) -> rule2)) -> rule4))] @3: Bob is white.[(((((((triple2) -> rule1)) -> rule4) triple1) -> rule8) OR ((((((triple1 ((triple2) -> rule6)) -> rule2)) -> rule4) triple1) -> rule8))]
Bob is quiet.
("Bob" "is" "quiet" "+")
triple1
Bob is red.
("Bob" "is" "red" "+")
triple2
Charlie is not nice.
("Charlie" "is" "nice" "-")
triple3
Charlie is not smart.
("Charlie" "is" "smart" "-")
triple4
Charlie is white.
("Charlie" "is" "white" "+")
triple5
Erin is green.
("Erin" "is" "green" "+")
triple6
((triple8 triple7) -> (rule5 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
triple7
Erin is red.
("Erin" "is" "red" "+")
triple8
Erin is smart.
("Erin" "is" "smart" "+")
triple9
((triple8) -> (rule1 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((triple7 ((triple8) -> (rule6 % int2))) -> (rule2 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
triple10
((((triple9) -> (rule4 % int2)) triple7) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
((((((triple8) -> (rule1 % int3))) -> (rule4 % int2)) triple7) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
((((((triple8) -> (rule6 % int3))) -> (rule3 % int2)) triple7) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
((((((triple7 ((triple8) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule4 % int2)) triple7) -> (rule8 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is smart.
("Erin" "is" "smart" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
int4
Gary is big.
("Gary" "is" "big" "+")
triple11
Gary is nice.
("Gary" "is" "nice" "+")
triple12
((triple14) -> (rule4 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is not red.
("Gary" "is" "red" "-")
triple13
Gary is smart.
("Gary" "is" "smart" "+")
triple14
Gary is white.
("Gary" "is" "white" "+")
triple15
Bob is big.
("Bob" "is" "big" "+")
((triple2) -> (rule6 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
((triple2 triple1) -> (rule5 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
((triple2) -> (rule1 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
((triple1 ((triple2) -> (rule6 % int2))) -> (rule2 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
((triple8) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
((triple9) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
((((triple8) -> (rule1 % int2))) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
((((triple8) -> (rule6 % int2))) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
((((triple7 ((triple8) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
((((triple1 ((triple2) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is smart.
("Bob" "is" "smart" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Bob is white.
("Bob" "is" "white" "+")
((((((triple2) -> (rule1 % int3))) -> (rule4 % int2)) triple1) -> (rule8 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
((((((triple1 ((triple2) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule4 % int2)) triple1) -> (rule8 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is smart.
("Bob" "is" "smart" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4