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