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