Dave is blue. Dave is green. Dave is kind. Dave is red. Dave is white. Erin is big. Erin is green. Erin is kind. Erin is red. Fiona is white. Harry is green. Harry is young. If Erin is big and Erin is red then Erin is white. Big, blue things are young. If something is big then it is green. If something is white and young then it is big. If something is green and white then it is kind. Blue things are kind. If Fiona is young and Fiona is blue then Fiona is big. All kind, green things are red. White things are young.
Dave is blue.
("Dave" "is" "blue" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is white.
("Dave" "is" "white" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is red.
("Erin" "is" "red" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is young.
("Harry" "is" "young" "+")
If Erin is big and Erin is red then Erin is white.
((("Erin" "is" "big" "+") ("Erin" "is" "red" "+")) -> ("Erin" "is" "white" "+"))
Big, blue things are young.
((("something" "is" "big" "+") ("something" "is" "blue" "+")) -> ("something" "is" "young" "+"))
If something is big then it is green.
((("something" "is" "big" "+")) -> ("something" "is" "green" "+"))
If something is white and young then it is big.
((("something" "is" "white" "+") ("something" "is" "young" "+")) -> ("something" "is" "big" "+"))
If something is green and white then it is kind.
((("something" "is" "green" "+") ("something" "is" "white" "+")) -> ("something" "is" "kind" "+"))
Blue things are kind.
((("something" "is" "blue" "+")) -> ("something" "is" "kind" "+"))
If Fiona is young and Fiona is blue then Fiona is big.
((("Fiona" "is" "young" "+") ("Fiona" "is" "blue" "+")) -> ("Fiona" "is" "big" "+"))
All kind, green things are red.
((("something" "is" "kind" "+") ("something" "is" "green" "+")) -> ("something" "is" "red" "+"))
White things are young.
((("something" "is" "white" "+")) -> ("something" "is" "young" "+"))
Harry is green.
True
1
proof
[(triple11)]
("Harry" "is" "green" "+")
triple11
Dave is not green.
False
1
inv-proof
[(triple2 OR ((((triple5 ((triple5) -> rule9)) -> rule4)) -> rule3))]
("Dave" "is" "green" "-")
triple2
((((triple5 ((triple5) -> (rule9 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is young.
True
2
proof
[(((triple5) -> rule9))]
("Dave" "is" "young" "+")
((triple5) -> (rule9 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is not young.
False
2
inv-proof
[(((triple5) -> rule9))]
("Dave" "is" "young" "-")
((triple5) -> (rule9 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Fiona is big.
True
4
proof
[(((triple10 ((triple10) -> rule9)) -> rule4))]
("Fiona" "is" "big" "+")
((triple10 ((triple10) -> (rule9 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Erin is not young.
False
4
inv-proof
[(((((triple6 triple9) -> rule1)) -> rule9) OR ((((triple6 ((triple8 triple7) -> rule8)) -> rule1)) -> rule9) OR ((((triple6 ((triple8 ((triple6) -> rule3)) -> rule8)) -> rule1)) -> rule9))]
("Erin" "is" "young" "-")
((((triple6 triple9) -> (rule1 % int2))) -> (rule9 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
((((triple6 ((triple8 triple7) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule9 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
((((triple6 ((triple8 ((triple6) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule9 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is green.
("Erin" "is" "green" "+")
int4
Fiona is green.
True
5
proof
[(((((triple10 ((triple10) -> rule9)) -> rule4)) -> rule3))]
("Fiona" "is" "green" "+")
((((triple10 ((triple10) -> (rule9 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is not green.
False
5
inv-proof
[(((((triple10 ((triple10) -> rule9)) -> rule4)) -> rule3))]
("Fiona" "is" "green" "-")
((((triple10 ((triple10) -> (rule9 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is kind.
True
7
proof
[(((((((triple10 ((triple10) -> rule9)) -> rule4)) -> rule3) triple10) -> rule5))]
("Fiona" "is" "kind" "+")
((((((triple10 ((triple10) -> (rule9 % int4))) -> (rule4 % int3))) -> (rule3 % int2)) triple10) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is not kind.
False
7
inv-proof
[(((((((triple10 ((triple10) -> rule9)) -> rule4)) -> rule3) triple10) -> rule5))]
("Fiona" "is" "kind" "-")
((((((triple10 ((triple10) -> (rule9 % int4))) -> (rule4 % int3))) -> (rule3 % int2)) triple10) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is red.
True
13
proof
[(((((((((triple10 ((triple10) -> rule9)) -> rule4)) -> rule3) triple10) -> rule5) ((((triple10 ((triple10) -> rule9)) -> rule4)) -> rule3)) -> rule8))]
("Fiona" "is" "red" "+")
((((((((triple10 ((triple10) -> (rule9 % int5))) -> (rule4 % int4))) -> (rule3 % int3)) triple10) -> (rule5 % int2)) ((((triple10 ((triple10) -> (rule9 % int5))) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
int5
Fiona is not red.
False
13
inv-proof
[(((((((((triple10 ((triple10) -> rule9)) -> rule4)) -> rule3) triple10) -> rule5) ((((triple10 ((triple10) -> rule9)) -> rule4)) -> rule3)) -> rule8))]
("Fiona" "is" "red" "-")
((((((((triple10 ((triple10) -> (rule9 % int5))) -> (rule4 % int4))) -> (rule3 % int3)) triple10) -> (rule5 % int2)) ((((triple10 ((triple10) -> (rule9 % int5))) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
int5
Harry is not red.
Unknown
inv-rconc
[@2: Harry is red.[CWA. Example of deepest failure = (rule8 <- rule5 <- FAIL)]]
("Harry" "is" "red" "-")
Harry is big.
Unknown
rconc
[@1: Harry is big.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Harry" "is" "big" "+")
Harry is not kind.
Unknown
inv-rconc
[@1: Harry is kind.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Harry" "is" "kind" "-")
Fiona is blue.
Unknown
random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "+")
Erin is not blue.
Unknown
inv-random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "-")
Harry is white.
Unknown
random
[@0: Harry is white.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "white" "+")
@0: Dave is blue.[(triple1)] Dave is green.[(triple2 OR ((((triple5 ((triple5) -> rule9)) -> rule4)) -> rule3))] Dave is kind.[(triple3 OR ((triple1) -> rule6) OR ((triple2 triple5) -> rule5) OR ((((((triple5 ((triple5) -> rule9)) -> rule4)) -> rule3) triple5) -> rule5))] Dave is red.[(triple4 OR ((triple3 triple2) -> rule8) OR ((((triple1) -> rule6) triple2) -> rule8) OR ((((triple2 triple5) -> rule5) triple2) -> rule8) OR ((triple3 ((((triple5 ((triple5) -> rule9)) -> rule4)) -> rule3)) -> rule8) OR ((((triple1) -> rule6) ((((triple5 ((triple5) -> rule9)) -> rule4)) -> rule3)) -> rule8) OR ((((triple2 triple5) -> rule5) ((((triple5 ((triple5) -> rule9)) -> rule4)) -> rule3)) -> rule8) OR ((((((((triple5 ((triple5) -> rule9)) -> rule4)) -> rule3) triple5) -> rule5) triple2) -> rule8) OR ((((((((triple5 ((triple5) -> rule9)) -> rule4)) -> rule3) triple5) -> rule5) ((((triple5 ((triple5) -> rule9)) -> rule4)) -> rule3)) -> rule8))] Dave is white.[(triple5)] Erin is big.[(triple6)] Erin is green.[(triple7 OR ((triple6) -> rule3))] Erin is kind.[(triple8 OR ((triple7 ((triple6 triple9) -> rule1)) -> rule5) OR ((((triple6) -> rule3) ((triple6 triple9) -> rule1)) -> rule5))] Erin is red.[(triple9 OR ((triple8 triple7) -> rule8) OR ((triple8 ((triple6) -> rule3)) -> rule8))] Fiona is white.[(triple10)] Harry is green.[(triple11)] Harry is young.[(triple12)] @1: Dave is young.[(((triple5) -> rule9))] Erin is white.[(((triple6 triple9) -> rule1) OR ((triple6 ((triple8 triple7) -> rule8)) -> rule1) OR ((triple6 ((triple8 ((triple6) -> rule3)) -> rule8)) -> rule1))] Fiona is young.[(((triple10) -> rule9))] @2: Dave is big.[(((triple5 ((triple5) -> rule9)) -> rule4))] Erin is young.[(((((triple6 triple9) -> rule1)) -> rule9) OR ((((triple6 ((triple8 triple7) -> rule8)) -> rule1)) -> rule9) OR ((((triple6 ((triple8 ((triple6) -> rule3)) -> rule8)) -> rule1)) -> rule9))] Fiona is big.[(((triple10 ((triple10) -> rule9)) -> rule4))] @3: Fiona is green.[(((((triple10 ((triple10) -> rule9)) -> rule4)) -> rule3))] @4: Fiona is kind.[(((((((triple10 ((triple10) -> rule9)) -> rule4)) -> rule3) triple10) -> rule5))] @5: Fiona is red.[(((((((((triple10 ((triple10) -> rule9)) -> rule4)) -> rule3) triple10) -> rule5) ((((triple10 ((triple10) -> rule9)) -> rule4)) -> rule3)) -> rule8))]
Dave is blue.
("Dave" "is" "blue" "+")
triple1
Dave is green.
("Dave" "is" "green" "+")
triple2
((((triple5 ((triple5) -> (rule9 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
triple3
((triple1) -> (rule6 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((triple2 triple5) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((((((triple5 ((triple5) -> (rule9 % int4))) -> (rule4 % int3))) -> (rule3 % int2)) triple5) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
triple4
((triple3 triple2) -> (rule8 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
((((triple1) -> (rule6 % int2)) triple2) -> (rule8 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
((((triple2 triple5) -> (rule5 % int2)) triple2) -> (rule8 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
((triple3 ((((triple5 ((triple5) -> (rule9 % int4))) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
((((triple1) -> (rule6 % int5)) ((((triple5 ((triple5) -> (rule9 % int4))) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
Dave is kind.
("Dave" "is" "kind" "+")
int5
((((triple2 triple5) -> (rule5 % int5)) ((((triple5 ((triple5) -> (rule9 % int4))) -> (rule4 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is young.
("Dave" "is" "young" "+")
int4
Dave is kind.
("Dave" "is" "kind" "+")
int5
((((((((triple5 ((triple5) -> (rule9 % int5))) -> (rule4 % int4))) -> (rule3 % int3)) triple5) -> (rule5 % int2)) triple2) -> (rule8 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
int4
Dave is young.
("Dave" "is" "young" "+")
int5
((((((((triple5 ((triple5) -> (rule9 % int5))) -> (rule4 % int4))) -> (rule3 % int3)) triple5) -> (rule5 % int2)) ((((triple5 ((triple5) -> (rule9 % int5))) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule8 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is big.
("Dave" "is" "big" "+")
int4
Dave is young.
("Dave" "is" "young" "+")
int5
Dave is white.
("Dave" "is" "white" "+")
triple5
Erin is big.
("Erin" "is" "big" "+")
triple6
Erin is green.
("Erin" "is" "green" "+")
triple7
((triple6) -> (rule3 % int1))
Erin is green.
("Erin" "is" "green" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
triple8
((triple7 ((triple6 triple9) -> (rule1 % int2))) -> (rule5 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
((((triple6) -> (rule3 % int3)) ((triple6 triple9) -> (rule1 % int2))) -> (rule5 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Erin is red.
("Erin" "is" "red" "+")
triple9
((triple8 triple7) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((triple8 ((triple6) -> (rule3 % int2))) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is green.
("Erin" "is" "green" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
triple10
Harry is green.
("Harry" "is" "green" "+")
triple11
Harry is young.
("Harry" "is" "young" "+")
triple12
Dave is young.
("Dave" "is" "young" "+")
((triple5) -> (rule9 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
((triple6 triple9) -> (rule1 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
((triple6 ((triple8 triple7) -> (rule8 % int2))) -> (rule1 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
((triple6 ((triple8 ((triple6) -> (rule3 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is green.
("Erin" "is" "green" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
((triple10) -> (rule9 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
((triple5 ((triple5) -> (rule9 % int2))) -> (rule4 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
((((triple6 triple9) -> (rule1 % int2))) -> (rule9 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
((((triple6 ((triple8 triple7) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule9 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
((((triple6 ((triple8 ((triple6) -> (rule3 % int4))) -> (rule8 % int3))) -> (rule1 % int2))) -> (rule9 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
int3
Erin is green.
("Erin" "is" "green" "+")
int4
Fiona is big.
("Fiona" "is" "big" "+")
((triple10 ((triple10) -> (rule9 % int2))) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
((((triple10 ((triple10) -> (rule9 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
int3
Fiona is kind.
("Fiona" "is" "kind" "+")
((((((triple10 ((triple10) -> (rule9 % int4))) -> (rule4 % int3))) -> (rule3 % int2)) triple10) -> (rule5 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is young.
("Fiona" "is" "young" "+")
int4
Fiona is red.
("Fiona" "is" "red" "+")
((((((((triple10 ((triple10) -> (rule9 % int5))) -> (rule4 % int4))) -> (rule3 % int3)) triple10) -> (rule5 % int2)) ((((triple10 ((triple10) -> (rule9 % int5))) -> (rule4 % int4))) -> (rule3 % int3))) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is big.
("Fiona" "is" "big" "+")
int4
Fiona is young.
("Fiona" "is" "young" "+")
int5