# 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 – Amber Jain Nov 28 '10 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...) – Arturo Magidin Nov 28 '10 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. – Carl Mummert Nov 29 '10 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. – Amber Jain Nov 29 '10 at 13:39

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 $p$ and $r$ are true and $q$ is false, then $(p\rightarrow q)$ is false, so $(p\rightarrow q)\rightarrow r$ is true. But under the same conditions $q\rightarrow r$ is true, and therefore $p\rightarrow(q\rightarrow r)$ is true. So $(p\rightarrow q)\rightarrow r$ and $p\rightarrow(q\rightarrow r)$ cannot be equivalent; that is, $\rightarrow$ 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? – Amber Jain Nov 29 '10 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. – Carl Mummert Nov 29 '10 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? – Amber Jain Dec 2 '10 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. – Arturo Magidin Dec 2 '10 at 16:56

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) – Arend Jul 25 '14 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? – Ivan Kuckir Mar 13 at 10:43

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

-
"counterexample" to what? – Arturo Magidin Nov 29 '10 at 5:46
Presumably it's a counterexample to $\to$ being associative. – Carl Mummert Nov 29 '10 at 14:52
Yes. I should have been more specific. – Dan Christensen Nov 29 '10 at 16:14

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 – Carl Mummert Nov 29 '10 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. – Amber Jain Nov 29 '10 at 14:04
So, what is the last word on this? – Amber Jain Nov 29 '10 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. – Carl Mummert Nov 29 '10 at 14:48

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$.

-

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.

-

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$.". – Carl Mummert Jul 25 '14 at 2:58