Anne is furry. Anne is not nice. Charlie is nice. Charlie is not quiet. Charlie is young. Dave is young. Erin is furry. Erin is nice. Erin is smart. Erin is white. If something is young then it is furry. If something is young then it is furry. White things are rough. If Dave is furry then Dave is white. All quiet things are white. If Erin is smart and Erin is white then Erin is nice. If Erin is not rough then Erin is not nice. If something is nice and not white then it is not smart.
Anne is furry.
("Anne" "is" "furry" "+")
Anne is not nice.
("Anne" "is" "nice" "-")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is not quiet.
("Charlie" "is" "quiet" "-")
Charlie is young.
("Charlie" "is" "young" "+")
Dave is young.
("Dave" "is" "young" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is white.
("Erin" "is" "white" "+")
If something is young then it is furry.
((("something" "is" "young" "+")) -> ("something" "is" "furry" "+"))
If something is young then it is furry.
((("something" "is" "young" "+")) -> ("something" "is" "furry" "+"))
White things are rough.
((("something" "is" "white" "+")) -> ("something" "is" "rough" "+"))
If Dave is furry then Dave is white.
((("Dave" "is" "furry" "+")) -> ("Dave" "is" "white" "+"))
All quiet things are white.
((("something" "is" "quiet" "+")) -> ("something" "is" "white" "+"))
If Erin is smart and Erin is white then Erin is nice.
((("Erin" "is" "smart" "+") ("Erin" "is" "white" "+")) -> ("Erin" "is" "nice" "+"))
If Erin is not rough then Erin is not nice.
((("Erin" "is" "rough" "~")) -> ("Erin" "is" "nice" "-"))
If something is nice and not white then it is not smart.
((("something" "is" "nice" "+") ("something" "is" "white" "~")) -> ("something" "is" "smart" "-"))
Anne is furry.
True
1
proof
[(triple1)]
("Anne" "is" "furry" "+")
triple1
Erin is not smart.
False
1
inv-proof
[(triple9)]
("Erin" "is" "smart" "-")
triple9
Dave is furry.
True
2
proof
[(((triple6) -> rule1) OR ((triple6) -> rule2))]
("Dave" "is" "furry" "+")
((triple6) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple6) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Charlie is not furry.
False
2
inv-proof
[(((triple5) -> rule1) OR ((triple5) -> rule2))]
("Charlie" "is" "furry" "-")
((triple5) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple5) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Dave is white.
True
3
proof
[(((((triple6) -> rule1)) -> rule4) OR ((((triple6) -> rule2)) -> rule4))]
("Dave" "is" "white" "+")
((((triple6) -> (rule1 % int2))) -> (rule4 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((triple6) -> (rule2 % int2))) -> (rule4 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is not white.
False
3
inv-proof
[(((((triple6) -> rule1)) -> rule4) OR ((((triple6) -> rule2)) -> rule4))]
("Dave" "is" "white" "-")
((((triple6) -> (rule1 % int2))) -> (rule4 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((triple6) -> (rule2 % int2))) -> (rule4 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is rough.
True
4
proof
[(((((((triple6) -> rule1)) -> rule4)) -> rule3) OR ((((((triple6) -> rule2)) -> rule4)) -> rule3))]
("Dave" "is" "rough" "+")
((((((triple6) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((((((triple6) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Dave is not rough.
False
4
inv-proof
[(((((((triple6) -> rule1)) -> rule4)) -> rule3) OR ((((((triple6) -> rule2)) -> rule4)) -> rule3))]
("Dave" "is" "rough" "-")
((((((triple6) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((((((triple6) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
Charlie is not white.
Unknown
inv-rconc
[@1: Charlie is white.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Charlie" "is" "white" "-")
Anne is white.
Unknown
rconc
[@1: Anne is white.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Anne" "is" "white" "+")
Charlie is not rough.
Unknown
inv-rconc
[@2: Charlie is rough.[CWA. Example of deepest failure = (rule3 <- rule5 <- FAIL)]]
("Charlie" "is" "rough" "-")
Anne is rough.
Unknown
rconc
[@2: Anne is rough.[CWA. Example of deepest failure = (rule3 <- rule5 <- FAIL)]]
("Anne" "is" "rough" "+")
Dave is not smart.
Unknown
inv-random
[@0: Dave is smart.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "smart" "-")
Charlie is smart.
Unknown
random
[@0: Charlie is smart.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "smart" "+")
Erin is not young.
Unknown
inv-random
[@0: Erin is young.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "young" "-")
Dave is nice.
Unknown
random
[@0: Dave is nice.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "nice" "+")
@0: Anne is furry.[(triple1)] Anne is not nice.[(triple2)] Charlie is nice.[(triple3)] Charlie is not quiet.[(triple4)] Charlie is young.[(triple5)] Dave is young.[(triple6)] Erin is furry.[(triple7)] Erin is nice.[(triple8 OR ((triple9 triple10) -> rule6))] Erin is smart.[(triple9)] Erin is white.[(triple10)] @1: Charlie is furry.[(((triple5) -> rule1) OR ((triple5) -> rule2))] Dave is furry.[(((triple6) -> rule1) OR ((triple6) -> rule2))] Erin is rough.[(((triple10) -> rule3))] @2: Dave is white.[(((((triple6) -> rule1)) -> rule4) OR ((((triple6) -> rule2)) -> rule4))] @3: Dave is rough.[(((((((triple6) -> rule1)) -> rule4)) -> rule3) OR ((((((triple6) -> rule2)) -> rule4)) -> rule3))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
Anne is not nice.
("Anne" "is" "nice" "-")
triple2
Charlie is nice.
("Charlie" "is" "nice" "+")
triple3
Charlie is not quiet.
("Charlie" "is" "quiet" "-")
triple4
Charlie is young.
("Charlie" "is" "young" "+")
triple5
Dave is young.
("Dave" "is" "young" "+")
triple6
Erin is furry.
("Erin" "is" "furry" "+")
triple7
Erin is nice.
("Erin" "is" "nice" "+")
triple8
((triple9 triple10) -> (rule6 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is smart.
("Erin" "is" "smart" "+")
triple9
Erin is white.
("Erin" "is" "white" "+")
triple10
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple5) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple5) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
((triple6) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
((triple6) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
((triple10) -> (rule3 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
((((triple6) -> (rule1 % int2))) -> (rule4 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
((((triple6) -> (rule2 % int2))) -> (rule4 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
((((((triple6) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3
((((((triple6) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is furry.
("Dave" "is" "furry" "+")
int3