Bob is blue. Bob is kind. Bob is quiet. Bob is rough. Charlie is furry. Charlie is kind. Dave is blue. Dave is furry. Dave is nice. Dave is rough. Harry is furry. Harry is kind. Harry is nice. Harry is quiet. Harry is red. Harry is rough. Kind things are red. All red things are rough. If Bob is quiet and Bob is kind then Bob is rough. Nice, furry things are quiet. Kind, nice things are rough. Rough things are quiet.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Kind things are red.
((("something" "is" "kind" "+")) -> ("something" "is" "red" "+"))
All red things are rough.
((("something" "is" "red" "+")) -> ("something" "is" "rough" "+"))
If Bob is quiet and Bob is kind then Bob is rough.
((("Bob" "is" "quiet" "+") ("Bob" "is" "kind" "+")) -> ("Bob" "is" "rough" "+"))
Nice, furry things are quiet.
((("something" "is" "nice" "+") ("something" "is" "furry" "+")) -> ("something" "is" "quiet" "+"))
Kind, nice things are rough.
((("something" "is" "kind" "+") ("something" "is" "nice" "+")) -> ("something" "is" "rough" "+"))
Rough things are quiet.
((("something" "is" "rough" "+")) -> ("something" "is" "quiet" "+"))
Harry is quiet.
True
1
proof
[(triple14 OR ((triple16) -> rule6) OR ((triple13 triple11) -> rule4) OR ((((triple15) -> rule2)) -> rule6) OR ((((triple12 triple13) -> rule5)) -> rule6) OR ((((((triple12) -> rule1)) -> rule2)) -> rule6))]
("Harry" "is" "quiet" "+")
triple14
((triple16) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((triple13 triple11) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((((triple15) -> (rule2 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((triple12 triple13) -> (rule5 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((((triple12) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Dave is not rough.
False
1
inv-proof
[(triple10)]
("Dave" "is" "rough" "-")
triple10
Charlie is red.
True
2
proof
[(((triple6) -> rule1))]
("Charlie" "is" "red" "+")
((triple6) -> (rule1 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Bob is not red.
False
2
inv-proof
[(((triple2) -> rule1))]
("Bob" "is" "red" "-")
((triple2) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Charlie is rough.
True
3
proof
[(((((triple6) -> rule1)) -> rule2))]
("Charlie" "is" "rough" "+")
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is not rough.
False
3
inv-proof
[(((((triple6) -> rule1)) -> rule2))]
("Charlie" "is" "rough" "-")
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is quiet.
True
4
proof
[(((((((triple6) -> rule1)) -> rule2)) -> rule6))]
("Charlie" "is" "quiet" "+")
((((((triple6) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is not quiet.
False
4
inv-proof
[(((((((triple6) -> rule1)) -> rule2)) -> rule6))]
("Charlie" "is" "quiet" "-")
((((((triple6) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Dave is not red.
Unknown
inv-rconc
[@1: Dave is red.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Dave" "is" "red" "-")
Dave is kind.
Unknown
random
[@0: Dave is kind.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "kind" "+")
Harry is not blue.
Unknown
inv-random
[@0: Harry is blue.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "blue" "-")
Charlie is blue.
Unknown
random
[@0: Charlie is blue.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "blue" "+")
Charlie is not nice.
Unknown
inv-random
[@0: Charlie is nice.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "nice" "-")
Bob is nice.
Unknown
random
[@0: Bob is nice.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "nice" "+")
@0: Bob is blue.[(triple1)] Bob is kind.[(triple2)] Bob is quiet.[(triple3 OR ((triple4) -> rule6) OR ((((((triple2) -> rule1)) -> rule2)) -> rule6))] Bob is rough.[(triple4 OR ((triple3 triple2) -> rule3) OR ((((triple2) -> rule1)) -> rule2))] Charlie is furry.[(triple5)] Charlie is kind.[(triple6)] Dave is blue.[(triple7)] Dave is furry.[(triple8)] Dave is nice.[(triple9)] Dave is rough.[(triple10)] Harry is furry.[(triple11)] Harry is kind.[(triple12)] Harry is nice.[(triple13)] Harry is quiet.[(triple14 OR ((triple16) -> rule6) OR ((triple13 triple11) -> rule4) OR ((((triple15) -> rule2)) -> rule6) OR ((((triple12 triple13) -> rule5)) -> rule6) OR ((((((triple12) -> rule1)) -> rule2)) -> rule6))] Harry is red.[(triple15 OR ((triple12) -> rule1))] Harry is rough.[(triple16 OR ((triple15) -> rule2) OR ((triple12 triple13) -> rule5) OR ((((triple12) -> rule1)) -> rule2))] @1: Bob is red.[(((triple2) -> rule1))] Charlie is red.[(((triple6) -> rule1))] Dave is quiet.[(((triple10) -> rule6) OR ((triple9 triple8) -> rule4))] @2: Charlie is rough.[(((((triple6) -> rule1)) -> rule2))] @3: Charlie is quiet.[(((((((triple6) -> rule1)) -> rule2)) -> rule6))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is kind.
("Bob" "is" "kind" "+")
triple2
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
((triple4) -> (rule6 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((((triple2) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is rough.
("Bob" "is" "rough" "+")
triple4
((triple3 triple2) -> (rule3 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
triple5
Charlie is kind.
("Charlie" "is" "kind" "+")
triple6
Dave is blue.
("Dave" "is" "blue" "+")
triple7
Dave is furry.
("Dave" "is" "furry" "+")
triple8
Dave is nice.
("Dave" "is" "nice" "+")
triple9
Dave is rough.
("Dave" "is" "rough" "+")
triple10
Harry is furry.
("Harry" "is" "furry" "+")
triple11
Harry is kind.
("Harry" "is" "kind" "+")
triple12
Harry is nice.
("Harry" "is" "nice" "+")
triple13
Harry is quiet.
("Harry" "is" "quiet" "+")
triple14
((triple16) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((triple13 triple11) -> (rule4 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((((triple15) -> (rule2 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((triple12 triple13) -> (rule5 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((((triple12) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is red.
("Harry" "is" "red" "+")
int3
Harry is red.
("Harry" "is" "red" "+")
triple15
((triple12) -> (rule1 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
triple16
((triple15) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((triple12 triple13) -> (rule5 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
((((triple12) -> (rule1 % int2))) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
((triple2) -> (rule1 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
((triple6) -> (rule1 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
((triple10) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((triple9 triple8) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
((((triple6) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((((((triple6) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3