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