Bob is big. Bob is furry. Bob is young. Charlie is big. Charlie is furry. Charlie is red. Charlie is smart. Charlie is young. Harry is blue. Harry is furry. Harry is kind. Harry is red. If something is smart and furry then it is big. If something is red and blue then it is smart.
Bob is big.
("Bob" "is" "big" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is red.
("Harry" "is" "red" "+")
If something is smart and furry then it is big.
((("something" "is" "smart" "+") ("something" "is" "furry" "+")) -> ("something" "is" "big" "+"))
If something is red and blue then it is smart.
((("something" "is" "red" "+") ("something" "is" "blue" "+")) -> ("something" "is" "smart" "+"))
Harry is red.
True
1
proof
[(triple12)]
("Harry" "is" "red" "+")
triple12
Harry is not blue.
False
1
inv-proof
[(triple9)]
("Harry" "is" "blue" "-")
triple9
Harry is smart.
True
3
proof
[(((triple12 triple9) -> rule2))]
("Harry" "is" "smart" "+")
((triple12 triple9) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is not smart.
False
3
inv-proof
[(((triple12 triple9) -> rule2))]
("Harry" "is" "smart" "-")
((triple12 triple9) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is big.
True
5
proof
[(((((triple12 triple9) -> rule2) triple10) -> rule1))]
("Harry" "is" "big" "+")
((((triple12 triple9) -> (rule2 % int2)) triple10) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Harry is not big.
False
5
inv-proof
[(((((triple12 triple9) -> rule2) triple10) -> rule1))]
("Harry" "is" "big" "-")
((((triple12 triple9) -> (rule2 % int2)) triple10) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2
Bob is not smart.
Unknown
inv-rconc
[@1: Bob is smart.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "smart" "-")
Bob is blue.
Unknown
random
[@0: Bob is blue.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "blue" "+")
Charlie is not blue.
Unknown
inv-random
[@0: Charlie is blue.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "blue" "-")
Charlie is kind.
Unknown
random
[@0: Charlie is kind.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "kind" "+")
Bob is not kind.
Unknown
inv-random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "-")
Harry is young.
Unknown
random
[@0: Harry is young.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "young" "+")
@0: Bob is big.[(triple1)] Bob is furry.[(triple2)] Bob is young.[(triple3)] Charlie is big.[(triple4 OR ((triple7 triple5) -> rule1))] Charlie is furry.[(triple5)] Charlie is red.[(triple6)] Charlie is smart.[(triple7)] Charlie is young.[(triple8)] Harry is blue.[(triple9)] Harry is furry.[(triple10)] Harry is kind.[(triple11)] Harry is red.[(triple12)] @1: Harry is smart.[(((triple12 triple9) -> rule2))] @2: Harry is big.[(((((triple12 triple9) -> rule2) triple10) -> rule1))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
Bob is young.
("Bob" "is" "young" "+")
triple3
Charlie is big.
("Charlie" "is" "big" "+")
triple4
((triple7 triple5) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple5
Charlie is red.
("Charlie" "is" "red" "+")
triple6
Charlie is smart.
("Charlie" "is" "smart" "+")
triple7
Charlie is young.
("Charlie" "is" "young" "+")
triple8
Harry is blue.
("Harry" "is" "blue" "+")
triple9
Harry is furry.
("Harry" "is" "furry" "+")
triple10
Harry is kind.
("Harry" "is" "kind" "+")
triple11
Harry is red.
("Harry" "is" "red" "+")
triple12
Harry is smart.
("Harry" "is" "smart" "+")
((triple12 triple9) -> (rule2 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
((((triple12 triple9) -> (rule2 % int2)) triple10) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is smart.
("Harry" "is" "smart" "+")
int2