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