Bob is furry. Bob is nice. Gary is nice. Gary is red. Harry is big. Harry is nice. Harry is smart. If Gary is green and Gary is not smart then Gary is blue. All big things are furry. If Bob is furry and Bob is nice then Bob is red. All red, big things are green. If something is red then it is big. Red things are not blue. If something is smart and not red then it is blue. If something is smart and not furry then it is blue.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is red.
("Gary" "is" "red" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is smart.
("Harry" "is" "smart" "+")
If Gary is green and Gary is not smart then Gary is blue.
((("Gary" "is" "green" "+") ("Gary" "is" "smart" "~")) -> ("Gary" "is" "blue" "+"))
All big things are furry.
((("something" "is" "big" "+")) -> ("something" "is" "furry" "+"))
If Bob is furry and Bob is nice then Bob is red.
((("Bob" "is" "furry" "+") ("Bob" "is" "nice" "+")) -> ("Bob" "is" "red" "+"))
All red, big things are green.
((("something" "is" "red" "+") ("something" "is" "big" "+")) -> ("something" "is" "green" "+"))
If something is red then it is big.
((("something" "is" "red" "+")) -> ("something" "is" "big" "+"))
Red things are not blue.
((("something" "is" "red" "+")) -> ("something" "is" "blue" "-"))
If something is smart and not red then it is blue.
((("something" "is" "smart" "+") ("something" "is" "red" "~")) -> ("something" "is" "blue" "+"))
If something is smart and not furry then it is blue.
((("something" "is" "smart" "+") ("something" "is" "furry" "~")) -> ("something" "is" "blue" "+"))
Gary is red.
True
1
proof
[(triple4)]
("Gary" "is" "red" "+")
triple4
Bob is not furry.
False
1
inv-proof
[(triple1)]
("Bob" "is" "furry" "-")
triple1
Gary is not blue.
True
2
proof
[(((triple4) -> rule6))]
("Gary" "is" "blue" "-")
((triple4) -> (rule6 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is blue.
False
2
inv-proof
[(((triple4) -> rule6))]
("Gary" "is" "blue" "+")
((triple4) -> (rule6 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is green.
True
4
proof
[(((triple4 ((triple4) -> rule5)) -> rule4))]
("Gary" "is" "green" "+")
((triple4 ((triple4) -> (rule5 % int2))) -> (rule4 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Bob is blue.
False
4
inv-proof
[(((((triple1 triple2) -> rule3)) -> rule6))]
("Bob" "is" "blue" "+")
((((triple1 triple2) -> (rule3 % int2))) -> (rule6 % int1))
Bob is not blue.
("Bob" "is" "blue" "-")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is green.
True
8
proof
[(((((triple1 triple2) -> rule3) ((((triple1 triple2) -> rule3)) -> rule5)) -> rule4))]
("Bob" "is" "green" "+")
((((triple1 triple2) -> (rule3 % int3)) ((((triple1 triple2) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Bob is not green.
False
8
inv-proof
[(((((triple1 triple2) -> rule3) ((((triple1 triple2) -> rule3)) -> rule5)) -> rule4))]
("Bob" "is" "green" "-")
((((triple1 triple2) -> (rule3 % int3)) ((((triple1 triple2) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3
Harry is not blue.
Unknown
inv-rconc
[@1: Harry is blue.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Harry" "is" "blue" "-")
Harry is green.
Unknown
rconc
[@1: Harry is green.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Harry" "is" "green" "+")
Bob is not smart.
Unknown
inv-random
[@0: Bob is smart.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "smart" "-")
Harry is red.
Unknown
random
[@0: Harry is red.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "red" "+")
@0: Bob is furry.[(triple1)] Bob is nice.[(triple2)] Gary is nice.[(triple3)] Gary is red.[(triple4)] Harry is big.[(triple5)] Harry is nice.[(triple6)] Harry is smart.[(triple7)] @1: Bob is red.[(((triple1 triple2) -> rule3))] Gary is big.[(((triple4) -> rule5))] Gary is not blue.[(((triple4) -> rule6))] Harry is furry.[(((triple5) -> rule2))] @2: Bob is big.[(((((triple1 triple2) -> rule3)) -> rule5))] Bob is not blue.[(((((triple1 triple2) -> rule3)) -> rule6))] Gary is furry.[(((((triple4) -> rule5)) -> rule2))] Gary is green.[(((triple4 ((triple4) -> rule5)) -> rule4))] @3: Bob is green.[(((((triple1 triple2) -> rule3) ((((triple1 triple2) -> rule3)) -> rule5)) -> rule4))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Gary is nice.
("Gary" "is" "nice" "+")
triple3
Gary is red.
("Gary" "is" "red" "+")
triple4
Harry is big.
("Harry" "is" "big" "+")
triple5
Harry is nice.
("Harry" "is" "nice" "+")
triple6
Harry is smart.
("Harry" "is" "smart" "+")
triple7
Bob is red.
("Bob" "is" "red" "+")
((triple1 triple2) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((triple4) -> (rule5 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is not blue.
("Gary" "is" "blue" "-")
((triple4) -> (rule6 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Harry is furry.
("Harry" "is" "furry" "+")
((triple5) -> (rule2 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
((((triple1 triple2) -> (rule3 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is not blue.
("Bob" "is" "blue" "-")
((((triple1 triple2) -> (rule3 % int2))) -> (rule6 % int1))
Bob is not blue.
("Bob" "is" "blue" "-")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
((((triple4) -> (rule5 % int2))) -> (rule2 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
((triple4 ((triple4) -> (rule5 % int2))) -> (rule4 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
((((triple1 triple2) -> (rule3 % int3)) ((((triple1 triple2) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is red.
("Bob" "is" "red" "+")
int3