Anne is blue. Anne is red. Anne is round. Anne is smart. Anne is white. Erin is blue. Erin is round. Erin is white. Fiona is blue. Fiona is smart. Gary is green. Gary is round. All blue people are rough. All rough people are red. If someone is blue then they are round. If Gary is round then Gary is blue. All red people are white. White, blue people are smart. All smart, rough people are white. Smart people are round.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is white.
("Anne" "is" "white" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is round.
("Erin" "is" "round" "+")
Erin is white.
("Erin" "is" "white" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is round.
("Gary" "is" "round" "+")
All blue people are rough.
((("someone" "is" "blue" "+")) -> ("someone" "is" "rough" "+"))
All rough people are red.
((("someone" "is" "rough" "+")) -> ("someone" "is" "red" "+"))
If someone is blue then they are round.
((("someone" "is" "blue" "+")) -> ("someone" "is" "round" "+"))
If Gary is round then Gary is blue.
((("Gary" "is" "round" "+")) -> ("Gary" "is" "blue" "+"))
All red people are white.
((("someone" "is" "red" "+")) -> ("someone" "is" "white" "+"))
White, blue people are smart.
((("someone" "is" "white" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "smart" "+"))
All smart, rough people are white.
((("someone" "is" "smart" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
Smart people are round.
((("someone" "is" "smart" "+")) -> ("someone" "is" "round" "+"))
Erin is white.
True
1
proof
[(triple8 OR ((((((triple6) -> rule1)) -> rule2)) -> rule5))]
("Erin" "is" "white" "+")
triple8
((((((triple6) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Gary is not green.
False
1
inv-proof
[(triple11)]
("Gary" "is" "green" "-")
triple11
Gary is blue.
True
2
proof
[(((triple12) -> rule4))]
("Gary" "is" "blue" "+")
((triple12) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Anne is not rough.
False
2
inv-proof
[(((triple1) -> rule1))]
("Anne" "is" "rough" "-")
((triple1) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Erin is red.
True
3
proof
[(((((triple6) -> rule1)) -> rule2))]
("Erin" "is" "red" "+")
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Fiona is not white.
False
4
inv-proof
[(((triple10 ((triple9) -> rule1)) -> rule7) OR ((((((triple9) -> rule1)) -> rule2)) -> rule5))]
("Fiona" "is" "white" "-")
((triple10 ((triple9) -> (rule1 % int2))) -> (rule7 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((((triple9) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Gary is red.
True
4
proof
[(((((((triple12) -> rule4)) -> rule1)) -> rule2))]
("Gary" "is" "red" "+")
((((((triple12) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is not red.
False
4
inv-proof
[(((((((triple12) -> rule4)) -> rule1)) -> rule2))]
("Gary" "is" "red" "-")
((((((triple12) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is white.
True
5
proof
[(((((((((triple12) -> rule4)) -> rule1)) -> rule2)) -> rule5))]
("Gary" "is" "white" "+")
((((((((triple12) -> (rule4 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
int4
Gary is not white.
False
5
inv-proof
[(((((((((triple12) -> rule4)) -> rule1)) -> rule2)) -> rule5))]
("Gary" "is" "white" "-")
((((((((triple12) -> (rule4 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
int4
Gary is smart.
True
8
proof
[(((((((((((triple12) -> rule4)) -> rule1)) -> rule2)) -> rule5) ((triple12) -> rule4)) -> rule6))]
("Gary" "is" "smart" "+")
((((((((((triple12) -> (rule4 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) ((triple12) -> (rule4 % int5))) -> (rule6 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is blue.
("Gary" "is" "blue" "+")
int5
Gary is not smart.
False
8
inv-proof
[(((((((((((triple12) -> rule4)) -> rule1)) -> rule2)) -> rule5) ((triple12) -> rule4)) -> rule6))]
("Gary" "is" "smart" "-")
((((((((((triple12) -> (rule4 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) ((triple12) -> (rule4 % int5))) -> (rule6 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is blue.
("Gary" "is" "blue" "+")
int5
Erin is not green.
Unknown
inv-random
[@0: Erin is green.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "green" "-")
Fiona is green.
Unknown
random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "+")
@0: Anne is blue.[(triple1)] Anne is red.[(triple2 OR ((((triple1) -> rule1)) -> rule2))] Anne is round.[(triple3 OR ((triple1) -> rule3) OR ((triple4) -> rule8) OR ((((triple5 triple1) -> rule6)) -> rule8) OR ((((((triple2) -> rule5) triple1) -> rule6)) -> rule8) OR ((((((((((triple1) -> rule1)) -> rule2)) -> rule5) triple1) -> rule6)) -> rule8))] Anne is smart.[(triple4 OR ((triple5 triple1) -> rule6) OR ((((triple2) -> rule5) triple1) -> rule6) OR ((((((((triple1) -> rule1)) -> rule2)) -> rule5) triple1) -> rule6))] Anne is white.[(triple5 OR ((triple2) -> rule5) OR ((triple4 ((triple1) -> rule1)) -> rule7) OR ((((((triple1) -> rule1)) -> rule2)) -> rule5))] Erin is blue.[(triple6)] Erin is round.[(triple7 OR ((triple6) -> rule3) OR ((((triple8 triple6) -> rule6)) -> rule8) OR ((((((((((triple6) -> rule1)) -> rule2)) -> rule5) triple6) -> rule6)) -> rule8))] Erin is white.[(triple8 OR ((((((triple6) -> rule1)) -> rule2)) -> rule5))] Fiona is blue.[(triple9)] Fiona is smart.[(triple10 OR ((((((((triple9) -> rule1)) -> rule2)) -> rule5) triple9) -> rule6))] Gary is green.[(triple11)] Gary is round.[(triple12)] @1: Anne is rough.[(((triple1) -> rule1))] Erin is rough.[(((triple6) -> rule1))] Erin is smart.[(((triple8 triple6) -> rule6) OR ((((((((triple6) -> rule1)) -> rule2)) -> rule5) triple6) -> rule6))] Fiona is rough.[(((triple9) -> rule1))] Fiona is round.[(((triple10) -> rule8) OR ((triple9) -> rule3) OR ((((((((((triple9) -> rule1)) -> rule2)) -> rule5) triple9) -> rule6)) -> rule8))] Gary is blue.[(((triple12) -> rule4))] @2: Erin is red.[(((((triple6) -> rule1)) -> rule2))] Fiona is red.[(((((triple9) -> rule1)) -> rule2))] Fiona is white.[(((triple10 ((triple9) -> rule1)) -> rule7) OR ((((((triple9) -> rule1)) -> rule2)) -> rule5))] Gary is rough.[(((((triple12) -> rule4)) -> rule1))] @3: Gary is red.[(((((((triple12) -> rule4)) -> rule1)) -> rule2))] @4: Gary is white.[(((((((((triple12) -> rule4)) -> rule1)) -> rule2)) -> rule5))] @5: Gary is smart.[(((((((((((triple12) -> rule4)) -> rule1)) -> rule2)) -> rule5) ((triple12) -> rule4)) -> rule6))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is red.
("Anne" "is" "red" "+")
triple2
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is round.
("Anne" "is" "round" "+")
triple3
((triple1) -> (rule3 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((triple4) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
((((triple5 triple1) -> (rule6 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
((((((triple2) -> (rule5 % int3)) triple1) -> (rule6 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
((((((((((triple1) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3)) triple1) -> (rule6 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is white.
("Anne" "is" "white" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is rough.
("Anne" "is" "rough" "+")
int5
Anne is smart.
("Anne" "is" "smart" "+")
triple4
((triple5 triple1) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
((((triple2) -> (rule5 % int2)) triple1) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
((((((((triple1) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple1) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is rough.
("Anne" "is" "rough" "+")
int4
Anne is white.
("Anne" "is" "white" "+")
triple5
((triple2) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
((triple4 ((triple1) -> (rule1 % int2))) -> (rule7 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
((((((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
triple6
Erin is round.
("Erin" "is" "round" "+")
triple7
((triple6) -> (rule3 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
((((triple8 triple6) -> (rule6 % int2))) -> (rule8 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
((((((((((triple6) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3)) triple6) -> (rule6 % int2))) -> (rule8 % int1))
Erin is round.
("Erin" "is" "round" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
int4
Erin is rough.
("Erin" "is" "rough" "+")
int5
Erin is white.
("Erin" "is" "white" "+")
triple8
((((((triple6) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Fiona is blue.
("Fiona" "is" "blue" "+")
triple9
Fiona is smart.
("Fiona" "is" "smart" "+")
triple10
((((((((triple9) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple9) -> (rule6 % int1))
Fiona is smart.
("Fiona" "is" "smart" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
int3
Fiona is rough.
("Fiona" "is" "rough" "+")
int4
Gary is green.
("Gary" "is" "green" "+")
triple11
Gary is round.
("Gary" "is" "round" "+")
triple12
Anne is rough.
("Anne" "is" "rough" "+")
((triple1) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
((triple6) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
((triple8 triple6) -> (rule6 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
((((((((triple6) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) triple6) -> (rule6 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
int4
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple9) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
((triple10) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple9) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((((((((((triple9) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3)) triple9) -> (rule6 % int2))) -> (rule8 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is smart.
("Fiona" "is" "smart" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is red.
("Fiona" "is" "red" "+")
int4
Fiona is rough.
("Fiona" "is" "rough" "+")
int5
Gary is blue.
("Gary" "is" "blue" "+")
((triple12) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
((((triple9) -> (rule1 % int2))) -> (rule2 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
((triple10 ((triple9) -> (rule1 % int2))) -> (rule7 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((((triple9) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
((((triple12) -> (rule4 % int2))) -> (rule1 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
((((((triple12) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule2 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
((((((((triple12) -> (rule4 % int4))) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
int4
Gary is smart.
("Gary" "is" "smart" "+")
((((((((((triple12) -> (rule4 % int5))) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2)) ((triple12) -> (rule4 % int5))) -> (rule6 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
int3
Gary is rough.
("Gary" "is" "rough" "+")
int4
Gary is blue.
("Gary" "is" "blue" "+")
int5