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