About Logic Calculator
Logic Calculator takes sentential boolean expressions and applies a single function: simplification. The simplification algorithm is essentially Quine-McClusky, and should produce optimal expressions.
Simplification can be used to test for tautologies/contradictions and, by extension, for validity and equality.
• Tautologies are evaluated to True (they are true in all cases)
• Contradictions are evaluated to False (they are false in all cases)
• Contingent expressions are reduced to a sum of products form. (i.e. the cases in which it is true).
• Sum of products is a disjunction of conjunctions.
(e.g. (A | (B & C) | (D & E))).
Usage Examples:
Testing Argument Validity:
"((P -> Q) & P) -> Q" (Modus Ponens) evalutes to True.
"((A|B) -> B)" is not a valid argument and will reduce only to the conditions where it is true (~A or B). If you want counter-examples to demonstrate invalidity, pretend it is a contradiction and negate the expression. Both "~(~A | B)" and "~((A|B) -> B)" reduce to (A and ~B). If A is true and B is false, then neither A nor B can imply B.
Testing Expression Equality:
"(A | B) & ( A | C) = (A | (B & C))" distribution example evaluates to true.
(A = B) reduces to the two cases in which the expression is true (A&B | ~A&~B). Negate for counterexamples to equality (~A&B | A&~B).
Simplify an Expression:
"(A & (~A | (B & B)))|((A & B) & ~(A & B))" will reduce to "A & B"
Notes:
10 variables are provided and should work in most cases (though larger expressions may be a bit slow). Expressions can be written elsewhere and pasted into the input text field. The parser will attempt to process up to 24 variables (A-Z minus T/F). As the computational and memory costs are exponentially related to the variable count, using many variables may cause a crash from lack of memory (or it may simply spin for an indefinite period of time). I've included this option just in case someone finds it useful, but don't be surprised if it crashes the program.
If the program crashes on seemingly reasonable input or, even worse, if the program produces incorrect output for a given input (i.e. non-equivalent or non-optimal output), please shoot me an email with an expression that produces such incorrect behavior. For crashes, you should also be able to submit the exception from the error dialog (though I'll have no idea what input was being operated on, so send that as well in an email).
Download and install
Logic Calculator version 1.1 on your
Android device!
Downloaded 10,000+ times, content rating: Not rated
Android package:
com.kemick.logiccalc, download Logic Calculator.apk
by Q####:
Easy to use, ideal for those just starting boolean to check answers