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