Anne is blue. Dave is cold. Dave is nice. Erin is big. Erin is kind. Gary is blue. Gary is kind. If someone is cold and kind then they are not white. If someone is young and not blue then they are white. Young people are kind. White people are kind. Blue people are kind. If someone is kind then they are big. Young people are cold. Kind people are nice. If someone is blue and big then they are young.
Anne is blue.
("Anne" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is kind.
("Gary" "is" "kind" "+")
If someone is cold and kind then they are not white.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "white" "-"))
If someone is young and not blue then they are white.
((("someone" "is" "young" "+") ("someone" "is" "blue" "~")) -> ("someone" "is" "white" "+"))
Young people are kind.
((("someone" "is" "young" "+")) -> ("someone" "is" "kind" "+"))
White people are kind.
((("someone" "is" "white" "+")) -> ("someone" "is" "kind" "+"))
Blue people are kind.
((("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "+"))
If someone is kind then they are big.
((("someone" "is" "kind" "+")) -> ("someone" "is" "big" "+"))
Young people are cold.
((("someone" "is" "young" "+")) -> ("someone" "is" "cold" "+"))
Kind people are nice.
((("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "+"))
If someone is blue and big then they are young.
((("someone" "is" "blue" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "young" "+"))
Anne is blue.
True
1
proof
[(triple1)]
("Anne" "is" "blue" "+")
triple1
Erin is not big.
False
1
inv-proof
[(triple4 OR ((triple5) -> rule6))]
("Erin" "is" "big" "-")
triple4
((triple5) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Gary is big.
True
2
proof
[(((triple7) -> rule6) OR ((((triple6) -> rule5)) -> rule6))]
("Gary" "is" "big" "+")
((triple7) -> (rule6 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((((triple6) -> (rule5 % int2))) -> (rule6 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is not big.
False
2
inv-proof
[(((triple7) -> rule6) OR ((((triple6) -> rule5)) -> rule6))]
("Gary" "is" "big" "-")
((triple7) -> (rule6 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((((triple6) -> (rule5 % int2))) -> (rule6 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Anne is big.
True
3
proof
[(((((triple1) -> rule5)) -> rule6))]
("Anne" "is" "big" "+")
((((triple1) -> (rule5 % int2))) -> (rule6 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Gary is not young.
False
4
inv-proof
[(((triple6 ((triple7) -> rule6)) -> rule9) OR ((triple6 ((((triple6) -> rule5)) -> rule6)) -> rule9))]
("Gary" "is" "young" "-")
((triple6 ((triple7) -> (rule6 % int2))) -> (rule9 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((triple6 ((((triple6) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule9 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is cold.
True
5
proof
[(((((triple6 ((triple7) -> rule6)) -> rule9)) -> rule7) OR ((((triple6 ((((triple6) -> rule5)) -> rule6)) -> rule9)) -> rule7))]
("Gary" "is" "cold" "+")
((((triple6 ((triple7) -> (rule6 % int3))) -> (rule9 % int2))) -> (rule7 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
((((triple6 ((((triple6) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule9 % int2))) -> (rule7 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Anne is not young.
False
5
inv-proof
[(((triple1 ((((triple1) -> rule5)) -> rule6)) -> rule9))]
("Anne" "is" "young" "-")
((triple1 ((((triple1) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule9 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Gary is not white.
True
7
proof
[(((((((triple6 ((triple7) -> rule6)) -> rule9)) -> rule7) triple7) -> rule1) OR ((((((triple6 ((triple7) -> rule6)) -> rule9)) -> rule7) ((triple6) -> rule5)) -> rule1) OR ((((((triple6 ((((triple6) -> rule5)) -> rule6)) -> rule9)) -> rule7) triple7) -> rule1) OR ((((((triple6 ((((triple6) -> rule5)) -> rule6)) -> rule9)) -> rule7) ((triple6) -> rule5)) -> rule1))]
("Gary" "is" "white" "-")
((((((triple6 ((triple7) -> (rule6 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) triple7) -> (rule1 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
((((((triple6 ((triple7) -> (rule6 % int5))) -> (rule9 % int4))) -> (rule7 % int3)) ((triple6) -> (rule5 % int2))) -> (rule1 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is big.
("Gary" "is" "big" "+")
int5
((((((triple6 ((((triple6) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) triple7) -> (rule1 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is kind.
("Gary" "is" "kind" "+")
int5
((((((triple6 ((((triple6) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) ((triple6) -> (rule5 % int5))) -> (rule1 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is kind.
("Gary" "is" "kind" "+")
int5
Gary is white.
False
7
inv-proof
[(((((((triple6 ((triple7) -> rule6)) -> rule9)) -> rule7) triple7) -> rule1) OR ((((((triple6 ((triple7) -> rule6)) -> rule9)) -> rule7) ((triple6) -> rule5)) -> rule1) OR ((((((triple6 ((((triple6) -> rule5)) -> rule6)) -> rule9)) -> rule7) triple7) -> rule1) OR ((((((triple6 ((((triple6) -> rule5)) -> rule6)) -> rule9)) -> rule7) ((triple6) -> rule5)) -> rule1))]
("Gary" "is" "white" "+")
((((((triple6 ((triple7) -> (rule6 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) triple7) -> (rule1 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
((((((triple6 ((triple7) -> (rule6 % int5))) -> (rule9 % int4))) -> (rule7 % int3)) ((triple6) -> (rule5 % int2))) -> (rule1 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is big.
("Gary" "is" "big" "+")
int5
((((((triple6 ((((triple6) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) triple7) -> (rule1 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is kind.
("Gary" "is" "kind" "+")
int5
((((((triple6 ((((triple6) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) ((triple6) -> (rule5 % int5))) -> (rule1 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is kind.
("Gary" "is" "kind" "+")
int5
Anne is not white.
True
9
proof
[(((((((triple1 ((((triple1) -> rule5)) -> rule6)) -> rule9)) -> rule7) ((triple1) -> rule5)) -> rule1))]
("Anne" "is" "white" "-")
((((((triple1 ((((triple1) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) ((triple1) -> (rule5 % int5))) -> (rule1 % int1))
Anne is not white.
("Anne" "is" "white" "-")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
int3
Anne is big.
("Anne" "is" "big" "+")
int4
Anne is kind.
("Anne" "is" "kind" "+")
int5
Anne is white.
False
9
inv-proof
[(((((((triple1 ((((triple1) -> rule5)) -> rule6)) -> rule9)) -> rule7) ((triple1) -> rule5)) -> rule1))]
("Anne" "is" "white" "+")
((((((triple1 ((((triple1) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) ((triple1) -> (rule5 % int5))) -> (rule1 % int1))
Anne is not white.
("Anne" "is" "white" "-")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
int3
Anne is big.
("Anne" "is" "big" "+")
int4
Anne is kind.
("Anne" "is" "kind" "+")
int5
Dave is not kind.
Unknown
inv-rconc
[@2: Dave is kind.[CWA. Example of deepest failure = (rule3 <- rule9 <- FAIL)]]
("Dave" "is" "kind" "-")
Dave is white.
Unknown
rconc
[@1: Dave is white.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Dave" "is" "white" "+")
Dave is not big.
Unknown
inv-rconc
[@3: Dave is big.[CWA. Example of deepest failure = (rule6 <- rule3 <- rule9 <- FAIL)]]
("Dave" "is" "big" "-")
Erin is young.
Unknown
rconc
[@1: Erin is young.[CWA. Example of deepest failure = (rule9 <- FAIL)]]
("Erin" "is" "young" "+")
Erin is not white.
Unknown
inv-rconc
[@1: Erin is white.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Erin" "is" "white" "-")
Erin is cold.
Unknown
rconc
[@2: Erin is cold.[CWA. Example of deepest failure = (rule7 <- rule9 <- FAIL)]]
("Erin" "is" "cold" "+")
Erin is not blue.
Unknown
inv-random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "-")
Dave is blue.
Unknown
random
[@0: Dave is blue.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "blue" "+")
@0: Anne is blue.[(triple1)] Dave is cold.[(triple2)] Dave is nice.[(triple3)] Erin is big.[(triple4 OR ((triple5) -> rule6))] Erin is kind.[(triple5)] Gary is blue.[(triple6)] Gary is kind.[(triple7 OR ((triple6) -> rule5))] @1: Anne is kind.[(((triple1) -> rule5))] Erin is nice.[(((triple5) -> rule8))] Gary is big.[(((triple7) -> rule6) OR ((((triple6) -> rule5)) -> rule6))] Gary is nice.[(((triple7) -> rule8) OR ((((triple6) -> rule5)) -> rule8))] @2: Anne is big.[(((((triple1) -> rule5)) -> rule6))] Anne is nice.[(((((triple1) -> rule5)) -> rule8))] Gary is young.[(((triple6 ((triple7) -> rule6)) -> rule9) OR ((triple6 ((((triple6) -> rule5)) -> rule6)) -> rule9))] @3: Anne is young.[(((triple1 ((((triple1) -> rule5)) -> rule6)) -> rule9))] Gary is cold.[(((((triple6 ((triple7) -> rule6)) -> rule9)) -> rule7) OR ((((triple6 ((((triple6) -> rule5)) -> rule6)) -> rule9)) -> rule7))] @4: Anne is cold.[(((((triple1 ((((triple1) -> rule5)) -> rule6)) -> rule9)) -> rule7))] Gary is not white.[(((((((triple6 ((triple7) -> rule6)) -> rule9)) -> rule7) triple7) -> rule1) OR ((((((triple6 ((triple7) -> rule6)) -> rule9)) -> rule7) ((triple6) -> rule5)) -> rule1) OR ((((((triple6 ((((triple6) -> rule5)) -> rule6)) -> rule9)) -> rule7) triple7) -> rule1) OR ((((((triple6 ((((triple6) -> rule5)) -> rule6)) -> rule9)) -> rule7) ((triple6) -> rule5)) -> rule1))] @5: Anne is not white.[(((((((triple1 ((((triple1) -> rule5)) -> rule6)) -> rule9)) -> rule7) ((triple1) -> rule5)) -> rule1))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Dave is cold.
("Dave" "is" "cold" "+")
triple2
Dave is nice.
("Dave" "is" "nice" "+")
triple3
Erin is big.
("Erin" "is" "big" "+")
triple4
((triple5) -> (rule6 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
triple5
Gary is blue.
("Gary" "is" "blue" "+")
triple6
Gary is kind.
("Gary" "is" "kind" "+")
triple7
((triple6) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
((triple1) -> (rule5 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
((triple5) -> (rule8 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((triple7) -> (rule6 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((((triple6) -> (rule5 % int2))) -> (rule6 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((triple7) -> (rule8 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((((triple6) -> (rule5 % int2))) -> (rule8 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
((((triple1) -> (rule5 % int2))) -> (rule6 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
((((triple1) -> (rule5 % int2))) -> (rule8 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
((triple6 ((triple7) -> (rule6 % int2))) -> (rule9 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((triple6 ((((triple6) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule9 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Anne is young.
("Anne" "is" "young" "+")
((triple1 ((((triple1) -> (rule5 % int3))) -> (rule6 % int2))) -> (rule9 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Gary is cold.
("Gary" "is" "cold" "+")
((((triple6 ((triple7) -> (rule6 % int3))) -> (rule9 % int2))) -> (rule7 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
((((triple6 ((((triple6) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule9 % int2))) -> (rule7 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is kind.
("Gary" "is" "kind" "+")
int4
Anne is cold.
("Anne" "is" "cold" "+")
((((triple1 ((((triple1) -> (rule5 % int4))) -> (rule6 % int3))) -> (rule9 % int2))) -> (rule7 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is kind.
("Anne" "is" "kind" "+")
int4
Gary is not white.
("Gary" "is" "white" "-")
((((((triple6 ((triple7) -> (rule6 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) triple7) -> (rule1 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
((((((triple6 ((triple7) -> (rule6 % int5))) -> (rule9 % int4))) -> (rule7 % int3)) ((triple6) -> (rule5 % int2))) -> (rule1 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is cold.
("Gary" "is" "cold" "+")
int3
Gary is young.
("Gary" "is" "young" "+")
int4
Gary is big.
("Gary" "is" "big" "+")
int5
((((((triple6 ((((triple6) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) triple7) -> (rule1 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is kind.
("Gary" "is" "kind" "+")
int5
((((((triple6 ((((triple6) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) ((triple6) -> (rule5 % int5))) -> (rule1 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
int4
Gary is kind.
("Gary" "is" "kind" "+")
int5
Anne is not white.
("Anne" "is" "white" "-")
((((((triple1 ((((triple1) -> (rule5 % int5))) -> (rule6 % int4))) -> (rule9 % int3))) -> (rule7 % int2)) ((triple1) -> (rule5 % int5))) -> (rule1 % int1))
Anne is not white.
("Anne" "is" "white" "-")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
int3
Anne is big.
("Anne" "is" "big" "+")
int4
Anne is kind.
("Anne" "is" "kind" "+")
int5