Anne is round. Anne is young. Dave is blue. Dave is furry. Dave is white. Fiona is not furry. Fiona is green. Fiona is white. Fiona is young. Gary is big. All young people are green. If Gary is green then Gary is white. If someone is young and big then they are blue. All green people are blue. If someone is round and blue then they are big. If someone is big and not green then they are round. If Fiona is white and Fiona is young then Fiona is not round. All big people are white. All white, green people are not furry.
Anne is round.
("Anne" "is" "round" "+")
Anne is young.
("Anne" "is" "young" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is white.
("Dave" "is" "white" "+")
Fiona is not furry.
("Fiona" "is" "furry" "-")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is big.
("Gary" "is" "big" "+")
All young people are green.
((("someone" "is" "young" "+")) -> ("someone" "is" "green" "+"))
If Gary is green then Gary is white.
((("Gary" "is" "green" "+")) -> ("Gary" "is" "white" "+"))
If someone is young and big then they are blue.
((("someone" "is" "young" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "blue" "+"))
All green people are blue.
((("someone" "is" "green" "+")) -> ("someone" "is" "blue" "+"))
If someone is round and blue then they are big.
((("someone" "is" "round" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
If someone is big and not green then they are round.
((("someone" "is" "big" "+") ("someone" "is" "green" "~")) -> ("someone" "is" "round" "+"))
If Fiona is white and Fiona is young then Fiona is not round.
((("Fiona" "is" "white" "+") ("Fiona" "is" "young" "+")) -> ("Fiona" "is" "round" "-"))
All big people are white.
((("someone" "is" "big" "+")) -> ("someone" "is" "white" "+"))
All white, green people are not furry.
((("someone" "is" "white" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "furry" "-"))
Fiona is young.
True
1
proof
[(triple9)]
("Fiona" "is" "young" "+")
triple9
Gary is not big.
False
1
inv-proof
[(triple10)]
("Gary" "is" "big" "-")
triple10
Anne is green.
True
2
proof
[(((triple2) -> rule1))]
("Anne" "is" "green" "+")
((triple2) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is not green.
False
2
inv-proof
[(((triple2) -> rule1))]
("Anne" "is" "green" "-")
((triple2) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is blue.
True
3
proof
[(((((triple2) -> rule1)) -> rule4))]
("Anne" "is" "blue" "+")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is not blue.
False
3
inv-proof
[(((((triple2) -> rule1)) -> rule4))]
("Anne" "is" "blue" "-")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is big.
True
5
proof
[(((triple1 ((((triple2) -> rule1)) -> rule4)) -> rule5))]
("Anne" "is" "big" "+")
((triple1 ((((triple2) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is not big.
False
5
inv-proof
[(((triple1 ((((triple2) -> rule1)) -> rule4)) -> rule5))]
("Anne" "is" "big" "-")
((triple1 ((((triple2) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is white.
True
6
proof
[(((((triple1 ((((triple2) -> rule1)) -> rule4)) -> rule5)) -> rule8))]
("Anne" "is" "white" "+")
((((triple1 ((((triple2) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is not white.
False
6
inv-proof
[(((((triple1 ((((triple2) -> rule1)) -> rule4)) -> rule5)) -> rule8))]
("Anne" "is" "white" "-")
((((triple1 ((((triple2) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is not furry.
True
9
proof
[(((((((triple1 ((((triple2) -> rule1)) -> rule4)) -> rule5)) -> rule8) ((triple2) -> rule1)) -> rule9))]
("Anne" "is" "furry" "-")
((((((triple1 ((((triple2) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule8 % int2)) ((triple2) -> (rule1 % int5))) -> (rule9 % int1))
Anne is not furry.
("Anne" "is" "furry" "-")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
Anne is furry.
False
9
inv-proof
[(((((((triple1 ((((triple2) -> rule1)) -> rule4)) -> rule5)) -> rule8) ((triple2) -> rule1)) -> rule9))]
("Anne" "is" "furry" "+")
((((((triple1 ((((triple2) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule8 % int2)) ((triple2) -> (rule1 % int5))) -> (rule9 % int1))
Anne is not furry.
("Anne" "is" "furry" "-")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
Fiona is not big.
Unknown
inv-rconc
[@1: Fiona is big.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Fiona" "is" "big" "-")
Dave is big.
Unknown
rconc
[@2: Dave is big.[CWA. Example of deepest failure = (rule5 <- rule6 <- FAIL)]]
("Dave" "is" "big" "+")
Dave is not round.
Unknown
inv-rconc
[@1: Dave is round.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Dave" "is" "round" "-")
Gary is round.
Unknown
rconc
[@1: Gary is round.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Gary" "is" "round" "+")
Gary is not blue.
Unknown
inv-rconc
[@2: Gary is blue.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Gary" "is" "blue" "-")
Dave is green.
Unknown
rconc
[@1: Dave is green.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Dave" "is" "green" "+")
Gary is not furry.
Unknown
inv-random
[@0: Gary is furry.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "furry" "-")
Dave is young.
Unknown
random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "+")
@0: Anne is round.[(triple1)] Anne is young.[(triple2)] Dave is blue.[(triple3)] Dave is furry.[(triple4)] Dave is white.[(triple5)] Fiona is green.[(triple7 OR ((triple9) -> rule1))] Fiona is not furry.[(triple6 OR ((triple8 triple7) -> rule9) OR ((triple8 ((triple9) -> rule1)) -> rule9))] Fiona is white.[(triple8)] Fiona is young.[(triple9)] Gary is big.[(triple10)] @1: Anne is green.[(((triple2) -> rule1))] Fiona is blue.[(((triple7) -> rule4) OR ((((triple9) -> rule1)) -> rule4))] Fiona is not round.[(((triple8 triple9) -> rule7))] Gary is white.[(((triple10) -> rule8))] @2: Anne is blue.[(((((triple2) -> rule1)) -> rule4))] @3: Anne is big.[(((triple1 ((((triple2) -> rule1)) -> rule4)) -> rule5))] @4: Anne is white.[(((((triple1 ((((triple2) -> rule1)) -> rule4)) -> rule5)) -> rule8))] @5: Anne is not furry.[(((((((triple1 ((((triple2) -> rule1)) -> rule4)) -> rule5)) -> rule8) ((triple2) -> rule1)) -> rule9))]
Anne is round.
("Anne" "is" "round" "+")
triple1
Anne is young.
("Anne" "is" "young" "+")
triple2
Dave is blue.
("Dave" "is" "blue" "+")
triple3
Dave is furry.
("Dave" "is" "furry" "+")
triple4
Dave is white.
("Dave" "is" "white" "+")
triple5
Fiona is green.
("Fiona" "is" "green" "+")
triple7
((triple9) -> (rule1 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is not furry.
("Fiona" "is" "furry" "-")
triple6
((triple8 triple7) -> (rule9 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
((triple8 ((triple9) -> (rule1 % int2))) -> (rule9 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
triple8
Fiona is young.
("Fiona" "is" "young" "+")
triple9
Gary is big.
("Gary" "is" "big" "+")
triple10
Anne is green.
("Anne" "is" "green" "+")
((triple2) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple7) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple9) -> (rule1 % int2))) -> (rule4 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is not round.
("Fiona" "is" "round" "-")
((triple8 triple9) -> (rule7 % int1))
Fiona is not round.
("Fiona" "is" "round" "-")
int1
Gary is white.
("Gary" "is" "white" "+")
((triple10) -> (rule8 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
((((triple2) -> (rule1 % int2))) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
((triple1 ((((triple2) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule5 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is white.
("Anne" "is" "white" "+")
((((triple1 ((((triple2) -> (rule1 % int4))) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule8 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Anne is not furry.
("Anne" "is" "furry" "-")
((((((triple1 ((((triple2) -> (rule1 % int5))) -> (rule4 % int4))) -> (rule5 % int3))) -> (rule8 % int2)) ((triple2) -> (rule1 % int5))) -> (rule9 % int1))
Anne is not furry.
("Anne" "is" "furry" "-")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5