Anne is cold. Anne is furry. Charlie is cold. Charlie is green. Erin is green. Erin is smart. Erin is white. If something is green and furry then it is white. Furry, smart things are big. Big things are smart. If something is furry and green then it is big. If something is cold then it is furry. If something is green and white then it is furry.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is smart.
("Erin" "is" "smart" "+")
Erin is white.
("Erin" "is" "white" "+")
If something is green and furry then it is white.
((("something" "is" "green" "+") ("something" "is" "furry" "+")) -> ("something" "is" "white" "+"))
Furry, smart things are big.
((("something" "is" "furry" "+") ("something" "is" "smart" "+")) -> ("something" "is" "big" "+"))
Big things are smart.
((("something" "is" "big" "+")) -> ("something" "is" "smart" "+"))
If something is furry and green then it is big.
((("something" "is" "furry" "+") ("something" "is" "green" "+")) -> ("something" "is" "big" "+"))
If something is cold then it is furry.
((("something" "is" "cold" "+")) -> ("something" "is" "furry" "+"))
If something is green and white then it is furry.
((("something" "is" "green" "+") ("something" "is" "white" "+")) -> ("something" "is" "furry" "+"))
Erin is smart.
True
1
proof
[(triple6 OR ((((((triple5 triple7) -> rule6) triple5) -> rule4)) -> rule3))]
("Erin" "is" "smart" "+")
triple6
((((((triple5 triple7) -> (rule6 % int3)) triple5) -> (rule4 % int2))) -> (rule3 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is not smart.
False
1
inv-proof
[(triple6 OR ((((((triple5 triple7) -> rule6) triple5) -> rule4)) -> rule3))]
("Erin" "is" "smart" "-")
triple6
((((((triple5 triple7) -> (rule6 % int3)) triple5) -> (rule4 % int2))) -> (rule3 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is furry.
True
3
proof
[(((triple5 triple7) -> rule6))]
("Erin" "is" "furry" "+")
((triple5 triple7) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Erin is not furry.
False
3
inv-proof
[(((triple5 triple7) -> rule6))]
("Erin" "is" "furry" "-")
((triple5 triple7) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Charlie is white.
True
4
proof
[(((triple4 ((triple3) -> rule5)) -> rule1))]
("Charlie" "is" "white" "+")
((triple4 ((triple3) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is not big.
False
4
inv-proof
[(((((triple3) -> rule5) triple4) -> rule4))]
("Charlie" "is" "big" "-")
((((triple3) -> (rule5 % int2)) triple4) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is smart.
True
5
proof
[(((((((triple3) -> rule5) triple4) -> rule4)) -> rule3))]
("Charlie" "is" "smart" "+")
((((((triple3) -> (rule5 % int3)) triple4) -> (rule4 % int2))) -> (rule3 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is not smart.
False
5
inv-proof
[(((((((triple3) -> rule5) triple4) -> rule4)) -> rule3))]
("Charlie" "is" "smart" "-")
((((((triple3) -> (rule5 % int3)) triple4) -> (rule4 % int2))) -> (rule3 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Anne is not big.
Unknown
inv-rconc
[@3: Anne is big.[CWA. Example of deepest failure = (rule2 <- rule3 <- rule4 <- FAIL)]]
("Anne" "is" "big" "-")
Anne is smart.
Unknown
rconc
[@2: Anne is smart.[CWA. Example of deepest failure = (rule3 <- rule2 <- FAIL)]]
("Anne" "is" "smart" "+")
Anne is not white.
Unknown
inv-rconc
[@1: Anne is white.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Anne" "is" "white" "-")
Anne is kind.
Unknown
random
[@0: Anne is kind.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "kind" "+")
Charlie is not kind.
Unknown
inv-random
[@0: Charlie is kind.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "kind" "-")
Anne is green.
Unknown
random
[@0: Anne is green.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "green" "+")
Erin is not cold.
Unknown
inv-random
[@0: Erin is cold.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "cold" "-")
Erin is kind.
Unknown
random
[@0: Erin is kind.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "kind" "+")
@0: Anne is cold.[(triple1)] Anne is furry.[(triple2 OR ((triple1) -> rule5))] Charlie is cold.[(triple3)] Charlie is green.[(triple4)] Erin is green.[(triple5)] Erin is smart.[(triple6 OR ((((((triple5 triple7) -> rule6) triple5) -> rule4)) -> rule3))] Erin is white.[(triple7)] @1: Charlie is furry.[(((triple3) -> rule5))] Erin is furry.[(((triple5 triple7) -> rule6))] @2: Charlie is big.[(((((triple3) -> rule5) triple4) -> rule4))] Charlie is white.[(((triple4 ((triple3) -> rule5)) -> rule1))] Erin is big.[(((((triple5 triple7) -> rule6) triple5) -> rule4) OR ((((triple5 triple7) -> rule6) triple6) -> rule2))] @3: Charlie is smart.[(((((((triple3) -> rule5) triple4) -> rule4)) -> rule3))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is furry.
("Anne" "is" "furry" "+")
triple2
((triple1) -> (rule5 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
triple3
Charlie is green.
("Charlie" "is" "green" "+")
triple4
Erin is green.
("Erin" "is" "green" "+")
triple5
Erin is smart.
("Erin" "is" "smart" "+")
triple6
((((((triple5 triple7) -> (rule6 % int3)) triple5) -> (rule4 % int2))) -> (rule3 % int1))
Erin is smart.
("Erin" "is" "smart" "+")
int1
Erin is big.
("Erin" "is" "big" "+")
int2
Erin is furry.
("Erin" "is" "furry" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
triple7
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple3) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
((triple5 triple7) -> (rule6 % int1))
Erin is furry.
("Erin" "is" "furry" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
((((triple3) -> (rule5 % int2)) triple4) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
((triple4 ((triple3) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Erin is big.
("Erin" "is" "big" "+")
((((triple5 triple7) -> (rule6 % int2)) triple5) -> (rule4 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
((((triple5 triple7) -> (rule6 % int2)) triple6) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is furry.
("Erin" "is" "furry" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
((((((triple3) -> (rule5 % int3)) triple4) -> (rule4 % int2))) -> (rule3 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3