Charlie is blue. Charlie is green. Charlie is rough. Charlie is round. Charlie is white. Charlie is young. Fiona is green. Gary is blue. Gary is furry. Gary is green. Gary is rough. Gary is round. If Gary is blue and Gary is young then Gary is rough. If someone is green and young then they are furry. If someone is young then they are furry. If Charlie is young and Charlie is not green then Charlie is round. If Charlie is green then Charlie is young. Young people are blue. If Gary is green then Gary is not white. If someone is furry and not rough then they are white.
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
If Gary is blue and Gary is young then Gary is rough.
((("Gary" "is" "blue" "+") ("Gary" "is" "young" "+")) -> ("Gary" "is" "rough" "+"))
If someone is green and young then they are furry.
((("someone" "is" "green" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "furry" "+"))
If someone is young then they are furry.
((("someone" "is" "young" "+")) -> ("someone" "is" "furry" "+"))
If Charlie is young and Charlie is not green then Charlie is round.
((("Charlie" "is" "young" "+") ("Charlie" "is" "green" "~")) -> ("Charlie" "is" "round" "+"))
If Charlie is green then Charlie is young.
((("Charlie" "is" "green" "+")) -> ("Charlie" "is" "young" "+"))
Young people are blue.
((("someone" "is" "young" "+")) -> ("someone" "is" "blue" "+"))
If Gary is green then Gary is not white.
((("Gary" "is" "green" "+")) -> ("Gary" "is" "white" "-"))
If someone is furry and not rough then they are white.
((("someone" "is" "furry" "+") ("someone" "is" "rough" "~")) -> ("someone" "is" "white" "+"))
Charlie is blue.
True
1
proof
[(triple1 OR ((triple6) -> rule6) OR ((((triple2) -> rule5)) -> rule6))]
("Charlie" "is" "blue" "+")
triple1
((triple6) -> (rule6 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((((triple2) -> (rule5 % int2))) -> (rule6 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is not blue.
False
1
inv-proof
[(triple1 OR ((triple6) -> rule6) OR ((((triple2) -> rule5)) -> rule6))]
("Charlie" "is" "blue" "-")
triple1
((triple6) -> (rule6 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((((triple2) -> (rule5 % int2))) -> (rule6 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Fiona is not blue.
Unknown
inv-rconc
[@1: Fiona is blue.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Fiona" "is" "blue" "-")
Gary is young.
Unknown
random
[@0: Gary is young.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "young" "+")
@0: Charlie is blue.[(triple1 OR ((triple6) -> rule6) OR ((((triple2) -> rule5)) -> rule6))] Charlie is green.[(triple2)] Charlie is rough.[(triple3)] Charlie is round.[(triple4)] Charlie is white.[(triple5)] Charlie is young.[(triple6 OR ((triple2) -> rule5))] Fiona is green.[(triple7)] Gary is blue.[(triple8)] Gary is furry.[(triple9)] Gary is green.[(triple10)] Gary is rough.[(triple11)] Gary is round.[(triple12)] @1: Charlie is furry.[(((triple6) -> rule3) OR ((triple2 triple6) -> rule2) OR ((((triple2) -> rule5)) -> rule3) OR ((triple2 ((triple2) -> rule5)) -> rule2))] Gary is not white.[(((triple10) -> rule7))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
((triple6) -> (rule6 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((((triple2) -> (rule5 % int2))) -> (rule6 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
triple2
Charlie is rough.
("Charlie" "is" "rough" "+")
triple3
Charlie is round.
("Charlie" "is" "round" "+")
triple4
Charlie is white.
("Charlie" "is" "white" "+")
triple5
Charlie is young.
("Charlie" "is" "young" "+")
triple6
((triple2) -> (rule5 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
triple7
Gary is blue.
("Gary" "is" "blue" "+")
triple8
Gary is furry.
("Gary" "is" "furry" "+")
triple9
Gary is green.
("Gary" "is" "green" "+")
triple10
Gary is rough.
("Gary" "is" "rough" "+")
triple11
Gary is round.
("Gary" "is" "round" "+")
triple12
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple6) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple2 triple6) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple2) -> (rule5 % int2))) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((triple2 ((triple2) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Gary is not white.
("Gary" "is" "white" "-")
((triple10) -> (rule7 % int1))
Gary is not white.
("Gary" "is" "white" "-")
int1