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