Anne is big. Anne is green. Anne is kind. Fiona is big. Fiona is kind. Fiona is nice. Fiona is young. Gary is furry. Gary is green. Gary is young. If someone is kind and white then they are young. All white people are nice. If someone is white and nice then they are young. If Gary is furry and Gary is nice then Gary is big. All furry, big people are nice. If someone is nice and big then they are kind. If someone is green then they are nice. Kind people are furry.
Anne is big.
("Anne" "is" "big" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is young.
("Gary" "is" "young" "+")
If someone is kind and white then they are young.
((("someone" "is" "kind" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "young" "+"))
All white people are nice.
((("someone" "is" "white" "+")) -> ("someone" "is" "nice" "+"))
If someone is white and nice then they are young.
((("someone" "is" "white" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "young" "+"))
If Gary is furry and Gary is nice then Gary is big.
((("Gary" "is" "furry" "+") ("Gary" "is" "nice" "+")) -> ("Gary" "is" "big" "+"))
All furry, big people are nice.
((("someone" "is" "furry" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "nice" "+"))
If someone is nice and big then they are kind.
((("someone" "is" "nice" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "kind" "+"))
If someone is green then they are nice.
((("someone" "is" "green" "+")) -> ("someone" "is" "nice" "+"))
Kind people are furry.
((("someone" "is" "kind" "+")) -> ("someone" "is" "furry" "+"))
Fiona is big.
True
1
proof
[(triple4)]
("Fiona" "is" "big" "+")
triple4
Fiona is not nice.
False
1
inv-proof
[(triple6 OR ((((triple5) -> rule8) triple4) -> rule5))]
("Fiona" "is" "nice" "-")
triple6
((((triple5) -> (rule8 % int2)) triple4) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is furry.
True
2
proof
[(((triple5) -> rule8) OR ((((triple6 triple4) -> rule6)) -> rule8))]
("Fiona" "is" "furry" "+")
((triple5) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple6 triple4) -> (rule6 % int2))) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Gary is not nice.
False
2
inv-proof
[(((triple9) -> rule7))]
("Gary" "is" "nice" "-")
((triple9) -> (rule7 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Anne is not young.
Unknown
inv-rconc
[@1: Anne is young.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Anne" "is" "young" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
Gary is not white.
Unknown
inv-random
[@0: Gary is white.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "white" "-")
Anne is white.
Unknown
random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "+")
@0: Anne is big.[(triple1)] Anne is green.[(triple2)] Anne is kind.[(triple3 OR ((((triple2) -> rule7) triple1) -> rule6))] Fiona is big.[(triple4)] Fiona is kind.[(triple5 OR ((triple6 triple4) -> rule6))] Fiona is nice.[(triple6 OR ((((triple5) -> rule8) triple4) -> rule5))] Fiona is young.[(triple7)] Gary is furry.[(triple8)] Gary is green.[(triple9)] Gary is young.[(triple10)] @1: Anne is furry.[(((triple3) -> rule8) OR ((((((triple2) -> rule7) triple1) -> rule6)) -> rule8))] Anne is nice.[(((triple2) -> rule7) OR ((((triple3) -> rule8) triple1) -> rule5))] Fiona is furry.[(((triple5) -> rule8) OR ((((triple6 triple4) -> rule6)) -> rule8))] Gary is nice.[(((triple9) -> rule7))] @2: Gary is big.[(((triple8 ((triple9) -> rule7)) -> rule4))] @3: Gary is kind.[(((((triple9) -> rule7) ((triple8 ((triple9) -> rule7)) -> rule4)) -> rule6))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is green.
("Anne" "is" "green" "+")
triple2
Anne is kind.
("Anne" "is" "kind" "+")
triple3
((((triple2) -> (rule7 % int2)) triple1) -> (rule6 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
triple4
Fiona is kind.
("Fiona" "is" "kind" "+")
triple5
((triple6 triple4) -> (rule6 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple6
((((triple5) -> (rule8 % int2)) triple4) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is young.
("Fiona" "is" "young" "+")
triple7
Gary is furry.
("Gary" "is" "furry" "+")
triple8
Gary is green.
("Gary" "is" "green" "+")
triple9
Gary is young.
("Gary" "is" "young" "+")
triple10
Anne is furry.
("Anne" "is" "furry" "+")
((triple3) -> (rule8 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((((((triple2) -> (rule7 % int3)) triple1) -> (rule6 % int2))) -> (rule8 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
((triple2) -> (rule7 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((((triple3) -> (rule8 % int2)) triple1) -> (rule5 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple5) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple6 triple4) -> (rule6 % int2))) -> (rule8 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((triple9) -> (rule7 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
((triple8 ((triple9) -> (rule7 % int2))) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
((((triple9) -> (rule7 % int3)) ((triple8 ((triple9) -> (rule7 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3