Anne is cold. Anne is furry. Anne is green. Anne is nice. Charlie is cold. Charlie is green. Dave is cold. Dave is nice. Dave is quiet. Dave is round. If Anne is round then Anne is green. If something is furry and nice then it is red. If something is round then it is cold. If something is round then it is quiet. All furry, cold things are red. Cold things are nice. Round things are nice. All furry, red things are round.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is nice.
("Anne" "is" "nice" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is round.
("Dave" "is" "round" "+")
If Anne is round then Anne is green.
((("Anne" "is" "round" "+")) -> ("Anne" "is" "green" "+"))
If something is furry and nice then it is red.
((("something" "is" "furry" "+") ("something" "is" "nice" "+")) -> ("something" "is" "red" "+"))
If something is round then it is cold.
((("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
If something is round then it is quiet.
((("something" "is" "round" "+")) -> ("something" "is" "quiet" "+"))
All furry, cold things are red.
((("something" "is" "furry" "+") ("something" "is" "cold" "+")) -> ("something" "is" "red" "+"))
Cold things are nice.
((("something" "is" "cold" "+")) -> ("something" "is" "nice" "+"))
Round things are nice.
((("something" "is" "round" "+")) -> ("something" "is" "nice" "+"))
All furry, red things are round.
((("something" "is" "furry" "+") ("something" "is" "red" "+")) -> ("something" "is" "round" "+"))
Dave is cold.
True
1
proof
[(triple7 OR ((triple10) -> rule3))]
("Dave" "is" "cold" "+")
triple7
((triple10) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is not cold.
False
1
inv-proof
[(triple7 OR ((triple10) -> rule3))]
("Dave" "is" "cold" "-")
triple7
((triple10) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Anne is red.
True
3
proof
[(((triple2 triple1) -> rule5) OR ((triple2 triple4) -> rule2) OR ((triple2 ((triple1) -> rule6)) -> rule2))]
("Anne" "is" "red" "+")
((triple2 triple1) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((triple2 triple4) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((triple2 ((triple1) -> (rule6 % int2))) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Charlie is not nice.
False
2
inv-proof
[(((triple5) -> rule6))]
("Charlie" "is" "nice" "-")
((triple5) -> (rule6 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Anne is round.
True
5
proof
[(((triple2 ((triple2 triple1) -> rule5)) -> rule8) OR ((triple2 ((triple2 triple4) -> rule2)) -> rule8) OR ((triple2 ((triple2 ((triple1) -> rule6)) -> rule2)) -> rule8))]
("Anne" "is" "round" "+")
((triple2 ((triple2 triple1) -> (rule5 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((triple2 ((triple2 triple4) -> (rule2 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((triple2 ((triple2 ((triple1) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is not round.
False
5
inv-proof
[(((triple2 ((triple2 triple1) -> rule5)) -> rule8) OR ((triple2 ((triple2 triple4) -> rule2)) -> rule8) OR ((triple2 ((triple2 ((triple1) -> rule6)) -> rule2)) -> rule8))]
("Anne" "is" "round" "-")
((triple2 ((triple2 triple1) -> (rule5 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((triple2 ((triple2 triple4) -> (rule2 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((triple2 ((triple2 ((triple1) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is quiet.
True
6
proof
[(((((triple2 ((triple2 triple1) -> rule5)) -> rule8)) -> rule4) OR ((((triple2 ((triple2 triple4) -> rule2)) -> rule8)) -> rule4) OR ((((triple2 ((triple2 ((triple1) -> rule6)) -> rule2)) -> rule8)) -> rule4))]
("Anne" "is" "quiet" "+")
((((triple2 ((triple2 triple1) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple2 ((triple2 triple4) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple2 ((triple2 ((triple1) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Anne is not quiet.
False
6
inv-proof
[(((((triple2 ((triple2 triple1) -> rule5)) -> rule8)) -> rule4) OR ((((triple2 ((triple2 triple4) -> rule2)) -> rule8)) -> rule4) OR ((((triple2 ((triple2 ((triple1) -> rule6)) -> rule2)) -> rule8)) -> rule4))]
("Anne" "is" "quiet" "-")
((((triple2 ((triple2 triple1) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple2 ((triple2 triple4) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple2 ((triple2 ((triple1) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Charlie is not red.
Unknown
inv-rconc
[@1: Charlie is red.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Charlie" "is" "red" "-")
Charlie is round.
Unknown
rconc
[@1: Charlie is round.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Charlie" "is" "round" "+")
Charlie is not quiet.
Unknown
inv-rconc
[@2: Charlie is quiet.[CWA. Example of deepest failure = (rule4 <- rule8 <- FAIL)]]
("Charlie" "is" "quiet" "-")
Dave is red.
Unknown
rconc
[@1: Dave is red.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Dave" "is" "red" "+")
Charlie is not furry.
Unknown
inv-random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "-")
Dave is furry.
Unknown
random
[@0: Dave is furry.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "furry" "+")
@0: Anne is cold.[(triple1 OR ((((triple2 ((triple2 triple4) -> rule2)) -> rule8)) -> rule3))] Anne is furry.[(triple2)] Anne is green.[(triple3 OR ((((triple2 ((triple2 triple1) -> rule5)) -> rule8)) -> rule1) OR ((((triple2 ((triple2 triple4) -> rule2)) -> rule8)) -> rule1) OR ((((triple2 ((triple2 ((triple1) -> rule6)) -> rule2)) -> rule8)) -> rule1))] Anne is nice.[(triple4 OR ((triple1) -> rule6) OR ((((triple2 ((triple2 triple1) -> rule5)) -> rule8)) -> rule7))] Charlie is cold.[(triple5)] Charlie is green.[(triple6)] Dave is cold.[(triple7 OR ((triple10) -> rule3))] Dave is nice.[(triple8 OR ((triple10) -> rule7) OR ((triple7) -> rule6) OR ((((triple10) -> rule3)) -> rule6))] Dave is quiet.[(triple9 OR ((triple10) -> rule4))] Dave is round.[(triple10)] @1: Anne is red.[(((triple2 triple1) -> rule5) OR ((triple2 triple4) -> rule2) OR ((triple2 ((triple1) -> rule6)) -> rule2))] Charlie is nice.[(((triple5) -> rule6))] @2: Anne is round.[(((triple2 ((triple2 triple1) -> rule5)) -> rule8) OR ((triple2 ((triple2 triple4) -> rule2)) -> rule8) OR ((triple2 ((triple2 ((triple1) -> rule6)) -> rule2)) -> rule8))] @3: Anne is quiet.[(((((triple2 ((triple2 triple1) -> rule5)) -> rule8)) -> rule4) OR ((((triple2 ((triple2 triple4) -> rule2)) -> rule8)) -> rule4) OR ((((triple2 ((triple2 ((triple1) -> rule6)) -> rule2)) -> rule8)) -> rule4))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
((((triple2 ((triple2 triple4) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule3 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is furry.
("Anne" "is" "furry" "+")
triple2
Anne is green.
("Anne" "is" "green" "+")
triple3
((((triple2 ((triple2 triple1) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple2 ((triple2 triple4) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple2 ((triple2 ((triple1) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4
Anne is nice.
("Anne" "is" "nice" "+")
triple4
((triple1) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((((triple2 ((triple2 triple1) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule7 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
triple5
Charlie is green.
("Charlie" "is" "green" "+")
triple6
Dave is cold.
("Dave" "is" "cold" "+")
triple7
((triple10) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
triple8
((triple10) -> (rule7 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((triple7) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
((((triple10) -> (rule3 % int2))) -> (rule6 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
triple9
((triple10) -> (rule4 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
triple10
Anne is red.
("Anne" "is" "red" "+")
((triple2 triple1) -> (rule5 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((triple2 triple4) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((triple2 ((triple1) -> (rule6 % int2))) -> (rule2 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple5) -> (rule6 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
((triple2 ((triple2 triple1) -> (rule5 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((triple2 ((triple2 triple4) -> (rule2 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((triple2 ((triple2 ((triple1) -> (rule6 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is nice.
("Anne" "is" "nice" "+")
int3
Anne is quiet.
("Anne" "is" "quiet" "+")
((((triple2 ((triple2 triple1) -> (rule5 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple2 ((triple2 triple4) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple2 ((triple2 ((triple1) -> (rule6 % int4))) -> (rule2 % int3))) -> (rule8 % int2))) -> (rule4 % int1))
Anne is quiet.
("Anne" "is" "quiet" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
int4