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