Anne is kind. Erin is blue. Fiona is round. Gary is kind. All rough, blue people are furry. All nice people are round. All round people are kind. If someone is round then they are big. If someone is kind and big then they are blue. All blue, big people are nice.
Anne is kind.
("Anne" "is" "kind" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Gary is kind.
("Gary" "is" "kind" "+")
All rough, blue people are furry.
((("someone" "is" "rough" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "furry" "+"))
All nice people are round.
((("someone" "is" "nice" "+")) -> ("someone" "is" "round" "+"))
All round people are kind.
((("someone" "is" "round" "+")) -> ("someone" "is" "kind" "+"))
If someone is round then they are big.
((("someone" "is" "round" "+")) -> ("someone" "is" "big" "+"))
If someone is kind and big then they are blue.
((("someone" "is" "kind" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "blue" "+"))
All blue, big people are nice.
((("someone" "is" "blue" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "nice" "+"))
Gary is kind.
True
1
proof
[(triple4)]
("Gary" "is" "kind" "+")
triple4
Fiona is not round.
False
1
inv-proof
[(triple3)]
("Fiona" "is" "round" "-")
triple3
Fiona is kind.
True
2
proof
[(((triple3) -> rule3))]
("Fiona" "is" "kind" "+")
((triple3) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is not big.
False
2
inv-proof
[(((triple3) -> rule4))]
("Fiona" "is" "big" "-")
((triple3) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is blue.
True
5
proof
[(((((triple3) -> rule3) ((triple3) -> rule4)) -> rule5))]
("Fiona" "is" "blue" "+")
((((triple3) -> (rule3 % int3)) ((triple3) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is not blue.
False
5
inv-proof
[(((((triple3) -> rule3) ((triple3) -> rule4)) -> rule5))]
("Fiona" "is" "blue" "-")
((((triple3) -> (rule3 % int3)) ((triple3) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is nice.
True
8
proof
[(((((((triple3) -> rule3) ((triple3) -> rule4)) -> rule5) ((triple3) -> rule4)) -> rule6))]
("Fiona" "is" "nice" "+")
((((((triple3) -> (rule3 % int4)) ((triple3) -> (rule4 % int3))) -> (rule5 % int2)) ((triple3) -> (rule4 % int3))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is kind.
("Fiona" "is" "kind" "+")
int4
Fiona is not nice.
False
8
inv-proof
[(((((((triple3) -> rule3) ((triple3) -> rule4)) -> rule5) ((triple3) -> rule4)) -> rule6))]
("Fiona" "is" "nice" "-")
((((((triple3) -> (rule3 % int4)) ((triple3) -> (rule4 % int3))) -> (rule5 % int2)) ((triple3) -> (rule4 % int3))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is kind.
("Fiona" "is" "kind" "+")
int4
Erin is not round.
Unknown
inv-rconc
[@3: Erin is round.[CWA. Example of deepest failure = (rule2 <- rule6 <- rule4 <- FAIL)]]
("Erin" "is" "round" "-")
Gary is furry.
Unknown
rconc
[@1: Gary is furry.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "furry" "+")
Anne is not big.
Unknown
inv-rconc
[@3: Anne is big.[CWA. Example of deepest failure = (rule4 <- rule2 <- rule6 <- FAIL)]]
("Anne" "is" "big" "-")
Erin is big.
Unknown
rconc
[@3: Erin is big.[CWA. Example of deepest failure = (rule4 <- rule2 <- rule6 <- FAIL)]]
("Erin" "is" "big" "+")
Erin is not rough.
Unknown
inv-random
[@0: Erin is rough.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "rough" "-")
Fiona is rough.
Unknown
random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "+")
Gary is not rough.
Unknown
inv-random
[@0: Gary is rough.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "rough" "-")
Anne is rough.
Unknown
random
[@0: Anne is rough.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "rough" "+")
@0: Anne is kind.[(triple1)] Erin is blue.[(triple2)] Fiona is round.[(triple3)] Gary is kind.[(triple4)] @1: Fiona is big.[(((triple3) -> rule4))] Fiona is kind.[(((triple3) -> rule3))] @2: Fiona is blue.[(((((triple3) -> rule3) ((triple3) -> rule4)) -> rule5))] @3: Fiona is nice.[(((((((triple3) -> rule3) ((triple3) -> rule4)) -> rule5) ((triple3) -> rule4)) -> rule6))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Erin is blue.
("Erin" "is" "blue" "+")
triple2
Fiona is round.
("Fiona" "is" "round" "+")
triple3
Gary is kind.
("Gary" "is" "kind" "+")
triple4
Fiona is big.
("Fiona" "is" "big" "+")
((triple3) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
((triple3) -> (rule3 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((((triple3) -> (rule3 % int3)) ((triple3) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
int3
Fiona is nice.
("Fiona" "is" "nice" "+")
((((((triple3) -> (rule3 % int4)) ((triple3) -> (rule4 % int3))) -> (rule5 % int2)) ((triple3) -> (rule4 % int3))) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is kind.
("Fiona" "is" "kind" "+")
int4