Charlie is big. Charlie is furry. Charlie is red. Erin is quiet. Erin is white. Fiona is big. Fiona is blue. Fiona is furry. Fiona is red. Fiona is white. Furry, white things are blue. If something is red and quiet then it is big. If something is blue then it is furry. All blue things are white. Blue, white things are rough. If Charlie is quiet then Charlie is red. Quiet, rough things are furry. All white things are red.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is white.
("Erin" "is" "white" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Furry, white things are blue.
((("something" "is" "furry" "+") ("something" "is" "white" "+")) -> ("something" "is" "blue" "+"))
If something is red and quiet then it is big.
((("something" "is" "red" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "big" "+"))
If something is blue then it is furry.
((("something" "is" "blue" "+")) -> ("something" "is" "furry" "+"))
All blue things are white.
((("something" "is" "blue" "+")) -> ("something" "is" "white" "+"))
Blue, white things are rough.
((("something" "is" "blue" "+") ("something" "is" "white" "+")) -> ("something" "is" "rough" "+"))
If Charlie is quiet then Charlie is red.
((("Charlie" "is" "quiet" "+")) -> ("Charlie" "is" "red" "+"))
Quiet, rough things are furry.
((("something" "is" "quiet" "+") ("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
All white things are red.
((("something" "is" "white" "+")) -> ("something" "is" "red" "+"))
Fiona is blue.
True
1
proof
[(triple7 OR ((triple8 triple10) -> rule1))]
("Fiona" "is" "blue" "+")
triple7
((triple8 triple10) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Charlie is not red.
False
1
inv-proof
[(triple3)]
("Charlie" "is" "red" "-")
triple3
Fiona is rough.
True
3
proof
[(((triple7 triple10) -> rule5) OR ((triple7 ((triple7) -> rule4)) -> rule5) OR ((((triple8 triple10) -> rule1) triple10) -> rule5) OR ((((triple8 triple10) -> rule1) ((triple7) -> rule4)) -> rule5))]
("Fiona" "is" "rough" "+")
((triple7 triple10) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple7 ((triple7) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((((triple8 triple10) -> (rule1 % int2)) triple10) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple8 triple10) -> (rule1 % int3)) ((triple7) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Erin is not red.
False
2
inv-proof
[(((triple5) -> rule8))]
("Erin" "is" "red" "-")
((triple5) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is big.
True
4
proof
[(((((triple5) -> rule8) triple4) -> rule2))]
("Erin" "is" "big" "+")
((((triple5) -> (rule8 % int2)) triple4) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Erin is not big.
False
4
inv-proof
[(((((triple5) -> rule8) triple4) -> rule2))]
("Erin" "is" "big" "-")
((((triple5) -> (rule8 % int2)) triple4) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2
Charlie is not white.
Unknown
inv-rconc
[@2: Charlie is white.[CWA. Example of deepest failure = (rule4 <- rule1 <- FAIL)]]
("Charlie" "is" "white" "-")
Erin is furry.
Unknown
rconc
[@4: Erin is furry.[CWA. Example of deepest failure = (rule3 <- rule1 <- rule7 <- rule5 <- FAIL)]]
("Erin" "is" "furry" "+")
Charlie is not blue.
Unknown
inv-rconc
[@2: Charlie is blue.[CWA. Example of deepest failure = (rule1 <- rule4 <- FAIL)]]
("Charlie" "is" "blue" "-")
Charlie is quiet.
Unknown
random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "+")
@0: Charlie is big.[(triple1)] Charlie is furry.[(triple2)] Charlie is red.[(triple3)] Erin is quiet.[(triple4)] Erin is white.[(triple5)] Fiona is big.[(triple6)] Fiona is blue.[(triple7 OR ((triple8 triple10) -> rule1))] Fiona is furry.[(triple8 OR ((triple7) -> rule3))] Fiona is red.[(triple9 OR ((triple10) -> rule8) OR ((((triple7) -> rule4)) -> rule8))] Fiona is white.[(triple10 OR ((triple7) -> rule4))] @1: Erin is red.[(((triple5) -> rule8))] Fiona is rough.[(((triple7 triple10) -> rule5) OR ((triple7 ((triple7) -> rule4)) -> rule5) OR ((((triple8 triple10) -> rule1) triple10) -> rule5) OR ((((triple8 triple10) -> rule1) ((triple7) -> rule4)) -> rule5))] @2: Erin is big.[(((((triple5) -> rule8) triple4) -> rule2))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
Charlie is furry.
("Charlie" "is" "furry" "+")
triple2
Charlie is red.
("Charlie" "is" "red" "+")
triple3
Erin is quiet.
("Erin" "is" "quiet" "+")
triple4
Erin is white.
("Erin" "is" "white" "+")
triple5
Fiona is big.
("Fiona" "is" "big" "+")
triple6
Fiona is blue.
("Fiona" "is" "blue" "+")
triple7
((triple8 triple10) -> (rule1 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple8
((triple7) -> (rule3 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
triple9
((triple10) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((((triple7) -> (rule4 % int2))) -> (rule8 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
triple10
((triple7) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
((triple5) -> (rule8 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple7 triple10) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple7 ((triple7) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
((((triple8 triple10) -> (rule1 % int2)) triple10) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple8 triple10) -> (rule1 % int3)) ((triple7) -> (rule4 % int2))) -> (rule5 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Erin is big.
("Erin" "is" "big" "+")
((((triple5) -> (rule8 % int2)) triple4) -> (rule2 % int1))
Erin is big.
("Erin" "is" "big" "+")
int1
Erin is red.
("Erin" "is" "red" "+")
int2