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