Bob is not big. Bob is not blue. Bob is furry. Bob is quiet. Bob is red. Bob is rough. Bob is white. Charlie is furry. Charlie is quiet. Charlie is red. Charlie is rough. Charlie is white. Erin is big. Erin is not red. Erin is not white. All furry people are rough. If Bob is big then Bob is not quiet. All red, furry people are not blue. Rough, big people are blue. If Charlie is rough then Charlie is quiet. If someone is white and rough then they are furry. All big people are furry. If someone is blue then they are big.
Bob is not big.
("Bob" "is" "big" "-")
Bob is not blue.
("Bob" "is" "blue" "-")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is white.
("Bob" "is" "white" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Erin is big.
("Erin" "is" "big" "+")
Erin is not red.
("Erin" "is" "red" "-")
Erin is not white.
("Erin" "is" "white" "-")
All furry people are rough.
((("someone" "is" "furry" "+")) -> ("someone" "is" "rough" "+"))
If Bob is big then Bob is not quiet.
((("Bob" "is" "big" "+")) -> ("Bob" "is" "quiet" "-"))
All red, furry people are not blue.
((("someone" "is" "red" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "-"))
Rough, big people are blue.
((("someone" "is" "rough" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "blue" "+"))
If Charlie is rough then Charlie is quiet.
((("Charlie" "is" "rough" "+")) -> ("Charlie" "is" "quiet" "+"))
If someone is white and rough then they are furry.
((("someone" "is" "white" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "furry" "+"))
All big people are furry.
((("someone" "is" "big" "+")) -> ("someone" "is" "furry" "+"))
If someone is blue then they are big.
((("someone" "is" "blue" "+")) -> ("someone" "is" "big" "+"))
Bob is white.
True
1
proof
[(triple7)]
("Bob" "is" "white" "+")
triple7
Bob is not rough.
False
1
inv-proof
[(triple6 OR ((triple3) -> rule1))]
("Bob" "is" "rough" "-")
triple6
((triple3) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Erin is furry.
True
2
proof
[(((triple13) -> rule7))]
("Erin" "is" "furry" "+")
((triple13) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is not furry.
False
2
inv-proof
[(((triple13) -> rule7))]
("Erin" "is" "furry" "-")
((triple13) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
True
3
proof
[(((((triple13) -> rule7)) -> rule1))]
("Erin" "is" "rough" "+")
((((triple13) -> (rule7 % int2))) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is not rough.
False
3
inv-proof
[(((((triple13) -> rule7)) -> rule1))]
("Erin" "is" "rough" "-")
((((triple13) -> (rule7 % int2))) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is blue.
True
5
proof
[(((((((triple13) -> rule7)) -> rule1) triple13) -> rule4))]
("Erin" "is" "blue" "+")
((((((triple13) -> (rule7 % int3))) -> (rule1 % int2)) triple13) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is not blue.
False
5
inv-proof
[(((((((triple13) -> rule7)) -> rule1) triple13) -> rule4))]
("Erin" "is" "blue" "-")
((((((triple13) -> (rule7 % int3))) -> (rule1 % int2)) triple13) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Charlie is not big.
Unknown
inv-rconc
[@1: Charlie is big.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Charlie" "is" "big" "-")
Erin is quiet.
Unknown
random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "+")
@0: Bob is furry.[(triple3 OR ((triple7 triple6) -> rule6))] Bob is not big.[(triple1)] Bob is not blue.[(triple2 OR ((triple5 triple3) -> rule3) OR ((triple5 ((triple7 triple6) -> rule6)) -> rule3))] Bob is quiet.[(triple4)] Bob is red.[(triple5)] Bob is rough.[(triple6 OR ((triple3) -> rule1))] Bob is white.[(triple7)] Charlie is furry.[(triple8 OR ((triple12 triple11) -> rule6))] Charlie is quiet.[(triple9 OR ((triple11) -> rule5) OR ((((triple8) -> rule1)) -> rule5))] Charlie is red.[(triple10)] Charlie is rough.[(triple11 OR ((triple8) -> rule1))] Charlie is white.[(triple12)] Erin is big.[(triple13)] Erin is not red.[(triple14)] Erin is not white.[(triple15)] @1: Charlie is not blue.[(((triple10 triple8) -> rule3) OR ((triple10 ((triple12 triple11) -> rule6)) -> rule3))] Erin is furry.[(((triple13) -> rule7))] @2: Erin is rough.[(((((triple13) -> rule7)) -> rule1))] @3: Erin is blue.[(((((((triple13) -> rule7)) -> rule1) triple13) -> rule4))]
Bob is furry.
("Bob" "is" "furry" "+")
triple3
((triple7 triple6) -> (rule6 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is not big.
("Bob" "is" "big" "-")
triple1
Bob is not blue.
("Bob" "is" "blue" "-")
triple2
((triple5 triple3) -> (rule3 % int1))
Bob is not blue.
("Bob" "is" "blue" "-")
int1
((triple5 ((triple7 triple6) -> (rule6 % int2))) -> (rule3 % int1))
Bob is not blue.
("Bob" "is" "blue" "-")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
Bob is red.
("Bob" "is" "red" "+")
triple5
Bob is rough.
("Bob" "is" "rough" "+")
triple6
((triple3) -> (rule1 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
triple7
Charlie is furry.
("Charlie" "is" "furry" "+")
triple8
((triple12 triple11) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple9
((triple11) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((((triple8) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
triple10
Charlie is rough.
("Charlie" "is" "rough" "+")
triple11
((triple8) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
triple12
Erin is big.
("Erin" "is" "big" "+")
triple13
Erin is not red.
("Erin" "is" "red" "-")
triple14
Erin is not white.
("Erin" "is" "white" "-")
triple15
Charlie is not blue.
("Charlie" "is" "blue" "-")
((triple10 triple8) -> (rule3 % int1))
Charlie is not blue.
("Charlie" "is" "blue" "-")
int1
((triple10 ((triple12 triple11) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is not blue.
("Charlie" "is" "blue" "-")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
((triple13) -> (rule7 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
((((triple13) -> (rule7 % int2))) -> (rule1 % int1))
Erin is rough.
("Erin" "is" "rough" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Erin is blue.
("Erin" "is" "blue" "+")
((((((triple13) -> (rule7 % int3))) -> (rule1 % int2)) triple13) -> (rule4 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is rough.
("Erin" "is" "rough" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3