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