5
$\begingroup$

Usually WolframAlpha understands what logical expression I have entered but sometimes I can't find a way to do it especially when you are using equivalent sign.

For example if I have $ p \land q \Leftrightarrow \lnot q$ I type (p AND q) equivalent (NOT q) and it doesn't work, I have tried other various methods it didn't work either.

  • 0
    This is very strange, perhaps a bug, since "a equivalent b" is interpreted correctly.2012-01-24

2 Answers 2

5

Use XNOR instead of equivalent.

  • 0
    yeah it's same and it works, thanks!2012-01-23
0

Many people (including mathematicians) often mistakenly use $ P \Leftrightarrow Q \Leftrightarrow R $ to indicate equivalence, that is $ (P \Leftrightarrow Q) \wedge (Q \Leftrightarrow R) $, which is a way of saying $ P $ is equivalent to $ Q $ which is also equivalent to $ R $. (See goblin's answer to the question “IFF” (if and only if) vs. “TFAE” (the following are equivalent).)

I think it is confusing to think of if-and-only-if as equivalence relationship, since being an associative operator(1), we are allowed to write expressions such as $ P \Leftrightarrow Q \Leftrightarrow R $, which are not ambiguous at all (compare with $ P \Rightarrow Q \Rightarrow R $, which is only equivalent to $ P \Rightarrow (Q \Rightarrow R) $).

lhf's solution works fine if you are trying to establish an equivalence relationship between only two sub-expressions, but XNOR is not an equivalent of iff operator! So, for instance, compare the following two expressions: ($ \bar\veebar $ is used for XNOR)

$ \begin{array}{|c|c|c|c|c|} \hline P & Q & R & P \Leftrightarrow Q \Leftrightarrow R & P\ \bar\veebar\ Q\ \bar\veebar\ R \\ \hline \top & \top & \top & \top & \bot \\ \hline \top & \top & \bot & \bot & \top \\ \hline \top & \bot & \top & \bot & \top \\ \hline \top & \bot & \bot & \top & \bot \\ \hline \bot & \top & \top & \bot & \top \\ \hline \bot & \top & \bot & \top & \bot \\ \hline \bot & \bot & \top & \top & \bot \\ \hline \bot & \bot & \bot & \bot & \top \\ \hline \end{array} $

As can be seen in the truth table, XNOR and iff operators are not equivalent; furthermore, you might have noticed that they are negation of each other!

I am going to omit the proof, simply because I don't have one, but a given

$ P_1 \Leftrightarrow P_2 \Leftrightarrow \ldots \Leftrightarrow P_n $

is equivalent to

$ P_1\ \bar\veebar\ P_2\ \bar\veebar\ \ldots\ \bar\veebar\ P_n $

if and only if $ n $ is an even number; else is equivalent to

$ P_1 \veebar P_2 \veebar \ldots \veebar P_n $

where $ \veebar $ is used for XOR.

Both XNOR() and XOR() operators are available on WolframAlpha.


(1): $ P \Leftrightarrow Q \Leftrightarrow R $ is same as $ (P \Leftrightarrow Q) \Leftrightarrow R $ which is also same as $ P \Leftrightarrow (Q \Leftrightarrow R) $.