Anne is blue. Bob is blue. Bob is green. Bob is quiet. Bob is red. Bob is round. Bob is white. Fiona is blue. Fiona is green. Fiona is round. Gary is blue. Gary is quiet. Gary is not red. Gary is rough. Gary is round. Gary is white. If someone is green then they are rough. White people are quiet. If Anne is quiet and Anne is white then Anne is red. If someone is round and not rough then they are not white. If someone is green then they are white. If someone is green and not red then they are blue. If someone is quiet then they are blue. All white people are blue.
Anne is blue.
("Anne" "is" "blue" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is not red.
("Gary" "is" "red" "-")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is white.
("Gary" "is" "white" "+")
If someone is green then they are rough.
((("someone" "is" "green" "+")) -> ("someone" "is" "rough" "+"))
White people are quiet.
((("someone" "is" "white" "+")) -> ("someone" "is" "quiet" "+"))
If Anne is quiet and Anne is white then Anne is red.
((("Anne" "is" "quiet" "+") ("Anne" "is" "white" "+")) -> ("Anne" "is" "red" "+"))
If someone is round and not rough then they are not white.
((("someone" "is" "round" "+") ("someone" "is" "rough" "~")) -> ("someone" "is" "white" "-"))
If someone is green then they are white.
((("someone" "is" "green" "+")) -> ("someone" "is" "white" "+"))
If someone is green and not red then they are blue.
((("someone" "is" "green" "+") ("someone" "is" "red" "~")) -> ("someone" "is" "blue" "+"))
If someone is quiet then they are blue.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "blue" "+"))
All white people are blue.
((("someone" "is" "white" "+")) -> ("someone" "is" "blue" "+"))
Fiona is round.
True
1
proof
[(triple10)]
("Fiona" "is" "round" "+")
triple10
Bob is not red.
False
1
inv-proof
[(triple5)]
("Bob" "is" "red" "-")
triple5
Fiona is rough.
True
2
proof
[(((triple9) -> rule1))]
("Fiona" "is" "rough" "+")
((triple9) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is not rough.
False
2
inv-proof
[(((triple9) -> rule1))]
("Fiona" "is" "rough" "-")
((triple9) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is quiet.
True
3
proof
[(((((triple9) -> rule5)) -> rule2))]
("Fiona" "is" "quiet" "+")
((((triple9) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is not quiet.
False
3
inv-proof
[(((((triple9) -> rule5)) -> rule2))]
("Fiona" "is" "quiet" "-")
((((triple9) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Anne is not rough.
Unknown
inv-rconc
[@1: Anne is rough.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Anne" "is" "rough" "-")
Anne is white.
Unknown
rconc
[@1: Anne is white.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Anne" "is" "white" "+")
Anne is not red.
Unknown
inv-rconc
[@2: Anne is red.[CWA. Example of deepest failure = (rule3 <- rule5 <- FAIL)]]
("Anne" "is" "red" "-")
Anne is green.
Unknown
random
[@0: Anne is green.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "green" "+")
Gary is not green.
Unknown
inv-random
[@0: Gary is green.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "green" "-")
Anne is round.
Unknown
random
[@0: Anne is round.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "round" "+")
@0: Anne is blue.[(triple1)] Bob is blue.[(triple2 OR ((triple4) -> rule7) OR ((triple7) -> rule8) OR ((((triple3) -> rule5)) -> rule8) OR ((((triple7) -> rule2)) -> rule7) OR ((((((triple3) -> rule5)) -> rule2)) -> rule7))] Bob is green.[(triple3)] Bob is quiet.[(triple4 OR ((triple7) -> rule2) OR ((((triple3) -> rule5)) -> rule2))] Bob is red.[(triple5)] Bob is round.[(triple6)] Bob is white.[(triple7 OR ((triple3) -> rule5))] Fiona is blue.[(triple8 OR ((((triple9) -> rule5)) -> rule8) OR ((((((triple9) -> rule5)) -> rule2)) -> rule7))] Fiona is green.[(triple9)] Fiona is round.[(triple10)] Gary is blue.[(triple11 OR ((triple12) -> rule7) OR ((triple16) -> rule8) OR ((((triple16) -> rule2)) -> rule7))] Gary is not red.[(triple13)] Gary is quiet.[(triple12 OR ((triple16) -> rule2))] Gary is rough.[(triple14)] Gary is round.[(triple15)] Gary is white.[(triple16)] @1: Bob is rough.[(((triple3) -> rule1))] Fiona is rough.[(((triple9) -> rule1))] Fiona is white.[(((triple9) -> rule5))] @2: Fiona is quiet.[(((((triple9) -> rule5)) -> rule2))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
((triple4) -> (rule7 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((triple7) -> (rule8 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
((((triple3) -> (rule5 % int2))) -> (rule8 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
((((triple7) -> (rule2 % int2))) -> (rule7 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((((triple3) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is green.
("Bob" "is" "green" "+")
triple3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
((triple7) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((triple3) -> (rule5 % int2))) -> (rule2 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
triple5
Bob is round.
("Bob" "is" "round" "+")
triple6
Bob is white.
("Bob" "is" "white" "+")
triple7
((triple3) -> (rule5 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
triple8
((((triple9) -> (rule5 % int2))) -> (rule8 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((((((triple9) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is green.
("Fiona" "is" "green" "+")
triple9
Fiona is round.
("Fiona" "is" "round" "+")
triple10
Gary is blue.
("Gary" "is" "blue" "+")
triple11
((triple12) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
((triple16) -> (rule8 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
((((triple16) -> (rule2 % int2))) -> (rule7 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is not red.
("Gary" "is" "red" "-")
triple13
Gary is quiet.
("Gary" "is" "quiet" "+")
triple12
((triple16) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
triple14
Gary is round.
("Gary" "is" "round" "+")
triple15
Gary is white.
("Gary" "is" "white" "+")
triple16
Bob is rough.
("Bob" "is" "rough" "+")
((triple3) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple9) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
((triple9) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((((triple9) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2