Anne is green. Anne is rough. Anne is smart. Charlie is furry. Charlie is red. Dave is quiet. Fiona is not green. All quiet, rough things are not smart. If something is rough then it is furry. Green things are red. If something is kind then it is not red. All red things are rough. If something is quiet then it is green. Red, furry things are not kind.
Anne is green.
("Anne" "is" "green" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Fiona is not green.
("Fiona" "is" "green" "-")
All quiet, rough things are not smart.
((("something" "is" "quiet" "+") ("something" "is" "rough" "+")) -> ("something" "is" "smart" "-"))
If something is rough then it is furry.
((("something" "is" "rough" "+")) -> ("something" "is" "furry" "+"))
Green things are red.
((("something" "is" "green" "+")) -> ("something" "is" "red" "+"))
If something is kind then it is not red.
((("something" "is" "kind" "+")) -> ("something" "is" "red" "-"))
All red things are rough.
((("something" "is" "red" "+")) -> ("something" "is" "rough" "+"))
If something is quiet then it is green.
((("something" "is" "quiet" "+")) -> ("something" "is" "green" "+"))
Red, furry things are not kind.
((("something" "is" "red" "+") ("something" "is" "furry" "+")) -> ("something" "is" "kind" "-"))
Anne is rough.
True
1
proof
[(triple2 OR ((((triple1) -> rule3)) -> rule5))]
("Anne" "is" "rough" "+")
triple2
((((triple1) -> (rule3 % int2))) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Fiona is green.
False
1
inv-proof
[(triple7)]
("Fiona" "is" "green" "+")
triple7
Dave is green.
True
2
proof
[(((triple6) -> rule6))]
("Dave" "is" "green" "+")
((triple6) -> (rule6 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is not green.
False
2
inv-proof
[(((triple6) -> rule6))]
("Dave" "is" "green" "-")
((triple6) -> (rule6 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Anne is not kind.
True
5
proof
[(((((triple1) -> rule3) ((triple2) -> rule2)) -> rule7) OR ((((triple1) -> rule3) ((((((triple1) -> rule3)) -> rule5)) -> rule2)) -> rule7))]
("Anne" "is" "kind" "-")
((((triple1) -> (rule3 % int3)) ((triple2) -> (rule2 % int2))) -> (rule7 % int1))
Anne is not kind.
("Anne" "is" "kind" "-")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple1) -> (rule3 % int4)) ((((((triple1) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Anne is not kind.
("Anne" "is" "kind" "-")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Anne is kind.
False
5
inv-proof
[(((((triple1) -> rule3) ((triple2) -> rule2)) -> rule7) OR ((((triple1) -> rule3) ((((((triple1) -> rule3)) -> rule5)) -> rule2)) -> rule7))]
("Anne" "is" "kind" "+")
((((triple1) -> (rule3 % int3)) ((triple2) -> (rule2 % int2))) -> (rule7 % int1))
Anne is not kind.
("Anne" "is" "kind" "-")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple1) -> (rule3 % int4)) ((((((triple1) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Anne is not kind.
("Anne" "is" "kind" "-")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Dave is rough.
True
4
proof
[(((((((triple6) -> rule6)) -> rule3)) -> rule5))]
("Dave" "is" "rough" "+")
((((((triple6) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is not rough.
False
4
inv-proof
[(((((((triple6) -> rule6)) -> rule3)) -> rule5))]
("Dave" "is" "rough" "-")
((((((triple6) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is not smart.
True
6
proof
[(((triple6 ((((((triple6) -> rule6)) -> rule3)) -> rule5)) -> rule1))]
("Dave" "is" "smart" "-")
((triple6 ((((((triple6) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Dave is not smart.
("Dave" "is" "smart" "-")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
int4
Dave is not furry.
False
5
inv-proof
[(((((((((triple6) -> rule6)) -> rule3)) -> rule5)) -> rule2))]
("Dave" "is" "furry" "-")
((((((((triple6) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
int4
Dave is not kind.
True
9
proof
[(((((((triple6) -> rule6)) -> rule3) ((((((((triple6) -> rule6)) -> rule3)) -> rule5)) -> rule2)) -> rule7))]
("Dave" "is" "kind" "-")
((((((triple6) -> (rule6 % int5))) -> (rule3 % int4)) ((((((((triple6) -> (rule6 % int5))) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Dave is not kind.
("Dave" "is" "kind" "-")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
int4
Dave is green.
("Dave" "is" "green" "+")
int5
Dave is kind.
False
9
inv-proof
[(((((((triple6) -> rule6)) -> rule3) ((((((((triple6) -> rule6)) -> rule3)) -> rule5)) -> rule2)) -> rule7))]
("Dave" "is" "kind" "+")
((((((triple6) -> (rule6 % int5))) -> (rule3 % int4)) ((((((((triple6) -> (rule6 % int5))) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Dave is not kind.
("Dave" "is" "kind" "-")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
int4
Dave is green.
("Dave" "is" "green" "+")
int5
Fiona is not furry.
Unknown
inv-rconc
[@3: Fiona is furry.[CWA. Example of deepest failure = (rule2 <- rule5 <- rule3 <- FAIL)]]
("Fiona" "is" "furry" "-")
Charlie is green.
Unknown
rconc
[@1: Charlie is green.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Charlie" "is" "green" "+")
Fiona is not rough.
Unknown
inv-rconc
[@2: Fiona is rough.[CWA. Example of deepest failure = (rule5 <- rule3 <- FAIL)]]
("Fiona" "is" "rough" "-")
Fiona is red.
Unknown
rconc
[@1: Fiona is red.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Fiona" "is" "red" "+")
Fiona is not quiet.
Unknown
inv-random
[@0: Fiona is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "quiet" "-")
Anne is quiet.
Unknown
random
[@0: Anne is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "quiet" "+")
Charlie is not quiet.
Unknown
inv-random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "-")
Fiona is kind.
Unknown
random
[@0: Fiona is kind.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "kind" "+")
Fiona is not smart.
Unknown
inv-random
[@0: Fiona is smart.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "smart" "-")
Charlie is smart.
Unknown
random
[@0: Charlie is smart.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "smart" "+")
@0: Anne is green.[(triple1)] Anne is rough.[(triple2 OR ((((triple1) -> rule3)) -> rule5))] Anne is smart.[(triple3)] Charlie is furry.[(triple4 OR ((((triple5) -> rule5)) -> rule2))] Charlie is red.[(triple5)] Dave is quiet.[(triple6)] Fiona is not green.[(triple7)] @1: Anne is furry.[(((triple2) -> rule2) OR ((((((triple1) -> rule3)) -> rule5)) -> rule2))] Anne is red.[(((triple1) -> rule3))] Charlie is not kind.[(((triple5 triple4) -> rule7) OR ((triple5 ((((triple5) -> rule5)) -> rule2)) -> rule7))] Charlie is rough.[(((triple5) -> rule5))] Dave is green.[(((triple6) -> rule6))] @2: Anne is not kind.[(((((triple1) -> rule3) ((triple2) -> rule2)) -> rule7) OR ((((triple1) -> rule3) ((((((triple1) -> rule3)) -> rule5)) -> rule2)) -> rule7))] Dave is red.[(((((triple6) -> rule6)) -> rule3))] @3: Dave is rough.[(((((((triple6) -> rule6)) -> rule3)) -> rule5))] @4: Dave is furry.[(((((((((triple6) -> rule6)) -> rule3)) -> rule5)) -> rule2))] Dave is not smart.[(((triple6 ((((((triple6) -> rule6)) -> rule3)) -> rule5)) -> rule1))] @5: Dave is not kind.[(((((((triple6) -> rule6)) -> rule3) ((((((((triple6) -> rule6)) -> rule3)) -> rule5)) -> rule2)) -> rule7))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Anne is rough.
("Anne" "is" "rough" "+")
triple2
((((triple1) -> (rule3 % int2))) -> (rule5 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is smart.
("Anne" "is" "smart" "+")
triple3
Charlie is furry.
("Charlie" "is" "furry" "+")
triple4
((((triple5) -> (rule5 % int2))) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
triple5
Dave is quiet.
("Dave" "is" "quiet" "+")
triple6
Fiona is not green.
("Fiona" "is" "green" "-")
triple7
Anne is furry.
("Anne" "is" "furry" "+")
((triple2) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
((((((triple1) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Anne is furry.
("Anne" "is" "furry" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
((triple1) -> (rule3 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Charlie is not kind.
("Charlie" "is" "kind" "-")
((triple5 triple4) -> (rule7 % int1))
Charlie is not kind.
("Charlie" "is" "kind" "-")
int1
((triple5 ((((triple5) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Charlie is not kind.
("Charlie" "is" "kind" "-")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
int3
Charlie is rough.
("Charlie" "is" "rough" "+")
((triple5) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
((triple6) -> (rule6 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Anne is not kind.
("Anne" "is" "kind" "-")
((((triple1) -> (rule3 % int3)) ((triple2) -> (rule2 % int2))) -> (rule7 % int1))
Anne is not kind.
("Anne" "is" "kind" "-")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is red.
("Anne" "is" "red" "+")
int3
((((triple1) -> (rule3 % int4)) ((((((triple1) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Anne is not kind.
("Anne" "is" "kind" "-")
int1
Anne is furry.
("Anne" "is" "furry" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is red.
("Anne" "is" "red" "+")
int4
Dave is red.
("Dave" "is" "red" "+")
((((triple6) -> (rule6 % int2))) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
((((((triple6) -> (rule6 % int3))) -> (rule3 % int2))) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is furry.
("Dave" "is" "furry" "+")
((((((((triple6) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
int4
Dave is not smart.
("Dave" "is" "smart" "-")
((triple6 ((((((triple6) -> (rule6 % int4))) -> (rule3 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Dave is not smart.
("Dave" "is" "smart" "-")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
int4
Dave is not kind.
("Dave" "is" "kind" "-")
((((((triple6) -> (rule6 % int5))) -> (rule3 % int4)) ((((((((triple6) -> (rule6 % int5))) -> (rule3 % int4))) -> (rule5 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Dave is not kind.
("Dave" "is" "kind" "-")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is red.
("Dave" "is" "red" "+")
int4
Dave is green.
("Dave" "is" "green" "+")
int5