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