Anne is blue. Charlie is blue. Charlie is cold. Charlie is furry. Charlie is quiet. Charlie is rough. Charlie is round. Charlie is white. Fiona is cold. Fiona is round. Fiona is white. Gary is furry. Gary is quiet. Gary is round. Gary is white. All furry things are round. All round, furry things are quiet. Rough, quiet things are furry. Round, furry things are rough. Rough things are furry. If something is round and white then it is rough.
Anne is blue.
("Anne" "is" "blue" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is white.
("Gary" "is" "white" "+")
All furry things are round.
((("something" "is" "furry" "+")) -> ("something" "is" "round" "+"))
All round, furry things are quiet.
((("something" "is" "round" "+") ("something" "is" "furry" "+")) -> ("something" "is" "quiet" "+"))
Rough, quiet things are furry.
((("something" "is" "rough" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "furry" "+"))
Round, furry things are rough.
((("something" "is" "round" "+") ("something" "is" "furry" "+")) -> ("something" "is" "rough" "+"))
Rough things are furry.
((("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
If something is round and white then it is rough.
((("something" "is" "round" "+") ("something" "is" "white" "+")) -> ("something" "is" "rough" "+"))
Gary is white.
True
1
proof
[(triple15)]
("Gary" "is" "white" "+")
triple15
Charlie is not furry.
False
1
inv-proof
[(triple4 OR ((triple6) -> rule5) OR ((triple6 triple5) -> rule3) OR ((((triple7 triple8) -> rule6)) -> rule5) OR ((((triple7 triple8) -> rule6) triple5) -> rule3))]
("Charlie" "is" "furry" "-")
triple4
((triple6) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple6 triple5) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple7 triple8) -> (rule6 % int2))) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((triple7 triple8) -> (rule6 % int2)) triple5) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Fiona is rough.
True
3
proof
[(((triple10 triple11) -> rule6))]
("Fiona" "is" "rough" "+")
((triple10 triple11) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Gary is not rough.
False
3
inv-proof
[(((triple14 triple12) -> rule4) OR ((triple14 triple15) -> rule6) OR ((((triple12) -> rule1) triple12) -> rule4) OR ((((triple12) -> rule1) triple15) -> rule6))]
("Gary" "is" "rough" "-")
((triple14 triple12) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((triple14 triple15) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((((triple12) -> (rule1 % int2)) triple12) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
((((triple12) -> (rule1 % int2)) triple15) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Fiona is furry.
True
4
proof
[(((((triple10 triple11) -> rule6)) -> rule5))]
("Fiona" "is" "furry" "+")
((((triple10 triple11) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is not furry.
False
4
inv-proof
[(((((triple10 triple11) -> rule6)) -> rule5))]
("Fiona" "is" "furry" "-")
((((triple10 triple11) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is quiet.
True
6
proof
[(((triple10 ((((triple10 triple11) -> rule6)) -> rule5)) -> rule2))]
("Fiona" "is" "quiet" "+")
((triple10 ((((triple10 triple11) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is not quiet.
False
6
inv-proof
[(((triple10 ((((triple10 triple11) -> rule6)) -> rule5)) -> rule2))]
("Fiona" "is" "quiet" "-")
((triple10 ((((triple10 triple11) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Anne is not furry.
Unknown
inv-rconc
[@4: Anne is furry.[CWA. Example of deepest failure = (rule3 <- rule4 <- rule5 <- rule6 <- FAIL)]]
("Anne" "is" "furry" "-")
Anne is rough.
Unknown
rconc
[@3: Anne is rough.[CWA. Example of deepest failure = (rule4 <- rule3 <- rule6 <- FAIL)]]
("Anne" "is" "rough" "+")
Anne is not quiet.
Unknown
inv-rconc
[@4: Anne is quiet.[CWA. Example of deepest failure = (rule2 <- rule1 <- rule5 <- rule4 <- FAIL)]]
("Anne" "is" "quiet" "-")
Anne is round.
Unknown
rconc
[@3: Anne is round.[CWA. Example of deepest failure = (rule1 <- rule3 <- rule4 <- FAIL)]]
("Anne" "is" "round" "+")
Gary is not blue.
Unknown
inv-random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "-")
Gary is cold.
Unknown
random
[@0: Gary is cold.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "cold" "+")
Anne is not white.
Unknown
inv-random
[@0: Anne is white.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "white" "-")
Fiona is blue.
Unknown
random
[@0: Fiona is blue.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "blue" "+")
@0: Anne is blue.[(triple1)] Charlie is blue.[(triple2)] Charlie is cold.[(triple3)] Charlie is furry.[(triple4 OR ((triple6) -> rule5) OR ((triple6 triple5) -> rule3) OR ((((triple7 triple8) -> rule6)) -> rule5) OR ((((triple7 triple8) -> rule6) triple5) -> rule3))] Charlie is quiet.[(triple5 OR ((triple7 triple4) -> rule2) OR ((triple7 ((triple6) -> rule5)) -> rule2) OR ((((triple4) -> rule1) triple4) -> rule2) OR ((((triple4) -> rule1) ((triple6) -> rule5)) -> rule2) OR ((triple7 ((((triple7 triple8) -> rule6)) -> rule5)) -> rule2) OR ((((((triple6) -> rule5)) -> rule1) triple4) -> rule2) OR ((((triple4) -> rule1) ((((triple7 triple8) -> rule6)) -> rule5)) -> rule2) OR ((((((triple6) -> rule5)) -> rule1) ((triple6) -> rule5)) -> rule2) OR ((((((triple6) -> rule5)) -> rule1) ((((triple7 triple8) -> rule6)) -> rule5)) -> rule2))] Charlie is rough.[(triple6 OR ((triple7 triple4) -> rule4) OR ((triple7 triple8) -> rule6) OR ((((triple4) -> rule1) triple4) -> rule4) OR ((((triple4) -> rule1) triple8) -> rule6))] Charlie is round.[(triple7 OR ((triple4) -> rule1) OR ((((triple6) -> rule5)) -> rule1) OR ((((triple6 triple5) -> rule3)) -> rule1))] Charlie is white.[(triple8)] Fiona is cold.[(triple9)] Fiona is round.[(triple10)] Fiona is white.[(triple11)] Gary is furry.[(triple12 OR ((((triple14 triple15) -> rule6)) -> rule5) OR ((((triple14 triple15) -> rule6) triple13) -> rule3))] Gary is quiet.[(triple13 OR ((triple14 triple12) -> rule2) OR ((((triple12) -> rule1) triple12) -> rule2) OR ((triple14 ((((triple14 triple15) -> rule6)) -> rule5)) -> rule2) OR ((((triple12) -> rule1) ((((triple14 triple15) -> rule6)) -> rule5)) -> rule2))] Gary is round.[(triple14 OR ((triple12) -> rule1))] Gary is white.[(triple15)] @1: Fiona is rough.[(((triple10 triple11) -> rule6))] Gary is rough.[(((triple14 triple12) -> rule4) OR ((triple14 triple15) -> rule6) OR ((((triple12) -> rule1) triple12) -> rule4) OR ((((triple12) -> rule1) triple15) -> rule6))] @2: Fiona is furry.[(((((triple10 triple11) -> rule6)) -> rule5))] @3: Fiona is quiet.[(((triple10 ((((triple10 triple11) -> rule6)) -> rule5)) -> rule2))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
Charlie is cold.
("Charlie" "is" "cold" "+")
triple3
Charlie is furry.
("Charlie" "is" "furry" "+")
triple4
((triple6) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((triple6 triple5) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
((((triple7 triple8) -> (rule6 % int2))) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
((((triple7 triple8) -> (rule6 % int2)) triple5) -> (rule3 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple5
((triple7 triple4) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((triple7 ((triple6) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((triple4) -> (rule1 % int2)) triple4) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((triple4) -> (rule1 % int3)) ((triple6) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
((triple7 ((((triple7 triple8) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
((((((triple6) -> (rule5 % int3))) -> (rule1 % int2)) triple4) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
((((triple4) -> (rule1 % int4)) ((((triple7 triple8) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
((((((triple6) -> (rule5 % int3))) -> (rule1 % int2)) ((triple6) -> (rule5 % int3))) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
((((((triple6) -> (rule5 % int4))) -> (rule1 % int3)) ((((triple7 triple8) -> (rule6 % int2))) -> (rule5 % int4))) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is furry.
("Charlie" "is" "furry" "+")
int4
Charlie is rough.
("Charlie" "is" "rough" "+")
triple6
((triple7 triple4) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple7 triple8) -> (rule6 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((((triple4) -> (rule1 % int2)) triple4) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
((((triple4) -> (rule1 % int2)) triple8) -> (rule6 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
triple7
((triple4) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((((triple6) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
((((triple6 triple5) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is white.
("Charlie" "is" "white" "+")
triple8
Fiona is cold.
("Fiona" "is" "cold" "+")
triple9
Fiona is round.
("Fiona" "is" "round" "+")
triple10
Fiona is white.
("Fiona" "is" "white" "+")
triple11
Gary is furry.
("Gary" "is" "furry" "+")
triple12
((((triple14 triple15) -> (rule6 % int2))) -> (rule5 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
((((triple14 triple15) -> (rule6 % int2)) triple13) -> (rule3 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
triple13
((triple14 triple12) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple12) -> (rule1 % int2)) triple12) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
((triple14 ((((triple14 triple15) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
((((triple12) -> (rule1 % int4)) ((((triple14 triple15) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
int3
Gary is round.
("Gary" "is" "round" "+")
int4
Gary is round.
("Gary" "is" "round" "+")
triple14
((triple12) -> (rule1 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
triple15
Fiona is rough.
("Fiona" "is" "rough" "+")
((triple10 triple11) -> (rule6 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
((triple14 triple12) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((triple14 triple15) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((((triple12) -> (rule1 % int2)) triple12) -> (rule4 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
((((triple12) -> (rule1 % int2)) triple15) -> (rule6 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is round.
("Gary" "is" "round" "+")
int2
Fiona is furry.
("Fiona" "is" "furry" "+")
((((triple10 triple11) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple10 ((((triple10 triple11) -> (rule6 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3