Charlie is nice. Charlie is rough. Charlie is smart. Nice, kind people are smart. If someone is nice then they are kind. If someone is rough and not white then they are not kind.
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Nice, kind people are smart.
((("someone" "is" "nice" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "smart" "+"))
If someone is nice then they are kind.
((("someone" "is" "nice" "+")) -> ("someone" "is" "kind" "+"))
If someone is rough and not white then they are not kind.
((("someone" "is" "rough" "+") ("someone" "is" "white" "~")) -> ("someone" "is" "kind" "-"))
Charlie is rough.
True
1
proof
[(triple2)]
("Charlie" "is" "rough" "+")
triple2
Charlie is not smart.
False
1
inv-proof
[(triple3 OR ((triple1 ((triple1) -> rule2)) -> rule1))]
("Charlie" "is" "smart" "-")
triple3
((triple1 ((triple1) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is not young.
Unknown
inv-random
[@0: Charlie is young.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "young" "-")
Charlie is white.
Unknown
random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "+")
@0: Charlie is nice.[(triple1)] Charlie is rough.[(triple2)] Charlie is smart.[(triple3 OR ((triple1 ((triple1) -> rule2)) -> rule1))] @1: Charlie is kind.[(((triple1) -> rule2))]
Charlie is nice.
("Charlie" "is" "nice" "+")
triple1
Charlie is rough.
("Charlie" "is" "rough" "+")
triple2
Charlie is smart.
("Charlie" "is" "smart" "+")
triple3
((triple1 ((triple1) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple1) -> (rule2 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1