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