2
$\begingroup$

If there exists any priorities between logical operators. I do not mean in any specific programming language, but in the mathematics. For example, How can we interpret A<=>B<=>C ?

Thanks

2 Answers 2

3
  1. The question of how to interpret $A \Leftrightarrow B \Leftrightarrow C$ -- where do we insert the brackets? -- would perhaps not usually be thought of as a question of the priority between logical operators, since it is the same operator (with the same degree of precedence) which appears twice. And in this case there is I think no dominant convention as to whether we read this as left associative or right associative, whether we read it as $((A \Leftrightarrow B) \Leftrightarrow C)$ or $(A \Leftrightarrow (B \Leftrightarrow C))$. [Added: as Henning Makholm points out in his answer, informally it is indeed more likely that $A \Leftrightarrow B$ and $B \Leftrightarrow C$ is meant.]
  2. But there are some pretty common conventions about priority between different operators. Among propositional operators, negation binds tightest, then conjunction and disjunction, then conditionals. So $\neg A \land B \Rightarrow \neg C \lor D$ would on all sides be read as $((\neg A) \land B) \Rightarrow ((\neg C) \lor D).$ The convention for negation is so universal, that bracketing for negations is usually not even built into the specification of the official full-dress syntax in formal logics. And that conjunction and disjunction take precedence over conditionals is pretty universal too. You can't rely, though, on finer precedence rules. If in doubt, bracket!
  • 0
    Thank you for your reply. So, how can I draw the truth table of $A$<=>B<=>C. I mean how many '1' will appear as the result. When I the transformation of X<=>Y to (XY OR X'Y') on the whole sentence, I get 4 places with '1'. But I think it is not correct.2012-11-12
3

In everyday mathematical reasoning, the notation $A\Leftrightarrow B\Leftrightarrow C$ is overwhelmingly likely to mean that $A$, $B$, and $C$ are all equivalent -- that is, $(A\Leftrightarrow B)\land(B\Leftrightarrow C)$.

That usage is fairly rare in formal logic, but you wouldn't typically see $A\Leftrightarrow B\Leftrightarrow C$ written down in formal logic at all. Instead one writes $(A\Leftrightarrow B)\Leftrightarrow C$ or $A\Leftrightarrow(B\Leftrightarrow C)$ according to which of them one means.

One does see things like $A\Rightarrow B\Rightarrow C$ (with single implications) written down in formal logic, but there are competing conventions whether this means $(A\Rightarrow B)\Rightarrow C$ or $A\Rightarrow(B\Rightarrow C)$. The latter convention is very common among computer scientists, whereas mathematical logicians are somewhat more likely to use the former.

Again, in semi-formal everyday reasoning "$A\Rightarrow B\Rightarrow C$" is very commonly used simply as a shorthand for asserting $A\Rightarrow B$ and $B\Rightarrow C$ at the same time.

  • 0
    @CharlesStewart: Mostly just hedging my bets here. I'm fairly sure I've seen left associativity of $\to$ used _somewhere_ and can't imagine that it has been by computer scientists; thus I default to blaming the mathematicians! :-)2012-11-12