Anne is green. Anne is kind. Charlie is nice. Charlie is rough. Gary is blue. Gary is green. Gary is rough. Harry is furry. Harry is nice. Harry is white. If Charlie is green and Charlie is rough then Charlie is kind. All white things are rough. If something is blue then it is green. If Charlie is kind then Charlie is rough. If Anne is rough then Anne is furry. Furry things are nice. All nice, rough things are green. If something is white then it is kind.
Anne is green.
("Anne" "is" "green" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is white.
("Harry" "is" "white" "+")
If Charlie is green and Charlie is rough then Charlie is kind.
((("Charlie" "is" "green" "+") ("Charlie" "is" "rough" "+")) -> ("Charlie" "is" "kind" "+"))
All white things are rough.
((("something" "is" "white" "+")) -> ("something" "is" "rough" "+"))
If something is blue then it is green.
((("something" "is" "blue" "+")) -> ("something" "is" "green" "+"))
If Charlie is kind then Charlie is rough.
((("Charlie" "is" "kind" "+")) -> ("Charlie" "is" "rough" "+"))
If Anne is rough then Anne is furry.
((("Anne" "is" "rough" "+")) -> ("Anne" "is" "furry" "+"))
Furry things are nice.
((("something" "is" "furry" "+")) -> ("something" "is" "nice" "+"))
All nice, rough things are green.
((("something" "is" "nice" "+") ("something" "is" "rough" "+")) -> ("something" "is" "green" "+"))
If something is white then it is kind.
((("something" "is" "white" "+")) -> ("something" "is" "kind" "+"))
Charlie is nice.
True
1
proof
[(triple3)]
("Charlie" "is" "nice" "+")
triple3
Gary is not green.
False
1
inv-proof
[(triple6 OR ((triple5) -> rule3))]
("Gary" "is" "green" "-")
triple6
((triple5) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is not kind.
Unknown
inv-rconc
[@1: Gary is kind.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Gary" "is" "kind" "-")
Gary is white.
Unknown
random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "+")
@0: Anne is green.[(triple1)] Anne is kind.[(triple2)] Charlie is nice.[(triple3)] Charlie is rough.[(triple4)] Gary is blue.[(triple5)] Gary is green.[(triple6 OR ((triple5) -> rule3))] Gary is rough.[(triple7)] Harry is furry.[(triple8)] Harry is nice.[(triple9 OR ((triple8) -> rule6))] Harry is white.[(triple10)] @1: Charlie is green.[(((triple3 triple4) -> rule7))] Harry is kind.[(((triple10) -> rule8))] Harry is rough.[(((triple10) -> rule2))] @2: Charlie is kind.[(((((triple3 triple4) -> rule7) triple4) -> rule1))] Harry is green.[(((triple9 ((triple10) -> rule2)) -> rule7) OR ((((triple8) -> rule6) ((triple10) -> rule2)) -> rule7))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
Charlie is nice.
("Charlie" "is" "nice" "+")
triple3
Charlie is rough.
("Charlie" "is" "rough" "+")
triple4
Gary is blue.
("Gary" "is" "blue" "+")
triple5
Gary is green.
("Gary" "is" "green" "+")
triple6
((triple5) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
triple7
Harry is furry.
("Harry" "is" "furry" "+")
triple8
Harry is nice.
("Harry" "is" "nice" "+")
triple9
((triple8) -> (rule6 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
triple10
Charlie is green.
("Charlie" "is" "green" "+")
((triple3 triple4) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
((triple10) -> (rule8 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
((triple10) -> (rule2 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
((((triple3 triple4) -> (rule7 % int2)) triple4) -> (rule1 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
((triple9 ((triple10) -> (rule2 % int2))) -> (rule7 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((((triple8) -> (rule6 % int3)) ((triple10) -> (rule2 % int2))) -> (rule7 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3