Bob is green. Bob is kind. Bob is quiet. Bob is white. Charlie is green. Charlie is kind. Charlie is white. Dave is furry. Dave is nice. Dave is white. Erin is furry. Erin is green. Erin is kind. Erin is nice. Erin is rough. Erin is white. If Dave is nice and Dave is rough then Dave is quiet. Furry things are rough. If Charlie is kind and Charlie is green then Charlie is white. Quiet things are nice. All rough, quiet things are white. If something is rough then it is quiet.
Bob is green.
("Bob" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is white.
("Bob" "is" "white" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is white.
("Dave" "is" "white" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is nice.
("Erin" "is" "nice" "+")
Erin is rough.
("Erin" "is" "rough" "+")
Erin is white.
("Erin" "is" "white" "+")
If Dave is nice and Dave is rough then Dave is quiet.
((("Dave" "is" "nice" "+") ("Dave" "is" "rough" "+")) -> ("Dave" "is" "quiet" "+"))
Furry things are rough.
((("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
If Charlie is kind and Charlie is green then Charlie is white.
((("Charlie" "is" "kind" "+") ("Charlie" "is" "green" "+")) -> ("Charlie" "is" "white" "+"))
Quiet things are nice.
((("something" "is" "quiet" "+")) -> ("something" "is" "nice" "+"))
All rough, quiet things are white.
((("something" "is" "rough" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "white" "+"))
If something is rough then it is quiet.
((("something" "is" "rough" "+")) -> ("something" "is" "quiet" "+"))
Bob is green.
True
1
proof
[(triple1)]
("Bob" "is" "green" "+")
triple1
Erin is not rough.
False
1
inv-proof
[(triple15 OR ((triple11) -> rule2))]
("Erin" "is" "rough" "-")
triple15
((triple11) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Bob is nice.
True
2
proof
[(((triple3) -> rule4))]
("Bob" "is" "nice" "+")
((triple3) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is not nice.
False
2
inv-proof
[(((triple3) -> rule4))]
("Bob" "is" "nice" "-")
((triple3) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Dave is quiet.
True
3
proof
[(((((triple8) -> rule2)) -> rule6) OR ((triple9 ((triple8) -> rule2)) -> rule1))]
("Dave" "is" "quiet" "+")
((((triple8) -> (rule2 % int2))) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((triple9 ((triple8) -> (rule2 % int2))) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is not quiet.
False
3
inv-proof
[(((((triple8) -> rule2)) -> rule6) OR ((triple9 ((triple8) -> rule2)) -> rule1))]
("Dave" "is" "quiet" "-")
((((triple8) -> (rule2 % int2))) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((triple9 ((triple8) -> (rule2 % int2))) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Charlie is not nice.
Unknown
inv-rconc
[@3: Charlie is nice.[CWA. Example of deepest failure = (rule4 <- rule6 <- rule2 <- FAIL)]]
("Charlie" "is" "nice" "-")
Charlie is rough.
Unknown
rconc
[@1: Charlie is rough.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Charlie" "is" "rough" "+")
Bob is not rough.
Unknown
inv-rconc
[@1: Bob is rough.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "rough" "-")
Dave is kind.
Unknown
random
[@0: Dave is kind.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "kind" "+")
Charlie is not furry.
Unknown
inv-random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "-")
Dave is green.
Unknown
random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "+")
@0: Bob is green.[(triple1)] Bob is kind.[(triple2)] Bob is quiet.[(triple3)] Bob is white.[(triple4)] Charlie is green.[(triple5)] Charlie is kind.[(triple6)] Charlie is white.[(triple7 OR ((triple6 triple5) -> rule3))] Dave is furry.[(triple8)] Dave is nice.[(triple9 OR ((((((triple8) -> rule2)) -> rule6)) -> rule4))] Dave is white.[(triple10 OR ((((triple8) -> rule2) ((((triple8) -> rule2)) -> rule6)) -> rule5) OR ((((triple8) -> rule2) ((triple9 ((triple8) -> rule2)) -> rule1)) -> rule5))] Erin is furry.[(triple11)] Erin is green.[(triple12)] Erin is kind.[(triple13)] Erin is nice.[(triple14 OR ((((triple15) -> rule6)) -> rule4) OR ((((((triple11) -> rule2)) -> rule6)) -> rule4))] Erin is rough.[(triple15 OR ((triple11) -> rule2))] Erin is white.[(triple16 OR ((triple15 ((triple15) -> rule6)) -> rule5) OR ((((triple11) -> rule2) ((triple15) -> rule6)) -> rule5) OR ((triple15 ((((triple11) -> rule2)) -> rule6)) -> rule5) OR ((((triple11) -> rule2) ((((triple11) -> rule2)) -> rule6)) -> rule5))] @1: Bob is nice.[(((triple3) -> rule4))] Dave is rough.[(((triple8) -> rule2))] Erin is quiet.[(((triple15) -> rule6) OR ((((triple11) -> rule2)) -> rule6))] @2: Dave is quiet.[(((((triple8) -> rule2)) -> rule6) OR ((triple9 ((triple8) -> rule2)) -> rule1))]
Bob is green.
("Bob" "is" "green" "+")
triple1
Bob is kind.
("Bob" "is" "kind" "+")
triple2
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
Bob is white.
("Bob" "is" "white" "+")
triple4
Charlie is green.
("Charlie" "is" "green" "+")
triple5
Charlie is kind.
("Charlie" "is" "kind" "+")
triple6
Charlie is white.
("Charlie" "is" "white" "+")
triple7
((triple6 triple5) -> (rule3 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
triple8
Dave is nice.
("Dave" "is" "nice" "+")
triple9
((((((triple8) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is white.
("Dave" "is" "white" "+")
triple10
((((triple8) -> (rule2 % int3)) ((((triple8) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((((triple8) -> (rule2 % int3)) ((triple9 ((triple8) -> (rule2 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
triple11
Erin is green.
("Erin" "is" "green" "+")
triple12
Erin is kind.
("Erin" "is" "kind" "+")
triple13
Erin is nice.
("Erin" "is" "nice" "+")
triple14
((((triple15) -> (rule6 % int2))) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
((((((triple11) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule4 % int1))
Erin is nice.
("Erin" "is" "nice" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Erin is rough.
("Erin" "is" "rough" "+")
triple15
((triple11) -> (rule2 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
triple16
((triple15 ((triple15) -> (rule6 % int2))) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
((((triple11) -> (rule2 % int3)) ((triple15) -> (rule6 % int2))) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
((triple15 ((((triple11) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
((((triple11) -> (rule2 % int3)) ((((triple11) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2
Erin is rough.
("Erin" "is" "rough" "+")
int3
Bob is nice.
("Bob" "is" "nice" "+")
((triple3) -> (rule4 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
((triple8) -> (rule2 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple15) -> (rule6 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
((((triple11) -> (rule2 % int2))) -> (rule6 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
((((triple8) -> (rule2 % int2))) -> (rule6 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((triple9 ((triple8) -> (rule2 % int2))) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2