Anne is white. Bob is big. Bob is furry. Bob is nice. Bob is white. Bob is young. Charlie is furry. Charlie is white. Charlie is young. Dave is furry. Dave is young. Nice, furry people are quiet. If Bob is big then Bob is nice. If someone is rough then they are white. All big people are white. Young, white people are big. If someone is quiet and young then they are rough. All quiet people are furry. If someone is young then they are nice.
Anne is white.
("Anne" "is" "white" "+")
Bob is big.
("Bob" "is" "big" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is white.
("Bob" "is" "white" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is young.
("Dave" "is" "young" "+")
Nice, furry people are quiet.
((("someone" "is" "nice" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "quiet" "+"))
If Bob is big then Bob is nice.
((("Bob" "is" "big" "+")) -> ("Bob" "is" "nice" "+"))
If someone is rough then they are white.
((("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
All big people are white.
((("someone" "is" "big" "+")) -> ("someone" "is" "white" "+"))
Young, white people are big.
((("someone" "is" "young" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "big" "+"))
If someone is quiet and young then they are rough.
((("someone" "is" "quiet" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "rough" "+"))
All quiet people are furry.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "furry" "+"))
If someone is young then they are nice.
((("someone" "is" "young" "+")) -> ("someone" "is" "nice" "+"))
Dave is young.
True
1
proof
[(triple11)]
("Dave" "is" "young" "+")
triple11
Dave is not furry.
False
1
inv-proof
[(triple10)]
("Dave" "is" "furry" "-")
triple10
Charlie is nice.
True
2
proof
[(((triple9) -> rule8))]
("Charlie" "is" "nice" "+")
((triple9) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Bob is not quiet.
False
3
inv-proof
[(((triple4 triple3) -> rule1) OR ((((triple2) -> rule2) triple3) -> rule1) OR ((((triple6) -> rule8) triple3) -> rule1) OR ((((((triple6 triple5) -> rule5)) -> rule2) triple3) -> rule1))]
("Bob" "is" "quiet" "-")
((triple4 triple3) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((triple2) -> (rule2 % int2)) triple3) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
((((triple6) -> (rule8 % int2)) triple3) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
((((((triple6 triple5) -> (rule5 % int3))) -> (rule2 % int2)) triple3) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Charlie is quiet.
True
4
proof
[(((((triple9) -> rule8) triple7) -> rule1))]
("Charlie" "is" "quiet" "+")
((((triple9) -> (rule8 % int2)) triple7) -> (rule1 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Bob is not rough.
False
5
inv-proof
[(((((triple4 triple3) -> rule1) triple6) -> rule6) OR ((((((triple2) -> rule2) triple3) -> rule1) triple6) -> rule6) OR ((((((triple6) -> rule8) triple3) -> rule1) triple6) -> rule6) OR ((((((((triple6 triple5) -> rule5)) -> rule2) triple3) -> rule1) triple6) -> rule6))]
("Bob" "is" "rough" "-")
((((triple4 triple3) -> (rule1 % int2)) triple6) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((((triple2) -> (rule2 % int3)) triple3) -> (rule1 % int2)) triple6) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
((((((triple6) -> (rule8 % int3)) triple3) -> (rule1 % int2)) triple6) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
((((((((triple6 triple5) -> (rule5 % int4))) -> (rule2 % int3)) triple3) -> (rule1 % int2)) triple6) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
Dave is rough.
True
6
proof
[(((((((triple11) -> rule8) triple10) -> rule1) triple11) -> rule6))]
("Dave" "is" "rough" "+")
((((((triple11) -> (rule8 % int3)) triple10) -> (rule1 % int2)) triple11) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is not rough.
False
6
inv-proof
[(((((((triple11) -> rule8) triple10) -> rule1) triple11) -> rule6))]
("Dave" "is" "rough" "-")
((((((triple11) -> (rule8 % int3)) triple10) -> (rule1 % int2)) triple11) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is white.
True
7
proof
[(((((((((triple11) -> rule8) triple10) -> rule1) triple11) -> rule6)) -> rule3))]
("Dave" "is" "white" "+")
((((((((triple11) -> (rule8 % int4)) triple10) -> (rule1 % int3)) triple11) -> (rule6 % int2))) -> (rule3 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
Dave is not white.
False
7
inv-proof
[(((((((((triple11) -> rule8) triple10) -> rule1) triple11) -> rule6)) -> rule3))]
("Dave" "is" "white" "-")
((((((((triple11) -> (rule8 % int4)) triple10) -> (rule1 % int3)) triple11) -> (rule6 % int2))) -> (rule3 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
Dave is big.
True
9
proof
[(((triple11 ((((((((triple11) -> rule8) triple10) -> rule1) triple11) -> rule6)) -> rule3)) -> rule5))]
("Dave" "is" "big" "+")
((triple11 ((((((((triple11) -> (rule8 % int5)) triple10) -> (rule1 % int4)) triple11) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
int4
Dave is nice.
("Dave" "is" "nice" "+")
int5
Dave is not big.
False
9
inv-proof
[(((triple11 ((((((((triple11) -> rule8) triple10) -> rule1) triple11) -> rule6)) -> rule3)) -> rule5))]
("Dave" "is" "big" "-")
((triple11 ((((((((triple11) -> (rule8 % int5)) triple10) -> (rule1 % int4)) triple11) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
int4
Dave is nice.
("Dave" "is" "nice" "+")
int5
Anne is not quiet.
Unknown
inv-rconc
[@2: Anne is quiet.[CWA. Example of deepest failure = (rule1 <- rule8 <- FAIL)]]
("Anne" "is" "quiet" "-")
Anne is rough.
Unknown
rconc
[@1: Anne is rough.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Anne" "is" "rough" "+")
Anne is not furry.
Unknown
inv-rconc
[@2: Anne is furry.[CWA. Example of deepest failure = (rule7 <- rule1 <- FAIL)]]
("Anne" "is" "furry" "-")
Anne is big.
Unknown
rconc
[@1: Anne is big.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Anne" "is" "big" "+")
Anne is not nice.
Unknown
inv-rconc
[@1: Anne is nice.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Anne" "is" "nice" "-")
Anne is young.
Unknown
random
[@0: Anne is young.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "young" "+")
@0: Anne is white.[(triple1)] Bob is big.[(triple2 OR ((triple6 triple5) -> rule5) OR ((triple6 ((((((triple4 triple3) -> rule1) triple6) -> rule6)) -> rule3)) -> rule5) OR ((triple6 ((((((((triple6) -> rule8) triple3) -> rule1) triple6) -> rule6)) -> rule3)) -> rule5))] Bob is furry.[(triple3)] Bob is nice.[(triple4 OR ((triple2) -> rule2) OR ((triple6) -> rule8) OR ((((triple6 triple5) -> rule5)) -> rule2))] Bob is white.[(triple5 OR ((triple2) -> rule4) OR ((((((triple4 triple3) -> rule1) triple6) -> rule6)) -> rule3) OR ((((((((triple2) -> rule2) triple3) -> rule1) triple6) -> rule6)) -> rule3) OR ((((((((triple6) -> rule8) triple3) -> rule1) triple6) -> rule6)) -> rule3))] Bob is young.[(triple6)] Charlie is furry.[(triple7)] Charlie is white.[(triple8 OR ((((((((triple9) -> rule8) triple7) -> rule1) triple9) -> rule6)) -> rule3))] Charlie is young.[(triple9)] Dave is furry.[(triple10)] Dave is young.[(triple11)] @1: Bob is quiet.[(((triple4 triple3) -> rule1) OR ((((triple2) -> rule2) triple3) -> rule1) OR ((((triple6) -> rule8) triple3) -> rule1) OR ((((((triple6 triple5) -> rule5)) -> rule2) triple3) -> rule1))] Charlie is big.[(((triple9 triple8) -> rule5) OR ((triple9 ((((((((triple9) -> rule8) triple7) -> rule1) triple9) -> rule6)) -> rule3)) -> rule5))] Charlie is nice.[(((triple9) -> rule8))] Dave is nice.[(((triple11) -> rule8))] @2: Bob is rough.[(((((triple4 triple3) -> rule1) triple6) -> rule6) OR ((((((triple2) -> rule2) triple3) -> rule1) triple6) -> rule6) OR ((((((triple6) -> rule8) triple3) -> rule1) triple6) -> rule6) OR ((((((((triple6 triple5) -> rule5)) -> rule2) triple3) -> rule1) triple6) -> rule6))] Charlie is quiet.[(((((triple9) -> rule8) triple7) -> rule1))] Dave is quiet.[(((((triple11) -> rule8) triple10) -> rule1))] @3: Charlie is rough.[(((((((triple9) -> rule8) triple7) -> rule1) triple9) -> rule6))] Dave is rough.[(((((((triple11) -> rule8) triple10) -> rule1) triple11) -> rule6))] @4: Dave is white.[(((((((((triple11) -> rule8) triple10) -> rule1) triple11) -> rule6)) -> rule3))] @5: Dave is big.[(((triple11 ((((((((triple11) -> rule8) triple10) -> rule1) triple11) -> rule6)) -> rule3)) -> rule5))]
Anne is white.
("Anne" "is" "white" "+")
triple1
Bob is big.
("Bob" "is" "big" "+")
triple2
((triple6 triple5) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple6 ((((((triple4 triple3) -> (rule1 % int4)) triple6) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
((triple6 ((((((((triple6) -> (rule8 % int5)) triple3) -> (rule1 % int4)) triple6) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
int3
Bob is quiet.
("Bob" "is" "quiet" "+")
int4
Bob is nice.
("Bob" "is" "nice" "+")
int5
Bob is furry.
("Bob" "is" "furry" "+")
triple3
Bob is nice.
("Bob" "is" "nice" "+")
triple4
((triple2) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
((triple6) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
((((triple6 triple5) -> (rule5 % int2))) -> (rule2 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
triple5
((triple2) -> (rule4 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((((((triple4 triple3) -> (rule1 % int3)) triple6) -> (rule6 % int2))) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
((((((((triple2) -> (rule2 % int4)) triple3) -> (rule1 % int3)) triple6) -> (rule6 % int2))) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
((((((((triple6) -> (rule8 % int4)) triple3) -> (rule1 % int3)) triple6) -> (rule6 % int2))) -> (rule3 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
int4
Bob is young.
("Bob" "is" "young" "+")
triple6
Charlie is furry.
("Charlie" "is" "furry" "+")
triple7
Charlie is white.
("Charlie" "is" "white" "+")
triple8
((((((((triple9) -> (rule8 % int4)) triple7) -> (rule1 % int3)) triple9) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
int4
Charlie is young.
("Charlie" "is" "young" "+")
triple9
Dave is furry.
("Dave" "is" "furry" "+")
triple10
Dave is young.
("Dave" "is" "young" "+")
triple11
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple4 triple3) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
((((triple2) -> (rule2 % int2)) triple3) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
((((triple6) -> (rule8 % int2)) triple3) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
((((((triple6 triple5) -> (rule5 % int3))) -> (rule2 % int2)) triple3) -> (rule1 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is big.
("Bob" "is" "big" "+")
int3
Charlie is big.
("Charlie" "is" "big" "+")
((triple9 triple8) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
((triple9 ((((((((triple9) -> (rule8 % int5)) triple7) -> (rule1 % int4)) triple9) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
int5
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple9) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
((triple11) -> (rule8 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
((((triple4 triple3) -> (rule1 % int2)) triple6) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
((((((triple2) -> (rule2 % int3)) triple3) -> (rule1 % int2)) triple6) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
((((((triple6) -> (rule8 % int3)) triple3) -> (rule1 % int2)) triple6) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
((((((((triple6 triple5) -> (rule5 % int4))) -> (rule2 % int3)) triple3) -> (rule1 % int2)) triple6) -> (rule6 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is big.
("Bob" "is" "big" "+")
int4
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((((triple9) -> (rule8 % int2)) triple7) -> (rule1 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
((((triple11) -> (rule8 % int2)) triple10) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
((((((triple9) -> (rule8 % int3)) triple7) -> (rule1 % int2)) triple9) -> (rule6 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
((((((triple11) -> (rule8 % int3)) triple10) -> (rule1 % int2)) triple11) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
((((((((triple11) -> (rule8 % int4)) triple10) -> (rule1 % int3)) triple11) -> (rule6 % int2))) -> (rule3 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
int4
Dave is big.
("Dave" "is" "big" "+")
((triple11 ((((((((triple11) -> (rule8 % int5)) triple10) -> (rule1 % int4)) triple11) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
int4
Dave is nice.
("Dave" "is" "nice" "+")
int5