Charlie is round. Dave is blue. Dave is furry. Dave is not nice. Dave is round. Erin is blue. Harry is furry. All nice people are furry. If Charlie is blue then Charlie is rough. If someone is quiet and green then they are rough. All nice people are rough. Green, furry people are not quiet. All rough people are green. All blue, green people are nice. Round people are blue.
Charlie is round.
("Charlie" "is" "round" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is not nice.
("Dave" "is" "nice" "-")
Dave is round.
("Dave" "is" "round" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Harry is furry.
("Harry" "is" "furry" "+")
All nice people are furry.
((("someone" "is" "nice" "+")) -> ("someone" "is" "furry" "+"))
If Charlie is blue then Charlie is rough.
((("Charlie" "is" "blue" "+")) -> ("Charlie" "is" "rough" "+"))
If someone is quiet and green then they are rough.
((("someone" "is" "quiet" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "rough" "+"))
All nice people are rough.
((("someone" "is" "nice" "+")) -> ("someone" "is" "rough" "+"))
Green, furry people are not quiet.
((("someone" "is" "green" "+") ("someone" "is" "furry" "+")) -> ("someone" "is" "quiet" "-"))
All rough people are green.
((("someone" "is" "rough" "+")) -> ("someone" "is" "green" "+"))
All blue, green people are nice.
((("someone" "is" "blue" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "nice" "+"))
Round people are blue.
((("someone" "is" "round" "+")) -> ("someone" "is" "blue" "+"))
Harry is furry.
True
1
proof
[(triple7)]
("Harry" "is" "furry" "+")
triple7
Harry is not furry.
False
1
inv-proof
[(triple7)]
("Harry" "is" "furry" "-")
triple7
Charlie is blue.
True
2
proof
[(((triple1) -> rule8))]
("Charlie" "is" "blue" "+")
((triple1) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is not blue.
False
2
inv-proof
[(((triple1) -> rule8))]
("Charlie" "is" "blue" "-")
((triple1) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is rough.
True
3
proof
[(((((triple1) -> rule8)) -> rule2))]
("Charlie" "is" "rough" "+")
((((triple1) -> (rule8 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is not rough.
False
3
inv-proof
[(((((triple1) -> rule8)) -> rule2))]
("Charlie" "is" "rough" "-")
((((triple1) -> (rule8 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is green.
True
4
proof
[(((((((triple1) -> rule8)) -> rule2)) -> rule6))]
("Charlie" "is" "green" "+")
((((((triple1) -> (rule8 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is not green.
False
4
inv-proof
[(((((((triple1) -> rule8)) -> rule2)) -> rule6))]
("Charlie" "is" "green" "-")
((((((triple1) -> (rule8 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is nice.
True
7
proof
[(((((triple1) -> rule8) ((((((triple1) -> rule8)) -> rule2)) -> rule6)) -> rule7))]
("Charlie" "is" "nice" "+")
((((triple1) -> (rule8 % int4)) ((((((triple1) -> (rule8 % int4))) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Charlie is not nice.
False
7
inv-proof
[(((((triple1) -> rule8) ((((((triple1) -> rule8)) -> rule2)) -> rule6)) -> rule7))]
("Charlie" "is" "nice" "-")
((((triple1) -> (rule8 % int4)) ((((((triple1) -> (rule8 % int4))) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Charlie is furry.
True
8
proof
[(((((((triple1) -> rule8) ((((((triple1) -> rule8)) -> rule2)) -> rule6)) -> rule7)) -> rule1))]
("Charlie" "is" "furry" "+")
((((((triple1) -> (rule8 % int5)) ((((((triple1) -> (rule8 % int5))) -> (rule2 % int4))) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
int5
Charlie is not furry.
False
8
inv-proof
[(((((((triple1) -> rule8) ((((((triple1) -> rule8)) -> rule2)) -> rule6)) -> rule7)) -> rule1))]
("Charlie" "is" "furry" "-")
((((((triple1) -> (rule8 % int5)) ((((((triple1) -> (rule8 % int5))) -> (rule2 % int4))) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
int5
Harry is not green.
Unknown
inv-rconc
[@3: Harry is green.[CWA. Example of deepest failure = (rule6 <- rule4 <- rule7 <- FAIL)]]
("Harry" "is" "green" "-")
Harry is nice.
Unknown
rconc
[@2: Harry is nice.[CWA. Example of deepest failure = (rule7 <- rule8 <- FAIL)]]
("Harry" "is" "nice" "+")
Dave is not green.
Unknown
inv-rconc
[@2: Dave is green.[CWA. Example of deepest failure = (rule6 <- rule3 <- FAIL)]]
("Dave" "is" "green" "-")
Erin is nice.
Unknown
rconc
[@3: Erin is nice.[CWA. Example of deepest failure = (rule7 <- rule6 <- rule3 <- FAIL)]]
("Erin" "is" "nice" "+")
Harry is not blue.
Unknown
inv-rconc
[@1: Harry is blue.[CWA. Example of deepest failure = (rule8 <- FAIL)]]
("Harry" "is" "blue" "-")
Erin is green.
Unknown
rconc
[@3: Erin is green.[CWA. Example of deepest failure = (rule6 <- rule4 <- rule7 <- FAIL)]]
("Erin" "is" "green" "+")
Dave is not quiet.
Unknown
inv-random
[@0: Dave is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "quiet" "-")
Erin is quiet.
Unknown
random
[@0: Erin is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "quiet" "+")
Harry is not quiet.
Unknown
inv-random
[@0: Harry is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "quiet" "-")
Erin is round.
Unknown
random
[@0: Erin is round.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "round" "+")
@0: Charlie is round.[(triple1)] Dave is blue.[(triple2 OR ((triple5) -> rule8))] Dave is furry.[(triple3)] Dave is not nice.[(triple4)] Dave is round.[(triple5)] Erin is blue.[(triple6)] Harry is furry.[(triple7)] @1: Charlie is blue.[(((triple1) -> rule8))] @2: Charlie is rough.[(((((triple1) -> rule8)) -> rule2))] @3: Charlie is green.[(((((((triple1) -> rule8)) -> rule2)) -> rule6))] @4: Charlie is nice.[(((((triple1) -> rule8) ((((((triple1) -> rule8)) -> rule2)) -> rule6)) -> rule7))] @5: Charlie is furry.[(((((((triple1) -> rule8) ((((((triple1) -> rule8)) -> rule2)) -> rule6)) -> rule7)) -> rule1))] @6: Charlie is not quiet.[(((((((((triple1) -> rule8)) -> rule2)) -> rule6) ((((((triple1) -> rule8) ((((((triple1) -> rule8)) -> rule2)) -> rule6)) -> rule7)) -> rule1)) -> rule5))]
Charlie is round.
("Charlie" "is" "round" "+")
triple1
Dave is blue.
("Dave" "is" "blue" "+")
triple2
((triple5) -> (rule8 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
triple3
Dave is not nice.
("Dave" "is" "nice" "-")
triple4
Dave is round.
("Dave" "is" "round" "+")
triple5
Erin is blue.
("Erin" "is" "blue" "+")
triple6
Harry is furry.
("Harry" "is" "furry" "+")
triple7
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple1) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
((((triple1) -> (rule8 % int2))) -> (rule2 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
((((((triple1) -> (rule8 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
((((triple1) -> (rule8 % int4)) ((((((triple1) -> (rule8 % int4))) -> (rule2 % int3))) -> (rule6 % int2))) -> (rule7 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is blue.
("Charlie" "is" "blue" "+")
int4
Charlie is furry.
("Charlie" "is" "furry" "+")
((((((triple1) -> (rule8 % int5)) ((((((triple1) -> (rule8 % int5))) -> (rule2 % int4))) -> (rule6 % int3))) -> (rule7 % int2))) -> (rule1 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
int4
Charlie is blue.
("Charlie" "is" "blue" "+")
int5
Charlie is not quiet.
("Charlie" "is" "quiet" "-")
((((((((triple1) -> (rule8 % int6))) -> (rule2 % int5))) -> (rule6 % int4)) ((((((triple1) -> (rule8 % int6)) ((((((triple1) -> (rule8 % int6))) -> (rule2 % int5))) -> (rule6 % int4))) -> (rule7 % int3))) -> (rule1 % int2))) -> (rule5 % int1))
Charlie is not quiet.
("Charlie" "is" "quiet" "-")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4
Charlie is rough.
("Charlie" "is" "rough" "+")
int5
Charlie is blue.
("Charlie" "is" "blue" "+")
int6