Anne is red. Bob is kind. Bob is white. Erin is cold. Erin is kind. Gary is rough. Gary is smart. If someone is smart then they are red. Blue, red people are kind. All red, smart people are cold. If Erin is blue then Erin is red. All white people are kind. Cold, rough people are white. If someone is kind and white then they are blue. All cold, rough people are white.
Anne is red.
("Anne" "is" "red" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is white.
("Bob" "is" "white" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is smart.
("Gary" "is" "smart" "+")
If someone is smart then they are red.
((("someone" "is" "smart" "+")) -> ("someone" "is" "red" "+"))
Blue, red people are kind.
((("someone" "is" "blue" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "kind" "+"))
All red, smart people are cold.
((("someone" "is" "red" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "cold" "+"))
If Erin is blue then Erin is red.
((("Erin" "is" "blue" "+")) -> ("Erin" "is" "red" "+"))
All white people are kind.
((("someone" "is" "white" "+")) -> ("someone" "is" "kind" "+"))
Cold, rough people are white.
((("someone" "is" "cold" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
If someone is kind and white then they are blue.
((("someone" "is" "kind" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "blue" "+"))
All cold, rough people are white.
((("someone" "is" "cold" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
Anne is red.
True
1
proof
[(triple1)]
("Anne" "is" "red" "+")
triple1
Gary is not rough.
False
1
inv-proof
[(triple6)]
("Gary" "is" "rough" "-")
triple6
Bob is blue.
True
3
proof
[(((triple2 triple3) -> rule7) OR ((((triple3) -> rule5) triple3) -> rule7))]
("Bob" "is" "blue" "+")
((triple2 triple3) -> (rule7 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple3) -> (rule5 % int2)) triple3) -> (rule7 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Bob is not blue.
False
3
inv-proof
[(((triple2 triple3) -> rule7) OR ((((triple3) -> rule5) triple3) -> rule7))]
("Bob" "is" "blue" "-")
((triple2 triple3) -> (rule7 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple3) -> (rule5 % int2)) triple3) -> (rule7 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Gary is cold.
True
4
proof
[(((((triple7) -> rule1) triple7) -> rule3))]
("Gary" "is" "cold" "+")
((((triple7) -> (rule1 % int2)) triple7) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is not cold.
False
4
inv-proof
[(((((triple7) -> rule1) triple7) -> rule3))]
("Gary" "is" "cold" "-")
((((triple7) -> (rule1 % int2)) triple7) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is white.
True
6
proof
[(((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6) OR ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8))]
("Gary" "is" "white" "+")
((((((triple7) -> (rule1 % int3)) triple7) -> (rule3 % int2)) triple6) -> (rule6 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
((((((triple7) -> (rule1 % int3)) triple7) -> (rule3 % int2)) triple6) -> (rule8 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is not white.
False
6
inv-proof
[(((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6) OR ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8))]
("Gary" "is" "white" "-")
((((((triple7) -> (rule1 % int3)) triple7) -> (rule3 % int2)) triple6) -> (rule6 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
((((((triple7) -> (rule1 % int3)) triple7) -> (rule3 % int2)) triple6) -> (rule8 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is kind.
True
7
proof
[(((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule5) OR ((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule5))]
("Gary" "is" "kind" "+")
((((((((triple7) -> (rule1 % int4)) triple7) -> (rule3 % int3)) triple6) -> (rule6 % int2))) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
((((((((triple7) -> (rule1 % int4)) triple7) -> (rule3 % int3)) triple6) -> (rule8 % int2))) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
Gary is not kind.
False
7
inv-proof
[(((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule5) OR ((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule5))]
("Gary" "is" "kind" "-")
((((((((triple7) -> (rule1 % int4)) triple7) -> (rule3 % int3)) triple6) -> (rule6 % int2))) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
((((((((triple7) -> (rule1 % int4)) triple7) -> (rule3 % int3)) triple6) -> (rule8 % int2))) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
Gary is blue.
True
14
proof
[(((((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule5) ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule7) OR ((((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule5) ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule7) OR ((((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule5) ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule7) OR ((((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule5) ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule7))]
("Gary" "is" "blue" "+")
((((((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule6 % int3))) -> (rule5 % int2)) ((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule6 % int3))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
int5
((((((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule6 % int3))) -> (rule5 % int2)) ((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule8 % int3))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
int5
((((((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule8 % int3))) -> (rule5 % int2)) ((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule6 % int3))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
int5
((((((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule8 % int3))) -> (rule5 % int2)) ((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule8 % int3))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
int5
Gary is not blue.
False
14
inv-proof
[(((((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule5) ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule7) OR ((((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule5) ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule7) OR ((((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule5) ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule7) OR ((((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule5) ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule7))]
("Gary" "is" "blue" "-")
((((((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule6 % int3))) -> (rule5 % int2)) ((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule6 % int3))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
int5
((((((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule6 % int3))) -> (rule5 % int2)) ((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule8 % int3))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
int5
((((((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule8 % int3))) -> (rule5 % int2)) ((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule6 % int3))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
int5
((((((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule8 % int3))) -> (rule5 % int2)) ((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule8 % int3))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
int5
Erin is not white.
Unknown
inv-rconc
[@1: Erin is white.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Erin" "is" "white" "-")
Erin is red.
Unknown
rconc
[@3: Erin is red.[CWA. Example of deepest failure = (rule4 <- rule7 <- rule6 <- FAIL)]]
("Erin" "is" "red" "+")
Erin is not blue.
Unknown
inv-rconc
[@2: Erin is blue.[CWA. Example of deepest failure = (rule7 <- rule6 <- FAIL)]]
("Erin" "is" "blue" "-")
Anne is kind.
Unknown
rconc
[@3: Anne is kind.[CWA. Example of deepest failure = (rule2 <- rule7 <- rule6 <- FAIL)]]
("Anne" "is" "kind" "+")
Anne is not blue.
Unknown
inv-rconc
[@2: Anne is blue.[CWA. Example of deepest failure = (rule7 <- rule6 <- FAIL)]]
("Anne" "is" "blue" "-")
Bob is cold.
Unknown
rconc
[@1: Bob is cold.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Bob" "is" "cold" "+")
Anne is not rough.
Unknown
inv-random
[@0: Anne is rough.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "rough" "-")
Bob is rough.
Unknown
random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "+")
Anne is not smart.
Unknown
inv-random
[@0: Anne is smart.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "smart" "-")
Erin is rough.
Unknown
random
[@0: Erin is rough.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "rough" "+")
Bob is not smart.
Unknown
inv-random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "-")
Erin is smart.
Unknown
random
[@0: Erin is smart.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "smart" "+")
@0: Anne is red.[(triple1)] Bob is kind.[(triple2 OR ((triple3) -> rule5))] Bob is white.[(triple3)] Erin is cold.[(triple4)] Erin is kind.[(triple5)] Gary is rough.[(triple6)] Gary is smart.[(triple7)] @1: Bob is blue.[(((triple2 triple3) -> rule7) OR ((((triple3) -> rule5) triple3) -> rule7))] Gary is red.[(((triple7) -> rule1))] @2: Gary is cold.[(((((triple7) -> rule1) triple7) -> rule3))] @3: Gary is white.[(((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6) OR ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8))] @4: Gary is kind.[(((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule5) OR ((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule5))] @5: Gary is blue.[(((((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule5) ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule7) OR ((((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule5) ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule7) OR ((((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule5) ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule6)) -> rule7) OR ((((((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule5) ((((((triple7) -> rule1) triple7) -> rule3) triple6) -> rule8)) -> rule7))]
Anne is red.
("Anne" "is" "red" "+")
triple1
Bob is kind.
("Bob" "is" "kind" "+")
triple2
((triple3) -> (rule5 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
triple3
Erin is cold.
("Erin" "is" "cold" "+")
triple4
Erin is kind.
("Erin" "is" "kind" "+")
triple5
Gary is rough.
("Gary" "is" "rough" "+")
triple6
Gary is smart.
("Gary" "is" "smart" "+")
triple7
Bob is blue.
("Bob" "is" "blue" "+")
((triple2 triple3) -> (rule7 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple3) -> (rule5 % int2)) triple3) -> (rule7 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
((triple7) -> (rule1 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
((((triple7) -> (rule1 % int2)) triple7) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
((((((triple7) -> (rule1 % int3)) triple7) -> (rule3 % int2)) triple6) -> (rule6 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
((((((triple7) -> (rule1 % int3)) triple7) -> (rule3 % int2)) triple6) -> (rule8 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
((((((((triple7) -> (rule1 % int4)) triple7) -> (rule3 % int3)) triple6) -> (rule6 % int2))) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
((((((((triple7) -> (rule1 % int4)) triple7) -> (rule3 % int3)) triple6) -> (rule8 % int2))) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is red.
("Gary" "is" "red" "+")
int4
Gary is blue.
("Gary" "is" "blue" "+")
((((((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule6 % int3))) -> (rule5 % int2)) ((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule6 % int3))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
int5
((((((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule6 % int3))) -> (rule5 % int2)) ((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule8 % int3))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
int5
((((((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule8 % int3))) -> (rule5 % int2)) ((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule6 % int3))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
int5
((((((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule8 % int3))) -> (rule5 % int2)) ((((((triple7) -> (rule1 % int5)) triple7) -> (rule3 % int4)) triple6) -> (rule8 % int3))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
int4
Gary is red.
("Gary" "is" "red" "+")
int5