Charlie is not cold. Charlie is furry. Charlie is not red. Dave is cold. Dave is furry. Dave is nice. Dave is not quiet. Gary is cold. Gary is nice. Gary is quiet. Harry is green. Harry is red. Cold things are not red. All red things are quiet. If Dave is quiet then Dave is nice. Green things are nice. If something is nice and not red then it is not young. If something is nice and not red then it is not green. If something is nice and not green then it is furry. All red, quiet things are furry.
Charlie is not cold.
("Charlie" "is" "cold" "-")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is not red.
("Charlie" "is" "red" "-")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is not quiet.
("Dave" "is" "quiet" "-")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is red.
("Harry" "is" "red" "+")
Cold things are not red.
((("something" "is" "cold" "+")) -> ("something" "is" "red" "-"))
All red things are quiet.
((("something" "is" "red" "+")) -> ("something" "is" "quiet" "+"))
If Dave is quiet then Dave is nice.
((("Dave" "is" "quiet" "+")) -> ("Dave" "is" "nice" "+"))
Green things are nice.
((("something" "is" "green" "+")) -> ("something" "is" "nice" "+"))
If something is nice and not red then it is not young.
((("something" "is" "nice" "+") ("something" "is" "red" "~")) -> ("something" "is" "young" "-"))
If something is nice and not red then it is not green.
((("something" "is" "nice" "+") ("something" "is" "red" "~")) -> ("something" "is" "green" "-"))
If something is nice and not green then it is furry.
((("something" "is" "nice" "+") ("something" "is" "green" "~")) -> ("something" "is" "furry" "+"))
All red, quiet things are furry.
((("something" "is" "red" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "furry" "+"))
Harry is red.
True
1
proof
[(triple12)]
("Harry" "is" "red" "+")
triple12
Charlie is red.
False
1
inv-proof
[(triple3)]
("Charlie" "is" "red" "+")
triple3
Dave is not red.
True
2
proof
[(((triple4) -> rule1))]
("Dave" "is" "red" "-")
((triple4) -> (rule1 % int1))
Dave is not red.
("Dave" "is" "red" "-")
int1
Harry is not quiet.
False
2
inv-proof
[(((triple12) -> rule2))]
("Harry" "is" "quiet" "-")
((triple12) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Gary is not young.
True
4
proof
[(((triple9 ((triple8) -> rule1)) -> rule5))]
("Gary" "is" "young" "-")
((triple9 ((triple8) -> (rule1 % int2))) -> (rule5 % int1))
Gary is not young.
("Gary" "is" "young" "-")
int1
Gary is not red.
("Gary" "is" "red" "-")
int2
Dave is young.
False
4
inv-proof
[(((triple6 ((triple4) -> rule1)) -> rule5))]
("Dave" "is" "young" "+")
((triple6 ((triple4) -> (rule1 % int2))) -> (rule5 % int1))
Dave is not young.
("Dave" "is" "young" "-")
int1
Dave is not red.
("Dave" "is" "red" "-")
int2
Gary is furry.
True
6
proof
[(((triple9 ((triple9 ((triple8) -> rule1)) -> rule6)) -> rule7))]
("Gary" "is" "furry" "+")
((triple9 ((triple9 ((triple8) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is not green.
("Gary" "is" "green" "-")
int2
Gary is not red.
("Gary" "is" "red" "-")
int3
Gary is not furry.
False
6
inv-proof
[(((triple9 ((triple9 ((triple8) -> rule1)) -> rule6)) -> rule7))]
("Gary" "is" "furry" "-")
((triple9 ((triple9 ((triple8) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is not green.
("Gary" "is" "green" "-")
int2
Gary is not red.
("Gary" "is" "red" "-")
int3
Charlie is not quiet.
Unknown
inv-rconc
[@1: Charlie is quiet.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Charlie" "is" "quiet" "-")
Charlie is nice.
Unknown
rconc
[@1: Charlie is nice.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Charlie" "is" "nice" "+")
Charlie is not green.
Unknown
inv-random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "-")
Harry is young.
Unknown
random
[@0: Harry is young.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "young" "+")
Harry is not cold.
Unknown
inv-random
[@0: Harry is cold.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "cold" "-")
Charlie is young.
Unknown
random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "+")
@0: Charlie is furry.[(triple2)] Charlie is not cold.[(triple1)] Charlie is not red.[(triple3)] Dave is cold.[(triple4)] Dave is furry.[(triple5 OR ((triple6 ((triple6 ((triple4) -> rule1)) -> rule6)) -> rule7))] Dave is nice.[(triple6)] Dave is not quiet.[(triple7)] Gary is cold.[(triple8)] Gary is nice.[(triple9)] Gary is quiet.[(triple10)] Harry is green.[(triple11)] Harry is red.[(triple12)] @1: Dave is not red.[(((triple4) -> rule1))] Gary is not red.[(((triple8) -> rule1))] Harry is nice.[(((triple11) -> rule4))] Harry is quiet.[(((triple12) -> rule2))] @2: Dave is not green.[(((triple6 ((triple4) -> rule1)) -> rule6))] Dave is not young.[(((triple6 ((triple4) -> rule1)) -> rule5))] Gary is not green.[(((triple9 ((triple8) -> rule1)) -> rule6))] Gary is not young.[(((triple9 ((triple8) -> rule1)) -> rule5))] Harry is furry.[(((triple12 ((triple12) -> rule2)) -> rule8))] @3: Gary is furry.[(((triple9 ((triple9 ((triple8) -> rule1)) -> rule6)) -> rule7))]
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
Charlie is not cold.
("Charlie" "is" "cold" "-")
triple1
Charlie is not red.
("Charlie" "is" "red" "-")
triple3
Dave is cold.
("Dave" "is" "cold" "+")
triple4
Dave is furry.
("Dave" "is" "furry" "+")
triple5
((triple6 ((triple6 ((triple4) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is not green.
("Dave" "is" "green" "-")
int2
Dave is not red.
("Dave" "is" "red" "-")
int3
Dave is nice.
("Dave" "is" "nice" "+")
triple6
Dave is not quiet.
("Dave" "is" "quiet" "-")
triple7
Gary is cold.
("Gary" "is" "cold" "+")
triple8
Gary is nice.
("Gary" "is" "nice" "+")
triple9
Gary is quiet.
("Gary" "is" "quiet" "+")
triple10
Harry is green.
("Harry" "is" "green" "+")
triple11
Harry is red.
("Harry" "is" "red" "+")
triple12
Dave is not red.
("Dave" "is" "red" "-")
((triple4) -> (rule1 % int1))
Dave is not red.
("Dave" "is" "red" "-")
int1
Gary is not red.
("Gary" "is" "red" "-")
((triple8) -> (rule1 % int1))
Gary is not red.
("Gary" "is" "red" "-")
int1
Harry is nice.
("Harry" "is" "nice" "+")
((triple11) -> (rule4 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
((triple12) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Dave is not green.
("Dave" "is" "green" "-")
((triple6 ((triple4) -> (rule1 % int2))) -> (rule6 % int1))
Dave is not green.
("Dave" "is" "green" "-")
int1
Dave is not red.
("Dave" "is" "red" "-")
int2
Dave is not young.
("Dave" "is" "young" "-")
((triple6 ((triple4) -> (rule1 % int2))) -> (rule5 % int1))
Dave is not young.
("Dave" "is" "young" "-")
int1
Dave is not red.
("Dave" "is" "red" "-")
int2
Gary is not green.
("Gary" "is" "green" "-")
((triple9 ((triple8) -> (rule1 % int2))) -> (rule6 % int1))
Gary is not green.
("Gary" "is" "green" "-")
int1
Gary is not red.
("Gary" "is" "red" "-")
int2
Gary is not young.
("Gary" "is" "young" "-")
((triple9 ((triple8) -> (rule1 % int2))) -> (rule5 % int1))
Gary is not young.
("Gary" "is" "young" "-")
int1
Gary is not red.
("Gary" "is" "red" "-")
int2
Harry is furry.
("Harry" "is" "furry" "+")
((triple12 ((triple12) -> (rule2 % int2))) -> (rule8 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
((triple9 ((triple9 ((triple8) -> (rule1 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is not green.
("Gary" "is" "green" "-")
int2
Gary is not red.
("Gary" "is" "red" "-")
int3