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