Anne is big. Anne is furry. Anne is white. Bob is big. Bob is cold. Bob is furry. Bob is red. Bob is rough. Charlie is cold. Charlie is nice. Harry is big. Harry is cold. Harry is furry. Harry is red. Harry is rough. Harry is white. Red, nice people are furry. Nice people are rough. White people are red. If someone is rough then they are white. Big people are furry. If Charlie is furry and Charlie is nice then Charlie is big.
Anne is big.
("Anne" "is" "big" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is white.
("Anne" "is" "white" "+")
Bob is big.
("Bob" "is" "big" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is white.
("Harry" "is" "white" "+")
Red, nice people are furry.
((("someone" "is" "red" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "furry" "+"))
Nice people are rough.
((("someone" "is" "nice" "+")) -> ("someone" "is" "rough" "+"))
White people are red.
((("someone" "is" "white" "+")) -> ("someone" "is" "red" "+"))
If someone is rough then they are white.
((("someone" "is" "rough" "+")) -> ("someone" "is" "white" "+"))
Big people are furry.
((("someone" "is" "big" "+")) -> ("someone" "is" "furry" "+"))
If Charlie is furry and Charlie is nice then Charlie is big.
((("Charlie" "is" "furry" "+") ("Charlie" "is" "nice" "+")) -> ("Charlie" "is" "big" "+"))
Harry is cold.
True
1
proof
[(triple12)]
("Harry" "is" "cold" "+")
triple12
Anne is not white.
False
1
inv-proof
[(triple3)]
("Anne" "is" "white" "-")
triple3
Anne is red.
True
2
proof
[(((triple3) -> rule3))]
("Anne" "is" "red" "+")
((triple3) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Charlie is not rough.
False
2
inv-proof
[(((triple10) -> rule2))]
("Charlie" "is" "rough" "-")
((triple10) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is white.
True
3
proof
[(((((triple10) -> rule2)) -> rule4))]
("Charlie" "is" "white" "+")
((((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is not white.
False
3
inv-proof
[(((((triple10) -> rule2)) -> rule4))]
("Charlie" "is" "white" "-")
((((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is red.
True
4
proof
[(((((((triple10) -> rule2)) -> rule4)) -> rule3))]
("Charlie" "is" "red" "+")
((((((triple10) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is not red.
False
4
inv-proof
[(((((((triple10) -> rule2)) -> rule4)) -> rule3))]
("Charlie" "is" "red" "-")
((((((triple10) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is furry.
True
6
proof
[(((((((((triple10) -> rule2)) -> rule4)) -> rule3) triple10) -> rule1))]
("Charlie" "is" "furry" "+")
((((((((triple10) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule3 % int2)) triple10) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
int4
Charlie is not furry.
False
6
inv-proof
[(((((((((triple10) -> rule2)) -> rule4)) -> rule3) triple10) -> rule1))]
("Charlie" "is" "furry" "-")
((((((((triple10) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule3 % int2)) triple10) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
int4
Charlie is big.
True
8
proof
[(((((((((((triple10) -> rule2)) -> rule4)) -> rule3) triple10) -> rule1) triple10) -> rule6))]
("Charlie" "is" "big" "+")
((((((((((triple10) -> (rule2 % int5))) -> (rule4 % int4))) -> (rule3 % int3)) triple10) -> (rule1 % int2)) triple10) -> (rule6 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
int4
Charlie is rough.
("Charlie" "is" "rough" "+")
int5
Charlie is not big.
False
8
inv-proof
[(((((((((((triple10) -> rule2)) -> rule4)) -> rule3) triple10) -> rule1) triple10) -> rule6))]
("Charlie" "is" "big" "-")
((((((((((triple10) -> (rule2 % int5))) -> (rule4 % int4))) -> (rule3 % int3)) triple10) -> (rule1 % int2)) triple10) -> (rule6 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
int4
Charlie is rough.
("Charlie" "is" "rough" "+")
int5
Anne is not rough.
Unknown
inv-rconc
[@1: Anne is rough.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Anne" "is" "rough" "-")
Anne is nice.
Unknown
random
[@0: Anne is nice.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "nice" "+")
Bob is not nice.
Unknown
inv-random
[@0: Bob is nice.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "nice" "-")
Harry is nice.
Unknown
random
[@0: Harry is nice.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "nice" "+")
@0: Anne is big.[(triple1)] Anne is furry.[(triple2 OR ((triple1) -> rule5))] Anne is white.[(triple3)] Bob is big.[(triple4)] Bob is cold.[(triple5)] Bob is furry.[(triple6 OR ((triple4) -> rule5))] Bob is red.[(triple7 OR ((((triple8) -> rule4)) -> rule3))] Bob is rough.[(triple8)] Charlie is cold.[(triple9)] Charlie is nice.[(triple10)] Harry is big.[(triple11)] Harry is cold.[(triple12)] Harry is furry.[(triple13 OR ((triple11) -> rule5))] Harry is red.[(triple14 OR ((triple16) -> rule3) OR ((((triple15) -> rule4)) -> rule3))] Harry is rough.[(triple15)] Harry is white.[(triple16 OR ((triple15) -> rule4))] @1: Anne is red.[(((triple3) -> rule3))] Bob is white.[(((triple8) -> rule4))] Charlie is rough.[(((triple10) -> rule2))] @2: Charlie is white.[(((((triple10) -> rule2)) -> rule4))] @3: Charlie is red.[(((((((triple10) -> rule2)) -> rule4)) -> rule3))] @4: Charlie is furry.[(((((((((triple10) -> rule2)) -> rule4)) -> rule3) triple10) -> rule1))] @5: Charlie is big.[(((((((((((triple10) -> rule2)) -> rule4)) -> rule3) triple10) -> rule1) triple10) -> rule6))]
Anne is big.
("Anne" "is" "big" "+")
triple1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
((triple1) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
triple3
Bob is big.
("Bob" "is" "big" "+")
triple4
Bob is cold.
("Bob" "is" "cold" "+")
triple5
Bob is furry.
("Bob" "is" "furry" "+")
triple6
((triple4) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
triple7
((((triple8) -> (rule4 % int2))) -> (rule3 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is rough.
("Bob" "is" "rough" "+")
triple8
Charlie is cold.
("Charlie" "is" "cold" "+")
triple9
Charlie is nice.
("Charlie" "is" "nice" "+")
triple10
Harry is big.
("Harry" "is" "big" "+")
triple11
Harry is cold.
("Harry" "is" "cold" "+")
triple12
Harry is furry.
("Harry" "is" "furry" "+")
triple13
((triple11) -> (rule5 % int1))
Harry is furry.
("Harry" "is" "furry" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
triple14
((triple16) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((((triple15) -> (rule4 % int2))) -> (rule3 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
triple15
Harry is white.
("Harry" "is" "white" "+")
triple16
((triple15) -> (rule4 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
((triple3) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
((triple8) -> (rule4 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
((triple10) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
((((triple10) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
((((((triple10) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is furry.
("Charlie" "is" "furry" "+")
((((((((triple10) -> (rule2 % int4))) -> (rule4 % int3))) -> (rule3 % int2)) triple10) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
int4
Charlie is big.
("Charlie" "is" "big" "+")
((((((((((triple10) -> (rule2 % int5))) -> (rule4 % int4))) -> (rule3 % int3)) triple10) -> (rule1 % int2)) triple10) -> (rule6 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is white.
("Charlie" "is" "white" "+")
int4
Charlie is rough.
("Charlie" "is" "rough" "+")
int5