# Associativity of logical connectives

According to the precedence of logical connectives, operator $\rightarrow$ gets higher precedence than $\leftrightarrow$ operator. But what about associativity of $\rightarrow$ operator?

The implies operator ($\rightarrow$) does not have the associative property. That means that $(p \rightarrow q) \rightarrow r$ is not equivalent to $p \rightarrow (q \rightarrow r)$. Because of that, the question comes op how $p \rightarrow q \rightarrow r$ should be interpreted.

The proposition $p \rightarrow q \rightarrow r$ can be defined in multiple ways that make sense:

• $(p \rightarrow q) \rightarrow r$ (left associativity)
• $p \rightarrow (q \rightarrow r)$ (right associativity)
• $(p \rightarrow q) \land (q \rightarrow r)$

Which one of these definitions is used?

I could not locate any book/webpage that mentions about associativity of logical operators in discrete mathematics.

Thanks.

PS: I got this question when I saw this problem: Check if following compound proposition is tautology or not:

$$\mathrm{p} \leftrightarrow (\mathrm{q} \wedge \mathrm{r}) \rightarrow \neg\mathrm{r} \rightarrow \neg\mathrm{p}$$

• The compound proposition in plaintext above in better typesetted form is here: mathbin.net/56026 Nov 28, 2010 at 17:12
• I've edited the proposition so it looks exactly like the one you link at. Note the difference between \Rightarrow ($\Rightarrow$) and \rightarrow ($\rightarrow$). The latter is the usual connective, the former is "logical implication"; as I understand it, people who work in Mathematical Logic make a clear distinction between the two (and get endlessly annoyed by those who don't...) Nov 28, 2010 at 23:52
• @Arturo: we certainly care about the difference between the two, but the notation varies greatly from one author to another, so that $\Rightarrow$ is often used as a connective. In the most common setting of first-order logic, Goedel's completeness theorem implies that it's pretty safe to ignore the difference. Nov 29, 2010 at 1:43
• @Arturo: The book that I'm currently reading (Kenneth Rosen's 'Discrete mathematics and it's applications' (6e) uses $\rightarrow$ to represent logical implication. Nov 29, 2010 at 13:39
• @CarlMummert I never realized the two symbols are not the same, what is the difference in their meaning?
– Ovi
Mar 16, 2017 at 4:13

When you enter $p \Rightarrow q \Rightarrow r$ in Mathematica (with p \[Implies] q \[Implies] r), it displays $p \Rightarrow (q \Rightarrow r)$.

That makes it plausible that the $\rightarrow$ operator is generally accepted as right-associative.

• This is the commonly accepted syntactic associativity rule: implication, like the function space constructor, associates to the right. (Under the Curry-Howard isomorphism, these are one and the same anyway - see @CarlMummert's remark to another answer below) Jul 25, 2014 at 9:31
• I hate these generally-accepted rules. Everybody should use brackets. Other examples: $6-3-2 =$ 1 or 5? $2^{2^3} =$ 64 or 256? Mar 13, 2016 at 10:43

Some logical operators are associative: both $$\wedge$$ and $$\vee$$ are associative, as a simple check of truth tables verifies. Likewise, the biconditional $$\leftrightarrow$$ is associative.

However, the implication $$\rightarrow$$ is not associative. Compare $$(p\rightarrow q)\rightarrow r$$ and $$p\rightarrow(q\rightarrow r)$$. If all of $$p$$, $$q$$, and $$r$$ are false, then $$p\rightarrow (q\rightarrow r)$$ is true, because the antecedent is false; but $$(p\rightarrow q\rightarrow r$$ is false, because $$r$$ is false, but $$p\rightarrow q$$ is true. They also disagree with $$p$$ and $$r$$ are false but $$q$$ is true: then $$p\rightarrow(q\rightarrow r)$$ is true because the antecedent is false, but $$(p\rightarrow q)$$ is true, $$r$$ false, so $$(p\rightarrow q)\rightarrow r$$ is false.

Since they take different values at some truth assignments, the two propositions are not equivalent, so $$\to$$ is not associative.

• Yes, that is right. But I'm interested in knowing the operator associativity of logical connectives. Does $\rightarrow$ associates to left or to right? Nov 29, 2010 at 13:54
• The usual convention among authors who drop parentheses is that the binary connectives are right-associative, which means that $a \to b \to c$ means $a \to (b \to c)$. However, many textbooks will just use parentheses whenever there is a possibility of ambiguity. Nov 29, 2010 at 14:47
• @Carl: I'm new to stackexchange sites. In my opinion, your preceding comment answers my original question. How do I set your last comment as the accepted answer? Or, do I need to set the answer by Arturo Magidin above for this? Dec 2, 2010 at 16:22
• @Amber Jain, @Carl Mummert: You cannot make a comment into the accepted answer... But Carl may post his comment as an answer and you can accept that, if he's willing. Dec 2, 2010 at 16:56
• @ArturoMagidin I don't understand the 2nd paragraph. I bet you are right, but let me ask: You aim to prove that $\implies$ is not associative, but both ways to parenthesize gave true? Below there is an answer with $p$, $q$ and $r$ being false, false, false that to me seems to achieve what you wanted. What am I missing? Nov 28, 2020 at 18:41

The proposition $$p \rightarrow q \rightarrow r$$ can be defined in multiple ways that make sense:

• $$(p \rightarrow q) \rightarrow r$$ (left associativity)
• $$p \rightarrow (q \rightarrow r)$$ (right associativity)
• $$(p \rightarrow q) \land (q \rightarrow r)$$

Which one of these definitions is used?

In the absence of parentheses, a logician would read $$p \rightarrow q \rightarrow r$$ as $$p \rightarrow (q \rightarrow r);$$ however, in informal logic (including mathematics), $$p \Rightarrow q \Rightarrow r$$ is commonly read as $$(p \Rightarrow q) \;\text{ and }\; (q \Rightarrow r),$$ which isn't logically equivalent to $$p \Rightarrow (q \Rightarrow r).$$

Similarly, $$p \Leftrightarrow q \Leftrightarrow r$$ is commonly read as $$(p \Leftrightarrow q) \;\text{ and }\; (q \Leftrightarrow r),$$ although a logician would read $$p \leftrightarrow q \leftrightarrow r$$ as $$p \leftrightarrow (q \leftrightarrow r),$$ which isn't logically equivalent to $$(p \leftrightarrow q) \;\text{ and }\; (q \leftrightarrow r).$$

Here's a clear illustration: $$(p \Leftrightarrow q) \;\text{ and }\; (q \Leftrightarrow r)$$ asserts that $$p,q,r$$ all have the same truth value; however, both $$p \Leftrightarrow ( q \Leftrightarrow r)$$ and $$(p \Leftrightarrow q) \Leftrightarrow r$$ admit this truth assignment: $$(p,q,r)=$$ (false, false, true).

• So (P=>Q=>R) , whether => indicates 'logical implication' or 'material conditional' can be interpreted as ( (P=>Q) AND (Q=>R) ) ? Jan 3, 2023 at 8:23
• @Pooria How are you making these inferences? And what does "logical implication" mean to you? Jan 27, 2023 at 22:34

Counter example: Suppose p, q, r are all false. Then (p=>q)=>r is false, and p=>(q=>r) is true.

• "counterexample" to what? Nov 29, 2010 at 5:46
• Presumably it's a counterexample to $\to$ being associative. Nov 29, 2010 at 14:52
• Yes. I should have been more specific. Nov 29, 2010 at 16:14

I think $(p \rightarrow q) \land (q \rightarrow r)$ is the most useful interpretation of $p \rightarrow q \rightarrow r$. It corresponds to natural language when we say something like "A implies B, which implies C".

A related convention is $x \lt y \lt z$ meaning $x \lt y \land y \lt z$. The same three cases arise when $\lt$ is treated as a function yielding a boolean integer like in many programming languages.

• The most common convention I have seen is that $p \to q \to r$ means $p \to (q \to r)$ which is equivalent to $(p \land q) \to r$. This convention is very common in type theory, because it works well with the Curry-Howard isomorphism. Under this interpretation, $a \to b$ is read as "we have a function from $a$ to $b$" and $p \to q \to r$ means "we have a function that, given $p$, constructs a function from $q$ to $r$.". Jul 25, 2014 at 2:58

Presumably $p \Rightarrow q \Rightarrow r$ means $(p \Rightarrow q) \Rightarrow r$, since the other option $p \Rightarrow (q \Rightarrow r)$ is equivalent to $(p \land q) \Rightarrow r$. That's similar to the laws of powering $p^{q^r} = p^{\left(q^r\right)}$ since $\left(p^q\right)^r = p^{qr}$.

Best practice is just not to put the reader into a state of ambiguity. Some mathematical writers dislike punctuation, but that's not an excuse for the rest of us to take advantage of it.

Since $\land$ and $\lor$ are associative, there's no ambiguity there, and it makes sense not to put parentheses. Sometimes one even thinks of an expression like $p \land q \land r$ as a conjunction $\land(p,q,r)$.

The latter convention is the case in proof complexity when one is measuring the depth of a formula. If a first-order quantified formula is translated to propositional logic, then $\forall$ will correspond to a conjunction, and $\exists$ to a disjunction; it makes sense not to penalize the formula for the size of the underlying universe.

An even more daring "convention" is having infinite conjunctions/disjunctions - this wouldn't make sense at all for $\Rightarrow$. So your textbook authors are at fault (even though having the $\Leftrightarrow$ bind weakly is a reasonable convention if not overused).

• Actually $p \to q \to r$ does mean $(p \land q) \to r$, not $(p \to q) \to r$. This is because the former is much more commonly encountered than the latter. In particular, this convention is useful in computability when studying the Curry-Howard isomorphism; see en.wikipedia.org/wiki/Currying Nov 29, 2010 at 1:41
• This question appeared in my discrete math exam. If this question appeared in a textbook, I guess the author would had clarified it. But all textbooks I had seen explicitly use parentheses. Nov 29, 2010 at 14:04
• So, what is the last word on this? Nov 29, 2010 at 14:06
• Presumably, if the problem was on an exam, either the instructor would tell you what was meant, or the instructor assumed you would already know. Nov 29, 2010 at 14:48

What basic principle(s) do you have when doing logic from scratch without any formation rules? I'll propose one which I think unobjectionable.

1. Try to keep things as simple as reasonable or make things as simple as reasonable.

When you work or play around with conditionals you probably will want to find the antecedent of the conditional so that you can detach something. p→(q→r) has a simpler antecedent than (p→q)→r, and consequently given a pseudo-formula it comes as simpler to find an antecedent of some form "p" in your axiom set than to find some form (p→q) in your axiom set to detach something from (p→q)→r. Consequently, p→(q→r) makes more sense than (p→q)→r.

Note that since it's not a binary operator, but a binary relation, associativity does not always yield the same semantics, of reducing composition pairings to a queue. Suppose $p \implies q \implies r.$ But if $r$ is false, $p \implies q$ being true does not imply $r$ is true. Likewise, $p \implies q$ can be false while $p \implies (r \implies q)$ is true, so $(p \implies (q \implies r)) \implies (p \implies q), (q \implies r)$ is not necessarily true. Finally, if $(p \implies q) \implies r$, and $p \implies (q \implies r),$ and $p \equiv F,$ we have no reason to think $q \implies r$, and $p \implies q$ can still be true, which would mean $r$ is true regardless of whether $p \implies r$.