Anne is furry. Anne is kind. Charlie is blue. Charlie is cold. Charlie is furry. Charlie is kind. Dave is kind. If Anne is blue then Anne is big. If Dave is smart and Dave is round then Dave is blue. If someone is big and smart then they are kind. All furry people are blue. If someone is kind then they are smart. If someone is big and blue then they are smart. All round, kind people are furry. If someone is furry then they are blue.
Anne is furry.
("Anne" "is" "furry" "+")
Anne is kind.
("Anne" "is" "kind" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Dave is kind.
("Dave" "is" "kind" "+")
If Anne is blue then Anne is big.
((("Anne" "is" "blue" "+")) -> ("Anne" "is" "big" "+"))
If Dave is smart and Dave is round then Dave is blue.
((("Dave" "is" "smart" "+") ("Dave" "is" "round" "+")) -> ("Dave" "is" "blue" "+"))
If someone is big and smart then they are kind.
((("someone" "is" "big" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "kind" "+"))
All furry people are blue.
((("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "+"))
If someone is kind then they are smart.
((("someone" "is" "kind" "+")) -> ("someone" "is" "smart" "+"))
If someone is big and blue then they are smart.
((("someone" "is" "big" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "smart" "+"))
All round, kind people are furry.
((("someone" "is" "round" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "furry" "+"))
If someone is furry then they are blue.
((("someone" "is" "furry" "+")) -> ("someone" "is" "blue" "+"))
Charlie is blue.
True
1
proof
[(triple3 OR ((triple5) -> rule4) OR ((triple5) -> rule8))]
("Charlie" "is" "blue" "+")
triple3
((triple5) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((triple5) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is not kind.
False
1
inv-proof
[(triple6)]
("Charlie" "is" "kind" "-")
triple6
Anne is smart.
True
2
proof
[(((triple2) -> rule5) OR ((((((triple1) -> rule4)) -> rule1) ((triple1) -> rule4)) -> rule6) OR ((((((triple1) -> rule4)) -> rule1) ((triple1) -> rule8)) -> rule6) OR ((((((triple1) -> rule8)) -> rule1) ((triple1) -> rule4)) -> rule6) OR ((((((triple1) -> rule8)) -> rule1) ((triple1) -> rule8)) -> rule6))]
("Anne" "is" "smart" "+")
((triple2) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
((((((triple1) -> (rule4 % int3))) -> (rule1 % int2)) ((triple1) -> (rule4 % int3))) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
((((((triple1) -> (rule4 % int3))) -> (rule1 % int2)) ((triple1) -> (rule8 % int3))) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
((((((triple1) -> (rule8 % int3))) -> (rule1 % int2)) ((triple1) -> (rule4 % int3))) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
((((((triple1) -> (rule8 % int3))) -> (rule1 % int2)) ((triple1) -> (rule8 % int3))) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is not blue.
False
2
inv-proof
[(((triple1) -> rule4) OR ((triple1) -> rule8))]
("Anne" "is" "blue" "-")
((triple1) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((triple1) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is big.
True
3
proof
[(((((triple1) -> rule4)) -> rule1) OR ((((triple1) -> rule8)) -> rule1))]
("Anne" "is" "big" "+")
((((triple1) -> (rule4 % int2))) -> (rule1 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple1) -> (rule8 % int2))) -> (rule1 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is not big.
False
3
inv-proof
[(((((triple1) -> rule4)) -> rule1) OR ((((triple1) -> rule8)) -> rule1))]
("Anne" "is" "big" "-")
((((triple1) -> (rule4 % int2))) -> (rule1 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple1) -> (rule8 % int2))) -> (rule1 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Dave is not furry.
Unknown
inv-rconc
[@1: Dave is furry.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Dave" "is" "furry" "-")
Dave is blue.
Unknown
rconc
[@2: Dave is blue.[CWA. Example of deepest failure = (rule4 <- rule7 <- FAIL)]]
("Dave" "is" "blue" "+")
Anne is not round.
Unknown
inv-random
[@0: Anne is round.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "round" "-")
Dave is round.
Unknown
random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "+")
Charlie is not big.
Unknown
inv-random
[@0: Charlie is big.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "big" "-")
Anne is cold.
Unknown
random
[@0: Anne is cold.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "cold" "+")
@0: Anne is furry.[(triple1)] Anne is kind.[(triple2 OR ((((((triple1) -> rule4)) -> rule1) ((((((triple1) -> rule4)) -> rule1) ((triple1) -> rule4)) -> rule6)) -> rule3) OR ((((((triple1) -> rule4)) -> rule1) ((((((triple1) -> rule4)) -> rule1) ((triple1) -> rule8)) -> rule6)) -> rule3) OR ((((((triple1) -> rule4)) -> rule1) ((((((triple1) -> rule8)) -> rule1) ((triple1) -> rule4)) -> rule6)) -> rule3) OR ((((((triple1) -> rule4)) -> rule1) ((((((triple1) -> rule8)) -> rule1) ((triple1) -> rule8)) -> rule6)) -> rule3) OR ((((((triple1) -> rule8)) -> rule1) ((((((triple1) -> rule4)) -> rule1) ((triple1) -> rule4)) -> rule6)) -> rule3) OR ((((((triple1) -> rule8)) -> rule1) ((((((triple1) -> rule4)) -> rule1) ((triple1) -> rule8)) -> rule6)) -> rule3) OR ((((((triple1) -> rule8)) -> rule1) ((((((triple1) -> rule8)) -> rule1) ((triple1) -> rule4)) -> rule6)) -> rule3) OR ((((((triple1) -> rule8)) -> rule1) ((((((triple1) -> rule8)) -> rule1) ((triple1) -> rule8)) -> rule6)) -> rule3))] Charlie is blue.[(triple3 OR ((triple5) -> rule4) OR ((triple5) -> rule8))] Charlie is cold.[(triple4)] Charlie is furry.[(triple5)] Charlie is kind.[(triple6)] Dave is kind.[(triple7)] @1: Anne is blue.[(((triple1) -> rule4) OR ((triple1) -> rule8))] Anne is smart.[(((triple2) -> rule5) OR ((((((triple1) -> rule4)) -> rule1) ((triple1) -> rule4)) -> rule6) OR ((((((triple1) -> rule4)) -> rule1) ((triple1) -> rule8)) -> rule6) OR ((((((triple1) -> rule8)) -> rule1) ((triple1) -> rule4)) -> rule6) OR ((((((triple1) -> rule8)) -> rule1) ((triple1) -> rule8)) -> rule6))] Charlie is smart.[(((triple6) -> rule5))] Dave is smart.[(((triple7) -> rule5))] @2: Anne is big.[(((((triple1) -> rule4)) -> rule1) OR ((((triple1) -> rule8)) -> rule1))]
Anne is furry.
("Anne" "is" "furry" "+")
triple1
Anne is kind.
("Anne" "is" "kind" "+")
triple2
((((((triple1) -> (rule4 % int4))) -> (rule1 % int3)) ((((((triple1) -> (rule4 % int4))) -> (rule1 % int3)) ((triple1) -> (rule4 % int4))) -> (rule6 % int2))) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
((((((triple1) -> (rule4 % int4))) -> (rule1 % int3)) ((((((triple1) -> (rule4 % int4))) -> (rule1 % int3)) ((triple1) -> (rule8 % int4))) -> (rule6 % int2))) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
((((((triple1) -> (rule4 % int4))) -> (rule1 % int3)) ((((((triple1) -> (rule8 % int4))) -> (rule1 % int3)) ((triple1) -> (rule4 % int4))) -> (rule6 % int2))) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
((((((triple1) -> (rule4 % int4))) -> (rule1 % int3)) ((((((triple1) -> (rule8 % int4))) -> (rule1 % int3)) ((triple1) -> (rule8 % int4))) -> (rule6 % int2))) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
((((((triple1) -> (rule8 % int4))) -> (rule1 % int3)) ((((((triple1) -> (rule4 % int4))) -> (rule1 % int3)) ((triple1) -> (rule4 % int4))) -> (rule6 % int2))) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
((((((triple1) -> (rule8 % int4))) -> (rule1 % int3)) ((((((triple1) -> (rule4 % int4))) -> (rule1 % int3)) ((triple1) -> (rule8 % int4))) -> (rule6 % int2))) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
((((((triple1) -> (rule8 % int4))) -> (rule1 % int3)) ((((((triple1) -> (rule8 % int4))) -> (rule1 % int3)) ((triple1) -> (rule4 % int4))) -> (rule6 % int2))) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
((((((triple1) -> (rule8 % int4))) -> (rule1 % int3)) ((((((triple1) -> (rule8 % int4))) -> (rule1 % int3)) ((triple1) -> (rule8 % int4))) -> (rule6 % int2))) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
int2
Anne is big.
("Anne" "is" "big" "+")
int3
Anne is blue.
("Anne" "is" "blue" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
triple3
((triple5) -> (rule4 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((triple5) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
triple4
Charlie is furry.
("Charlie" "is" "furry" "+")
triple5
Charlie is kind.
("Charlie" "is" "kind" "+")
triple6
Dave is kind.
("Dave" "is" "kind" "+")
triple7
Anne is blue.
("Anne" "is" "blue" "+")
((triple1) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((triple1) -> (rule8 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is smart.
("Anne" "is" "smart" "+")
((triple2) -> (rule5 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
((((((triple1) -> (rule4 % int3))) -> (rule1 % int2)) ((triple1) -> (rule4 % int3))) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
((((((triple1) -> (rule4 % int3))) -> (rule1 % int2)) ((triple1) -> (rule8 % int3))) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
((((((triple1) -> (rule8 % int3))) -> (rule1 % int2)) ((triple1) -> (rule4 % int3))) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
((((((triple1) -> (rule8 % int3))) -> (rule1 % int2)) ((triple1) -> (rule8 % int3))) -> (rule6 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
((triple6) -> (rule5 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
((triple7) -> (rule5 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Anne is big.
("Anne" "is" "big" "+")
((((triple1) -> (rule4 % int2))) -> (rule1 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple1) -> (rule8 % int2))) -> (rule1 % int1))
Anne is big.
("Anne" "is" "big" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2