Anne is blue. Charlie is blue. Erin is not nice. If something is red and white then it is not nice. If Charlie is not rough then Charlie is red. All red, nice things are green. All blue things are green. If Anne is white then Anne is not red. If Erin is green then Erin is blue. All green things are white. If Anne is blue and Anne is not nice then Anne is not rough.
Anne is blue.
("Anne" "is" "blue" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Erin is not nice.
("Erin" "is" "nice" "-")
If something is red and white then it is not nice.
((("something" "is" "red" "+") ("something" "is" "white" "+")) -> ("something" "is" "nice" "-"))
If Charlie is not rough then Charlie is red.
((("Charlie" "is" "rough" "~")) -> ("Charlie" "is" "red" "+"))
All red, nice things are green.
((("something" "is" "red" "+") ("something" "is" "nice" "+")) -> ("something" "is" "green" "+"))
All blue things are green.
((("something" "is" "blue" "+")) -> ("something" "is" "green" "+"))
If Anne is white then Anne is not red.
((("Anne" "is" "white" "+")) -> ("Anne" "is" "red" "-"))
If Erin is green then Erin is blue.
((("Erin" "is" "green" "+")) -> ("Erin" "is" "blue" "+"))
All green things are white.
((("something" "is" "green" "+")) -> ("something" "is" "white" "+"))
If Anne is blue and Anne is not nice then Anne is not rough.
((("Anne" "is" "blue" "+") ("Anne" "is" "nice" "~")) -> ("Anne" "is" "rough" "-"))
Anne is blue.
True
1
proof
[(triple1)]
("Anne" "is" "blue" "+")
triple1
Charlie is not blue.
False
1
inv-proof
[(triple2)]
("Charlie" "is" "blue" "-")
triple2
Charlie is green.
True
2
proof
[(((triple2) -> rule4))]
("Charlie" "is" "green" "+")
((triple2) -> (rule4 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Anne is not green.
False
2
inv-proof
[(((triple1) -> rule4))]
("Anne" "is" "green" "-")
((triple1) -> (rule4 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Charlie is white.
True
3
proof
[(((((triple2) -> rule4)) -> rule7))]
("Charlie" "is" "white" "+")
((((triple2) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is not white.
False
3
inv-proof
[(((((triple2) -> rule4)) -> rule7))]
("Charlie" "is" "white" "-")
((((triple2) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Anne is not red.
True
4
proof
[(((((((triple1) -> rule4)) -> rule7)) -> rule5))]
("Anne" "is" "red" "-")
((((((triple1) -> (rule4 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Anne is not red.
("Anne" "is" "red" "-")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is red.
False
4
inv-proof
[(((((((triple1) -> rule4)) -> rule7)) -> rule5))]
("Anne" "is" "red" "+")
((((((triple1) -> (rule4 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Anne is not red.
("Anne" "is" "red" "-")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Charlie is not red.
Unknown
inv-rconc
[@1: Charlie is red.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Charlie" "is" "red" "-")
Erin is blue.
Unknown
rconc
[@2: Erin is blue.[CWA. Example of deepest failure = (rule6 <- rule3 <- FAIL)]]
("Erin" "is" "blue" "+")
Erin is not green.
Unknown
inv-rconc
[@3: Erin is green.[CWA. Example of deepest failure = (rule4 <- rule6 <- rule3 <- FAIL)]]
("Erin" "is" "green" "-")
Erin is white.
Unknown
rconc
[@4: Erin is white.[CWA. Example of deepest failure = (rule7 <- rule4 <- rule6 <- rule3 <- FAIL)]]
("Erin" "is" "white" "+")
Charlie is not furry.
Unknown
inv-random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "-")
Anne is furry.
Unknown
random
[@0: Anne is furry.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "furry" "+")
Erin is not red.
Unknown
inv-random
[@0: Erin is red.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "red" "-")
Anne is rough.
Unknown
random
[@0: Anne is rough.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "rough" "+")
@0: Anne is blue.[(triple1)] Charlie is blue.[(triple2)] Erin is not nice.[(triple3)] @1: Anne is green.[(((triple1) -> rule4))] Charlie is green.[(((triple2) -> rule4))] @2: Anne is white.[(((((triple1) -> rule4)) -> rule7))] Charlie is white.[(((((triple2) -> rule4)) -> rule7))] @3: Anne is not red.[(((((((triple1) -> rule4)) -> rule7)) -> rule5))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
Erin is not nice.
("Erin" "is" "nice" "-")
triple3
Anne is green.
("Anne" "is" "green" "+")
((triple1) -> (rule4 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
((triple2) -> (rule4 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
((((triple1) -> (rule4 % int2))) -> (rule7 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
((((triple2) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Anne is not red.
("Anne" "is" "red" "-")
((((((triple1) -> (rule4 % int3))) -> (rule7 % int2))) -> (rule5 % int1))
Anne is not red.
("Anne" "is" "red" "-")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3