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