Bob is not red. Charlie is not big. Charlie is blue. Charlie is not furry. Charlie is kind. Dave is blue. Dave is red. Harry is big. Harry is cold. Harry is furry. Harry is not green. Harry is not red. If someone is big then they are not green. If someone is blue and red then they are big. If someone is furry and not green then they are kind. If someone is red and not green then they are furry. Kind people are cold. All green people are not cold. If someone is green and not furry then they are cold.
Bob is not red.
("Bob" "is" "red" "-")
Charlie is not big.
("Charlie" "is" "big" "-")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is not furry.
("Charlie" "is" "furry" "-")
Charlie is kind.
("Charlie" "is" "kind" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is red.
("Dave" "is" "red" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is not green.
("Harry" "is" "green" "-")
Harry is not red.
("Harry" "is" "red" "-")
If someone is big then they are not green.
((("someone" "is" "big" "+")) -> ("someone" "is" "green" "-"))
If someone is blue and red then they are big.
((("someone" "is" "blue" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
If someone is furry and not green then they are kind.
((("someone" "is" "furry" "+") ("someone" "is" "green" "~")) -> ("someone" "is" "kind" "+"))
If someone is red and not green then they are furry.
((("someone" "is" "red" "+") ("someone" "is" "green" "~")) -> ("someone" "is" "furry" "+"))
Kind people are cold.
((("someone" "is" "kind" "+")) -> ("someone" "is" "cold" "+"))
All green people are not cold.
((("someone" "is" "green" "+")) -> ("someone" "is" "cold" "-"))
If someone is green and not furry then they are cold.
((("someone" "is" "green" "+") ("someone" "is" "furry" "~")) -> ("someone" "is" "cold" "+"))
Harry is furry.
True
1
proof
[(triple10)]
("Harry" "is" "furry" "+")
triple10
Harry is not furry.
False
1
inv-proof
[(triple10)]
("Harry" "is" "furry" "-")
triple10
Dave is big.
True
3
proof
[(((triple6 triple7) -> rule2))]
("Dave" "is" "big" "+")
((triple6 triple7) -> (rule2 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Harry is not kind.
False
3
inv-proof
[(((triple10 triple11) -> rule3) OR ((triple10 ((triple8) -> rule1)) -> rule3))]
("Harry" "is" "kind" "-")
((triple10 triple11) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((triple10 ((triple8) -> (rule1 % int2))) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is not green.
("Harry" "is" "green" "-")
int2
Dave is not green.
True
4
proof
[(((((triple6 triple7) -> rule2)) -> rule1))]
("Dave" "is" "green" "-")
((((triple6 triple7) -> (rule2 % int2))) -> (rule1 % int1))
Dave is not green.
("Dave" "is" "green" "-")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is green.
False
4
inv-proof
[(((((triple6 triple7) -> rule2)) -> rule1))]
("Dave" "is" "green" "+")
((((triple6 triple7) -> (rule2 % int2))) -> (rule1 % int1))
Dave is not green.
("Dave" "is" "green" "-")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is furry.
True
6
proof
[(((triple7 ((((triple6 triple7) -> rule2)) -> rule1)) -> rule4))]
("Dave" "is" "furry" "+")
((triple7 ((((triple6 triple7) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is not green.
("Dave" "is" "green" "-")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is not furry.
False
6
inv-proof
[(((triple7 ((((triple6 triple7) -> rule2)) -> rule1)) -> rule4))]
("Dave" "is" "furry" "-")
((triple7 ((((triple6 triple7) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is not green.
("Dave" "is" "green" "-")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is kind.
True
11
proof
[(((((triple7 ((((triple6 triple7) -> rule2)) -> rule1)) -> rule4) ((((triple6 triple7) -> rule2)) -> rule1)) -> rule3))]
("Dave" "is" "kind" "+")
((((triple7 ((((triple6 triple7) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule4 % int2)) ((((triple6 triple7) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is not green.
("Dave" "is" "green" "-")
int3
Dave is big.
("Dave" "is" "big" "+")
int4
Dave is not kind.
False
11
inv-proof
[(((((triple7 ((((triple6 triple7) -> rule2)) -> rule1)) -> rule4) ((((triple6 triple7) -> rule2)) -> rule1)) -> rule3))]
("Dave" "is" "kind" "-")
((((triple7 ((((triple6 triple7) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule4 % int2)) ((((triple6 triple7) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is not green.
("Dave" "is" "green" "-")
int3
Dave is big.
("Dave" "is" "big" "+")
int4
Dave is cold.
True
12
proof
[(((((((triple7 ((((triple6 triple7) -> rule2)) -> rule1)) -> rule4) ((((triple6 triple7) -> rule2)) -> rule1)) -> rule3)) -> rule5))]
("Dave" "is" "cold" "+")
((((((triple7 ((((triple6 triple7) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule4 % int3)) ((((triple6 triple7) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule3 % int2))) -> (rule5 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is not green.
("Dave" "is" "green" "-")
int4
Dave is big.
("Dave" "is" "big" "+")
int5
Dave is not cold.
False
12
inv-proof
[(((((((triple7 ((((triple6 triple7) -> rule2)) -> rule1)) -> rule4) ((((triple6 triple7) -> rule2)) -> rule1)) -> rule3)) -> rule5))]
("Dave" "is" "cold" "-")
((((((triple7 ((((triple6 triple7) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule4 % int3)) ((((triple6 triple7) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule3 % int2))) -> (rule5 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is not green.
("Dave" "is" "green" "-")
int4
Dave is big.
("Dave" "is" "big" "+")
int5
Bob is not furry.
Unknown
inv-rconc
[@1: Bob is furry.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Bob" "is" "furry" "-")
Bob is cold.
Unknown
rconc
[@2: Bob is cold.[CWA. Example of deepest failure = (rule5 <- rule3 <- FAIL)]]
("Bob" "is" "cold" "+")
Bob is not big.
Unknown
inv-rconc
[@1: Bob is big.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "big" "-")
Bob is kind.
Unknown
rconc
[@1: Bob is kind.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Bob" "is" "kind" "+")
Harry is not blue.
Unknown
inv-random
[@0: Harry is blue.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "blue" "-")
Charlie is red.
Unknown
random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "+")
Charlie is not green.
Unknown
inv-random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "-")
Bob is green.
Unknown
random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "+")
@0: Bob is not red.[(triple1)] Charlie is blue.[(triple3)] Charlie is kind.[(triple5)] Charlie is not big.[(triple2)] Charlie is not furry.[(triple4)] Dave is blue.[(triple6)] Dave is red.[(triple7)] Harry is big.[(triple8)] Harry is cold.[(triple9 OR ((((triple10 triple11) -> rule3)) -> rule5) OR ((((triple10 ((triple8) -> rule1)) -> rule3)) -> rule5))] Harry is furry.[(triple10)] Harry is not green.[(triple11 OR ((triple8) -> rule1))] Harry is not red.[(triple12)] @1: Charlie is cold.[(((triple5) -> rule5))] Dave is big.[(((triple6 triple7) -> rule2))] Harry is kind.[(((triple10 triple11) -> rule3) OR ((triple10 ((triple8) -> rule1)) -> rule3))] @2: Dave is not green.[(((((triple6 triple7) -> rule2)) -> rule1))] @3: Dave is furry.[(((triple7 ((((triple6 triple7) -> rule2)) -> rule1)) -> rule4))] @4: Dave is kind.[(((((triple7 ((((triple6 triple7) -> rule2)) -> rule1)) -> rule4) ((((triple6 triple7) -> rule2)) -> rule1)) -> rule3))] @5: Dave is cold.[(((((((triple7 ((((triple6 triple7) -> rule2)) -> rule1)) -> rule4) ((((triple6 triple7) -> rule2)) -> rule1)) -> rule3)) -> rule5))]
Bob is not red.
("Bob" "is" "red" "-")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple3
Charlie is kind.
("Charlie" "is" "kind" "+")
triple5
Charlie is not big.
("Charlie" "is" "big" "-")
triple2
Charlie is not furry.
("Charlie" "is" "furry" "-")
triple4
Dave is blue.
("Dave" "is" "blue" "+")
triple6
Dave is red.
("Dave" "is" "red" "+")
triple7
Harry is big.
("Harry" "is" "big" "+")
triple8
Harry is cold.
("Harry" "is" "cold" "+")
triple9
((((triple10 triple11) -> (rule3 % int2))) -> (rule5 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((((triple10 ((triple8) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is not green.
("Harry" "is" "green" "-")
int3
Harry is furry.
("Harry" "is" "furry" "+")
triple10
Harry is not green.
("Harry" "is" "green" "-")
triple11
((triple8) -> (rule1 % int1))
Harry is not green.
("Harry" "is" "green" "-")
int1
Harry is not red.
("Harry" "is" "red" "-")
triple12
Charlie is cold.
("Charlie" "is" "cold" "+")
((triple5) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
((triple6 triple7) -> (rule2 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
((triple10 triple11) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((triple10 ((triple8) -> (rule1 % int2))) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is not green.
("Harry" "is" "green" "-")
int2
Dave is not green.
("Dave" "is" "green" "-")
((((triple6 triple7) -> (rule2 % int2))) -> (rule1 % int1))
Dave is not green.
("Dave" "is" "green" "-")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
((triple7 ((((triple6 triple7) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is not green.
("Dave" "is" "green" "-")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
((((triple7 ((((triple6 triple7) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule4 % int2)) ((((triple6 triple7) -> (rule2 % int4))) -> (rule1 % int3))) -> (rule3 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is not green.
("Dave" "is" "green" "-")
int3
Dave is big.
("Dave" "is" "big" "+")
int4
Dave is cold.
("Dave" "is" "cold" "+")
((((((triple7 ((((triple6 triple7) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule4 % int3)) ((((triple6 triple7) -> (rule2 % int5))) -> (rule1 % int4))) -> (rule3 % int2))) -> (rule5 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is not green.
("Dave" "is" "green" "-")
int4
Dave is big.
("Dave" "is" "big" "+")
int5