Anne is not furry. Charlie is big. Charlie is round. Charlie is white. Erin is big. Erin is furry. Erin is round. Fiona is not blue. Fiona is not nice. Fiona is not young. If someone is nice and round then they are big. Nice people are young. If someone is big then they are nice. If someone is white then they are not furry. If someone is young then they are blue. If someone is young and not nice then they are blue.
Anne is not furry.
("Anne" "is" "furry" "-")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is round.
("Erin" "is" "round" "+")
Fiona is not blue.
("Fiona" "is" "blue" "-")
Fiona is not nice.
("Fiona" "is" "nice" "-")
Fiona is not young.
("Fiona" "is" "young" "-")
If someone is nice and round then they are big.
((("someone" "is" "nice" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "big" "+"))
Nice people are young.
((("someone" "is" "nice" "+")) -> ("someone" "is" "young" "+"))
If someone is big then they are nice.
((("someone" "is" "big" "+")) -> ("someone" "is" "nice" "+"))
If someone is white then they are not furry.
((("someone" "is" "white" "+")) -> ("someone" "is" "furry" "-"))
If someone is young then they are blue.
((("someone" "is" "young" "+")) -> ("someone" "is" "blue" "+"))
If someone is young and not nice then they are blue.
((("someone" "is" "young" "+") ("someone" "is" "nice" "~")) -> ("someone" "is" "blue" "+"))
Fiona is not blue.
True
1
proof
[(triple8)]
("Fiona" "is" "blue" "-")
triple8
Erin is not big.
False
1
inv-proof
[(triple5)]
("Erin" "is" "big" "-")
triple5
Charlie is not furry.
True
2
proof
[(((triple4) -> rule4))]
("Charlie" "is" "furry" "-")
((triple4) -> (rule4 % int1))
Charlie is not furry.
("Charlie" "is" "furry" "-")
int1
Charlie is not nice.
False
2
inv-proof
[(((triple2) -> rule3))]
("Charlie" "is" "nice" "-")
((triple2) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Erin is young.
True
3
proof
[(((((triple5) -> rule3)) -> rule2))]
("Erin" "is" "young" "+")
((((triple5) -> (rule3 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Erin is not young.
False
3
inv-proof
[(((((triple5) -> rule3)) -> rule2))]
("Erin" "is" "young" "-")
((((triple5) -> (rule3 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Charlie is blue.
True
4
proof
[(((((((triple2) -> rule3)) -> rule2)) -> rule5))]
("Charlie" "is" "blue" "+")
((((((triple2) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Erin is not blue.
False
4
inv-proof
[(((((((triple5) -> rule3)) -> rule2)) -> rule5))]
("Erin" "is" "blue" "-")
((((((triple5) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3
Anne is not blue.
Unknown
inv-rconc
[@4: Anne is blue.[CWA. Example of deepest failure = (rule5 <- rule2 <- rule3 <- rule1 <- FAIL)]]
("Anne" "is" "blue" "-")
Anne is nice.
Unknown
rconc
[@2: Anne is nice.[CWA. Example of deepest failure = (rule3 <- rule1 <- FAIL)]]
("Anne" "is" "nice" "+")
Anne is not big.
Unknown
inv-rconc
[@1: Anne is big.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Anne" "is" "big" "-")
Fiona is big.
Unknown
rconc
[@1: Fiona is big.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "big" "+")
Fiona is not round.
Unknown
inv-random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "-")
Erin is white.
Unknown
random
[@0: Erin is white.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "white" "+")
Fiona is not furry.
Unknown
inv-random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "-")
Fiona is white.
Unknown
random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "+")
@0: Anne is not furry.[(triple1)] Charlie is big.[(triple2)] Charlie is round.[(triple3)] Charlie is white.[(triple4)] Erin is big.[(triple5)] Erin is furry.[(triple6)] Erin is round.[(triple7)] Fiona is not blue.[(triple8)] Fiona is not nice.[(triple9)] Fiona is not young.[(triple10)] @1: Charlie is nice.[(((triple2) -> rule3))] Charlie is not furry.[(((triple4) -> rule4))] Erin is nice.[(((triple5) -> rule3))] @2: Charlie is young.[(((((triple2) -> rule3)) -> rule2))] Erin is young.[(((((triple5) -> rule3)) -> rule2))] @3: Charlie is blue.[(((((((triple2) -> rule3)) -> rule2)) -> rule5))] Erin is blue.[(((((((triple5) -> rule3)) -> rule2)) -> rule5))]
Anne is not furry.
("Anne" "is" "furry" "-")
triple1
Charlie is big.
("Charlie" "is" "big" "+")
triple2
Charlie is round.
("Charlie" "is" "round" "+")
triple3
Charlie is white.
("Charlie" "is" "white" "+")
triple4
Erin is big.
("Erin" "is" "big" "+")
triple5
Erin is furry.
("Erin" "is" "furry" "+")
triple6
Erin is round.
("Erin" "is" "round" "+")
triple7
Fiona is not blue.
("Fiona" "is" "blue" "-")
triple8
Fiona is not nice.
("Fiona" "is" "nice" "-")
triple9
Fiona is not young.
("Fiona" "is" "young" "-")
triple10
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple2) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is not furry.
("Charlie" "is" "furry" "-")
((triple4) -> (rule4 % int1))
Charlie is not furry.
("Charlie" "is" "furry" "-")
int1
Erin is nice.
("Erin" "is" "nice" "+")
((triple5) -> (rule3 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
((((triple2) -> (rule3 % int2))) -> (rule2 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Erin is young.
("Erin" "is" "young" "+")
((((triple5) -> (rule3 % int2))) -> (rule2 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is nice.
("Erin" "is" "nice" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
((((((triple2) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Erin is blue.
("Erin" "is" "blue" "+")
((((((triple5) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is nice.
("Erin" "is" "nice" "+")
int3