# Logical Operators priorities

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

-

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.

-
"mathematical logicians are somewhat more likely to use the former" - I've seen the non-Curry-friendly associativity used for implication, but that I can recall, only together with the exponential notation (i.e. $A^B$ for $B \rightarrow A$). My look over my (mostly set theory, category theory, modal logic, type theory and algebraic logic) bookshelf suggests that when they use arrows for implication, mathematical logicians are most likely to prefer parentheses over an associativity rule, but otherwise, they always go for right associativity. What makes you think the opposite? – Charles Stewart Nov 12 '12 at 15:09
@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! :-) – Henning Makholm Nov 12 '12 at 17:05
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!
-
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. – remo Nov 12 '12 at 10:32