You are the detective in a crime. From your research you know that Jill and John are lying however the others may be telling the truth or lying. What can you deduce from the statements below?
Jill said: IF John is not involved and Joe told the truth THEN Mike is not involved
John said: IF Abby is involved or Sue is involved THEN Joe is involved
Abby said: IF Cindy is not involved or Joe is not involved THEN Mike is involved or Jill is not involved
Cindy said: IF Mike is involved and Joe told the truth THEN John is not involved or Jill is involved
Sue said: IF Joe is involved or Sue is not involved THEN Cindy is involved or Abby is not involved
Mike said: IF Cindy is not involved and Abby is involved THEN John is not involved or Jill is not involved
Joe said: IF Jill is telling the truth or Cindy is lying THEN Sue is telling the truth or Mike is telling the truth
If this is possible it would be helpful to show the coding and output in order to determine the complexity involved.
Any number of frameworks (programming languages, logic systems, constraint-solving frameworks) can handle such problems, with varying degrees of ease. My favorite tools to use are SMT solvers. When paired with a good programming language interface, you can code such problems with ease.
The following is one way to solve this problem, using the z3 SMT solver, and the Haskell bindings called SBV:
When run, this prints:
The nice thing is you can easily get all satisfying solutions as well. Simply run:
All of this is done pretty much instantaneously, so solving time is more or less irrelevant.
Deductions
Note that the above program finds some assignment to the characters that make all the statements true. But it doesn't tell us what's necessarily true, i.e., what we can deduce for sure. The beauty of using an SMT solver with a programming language is that you can program such things with ease. In this case, we want to check if any of the predicates we have is forced. Here's the extra code you need:
Now, we get:
which shows us what we can definitely conclude from the given predicates.