21
$\begingroup$

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.

Please also cite the reference (book/reliable webpage) that you use to answer my question (as I'm planning to add this to wikipedia page about 'logical connectives').

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

  • 0
    The compound proposition in plaintext above in better typesetted form is here: http://mathbin.net/560262010-11-28
  • 0
    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...)2010-11-28
  • 2
    @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.2010-11-29
  • 0
    @Arturo: The book that I'm currently reading (Kenneth Rosen's 'Discrete mathematics and it's applications' (6e) uses $\rightarrow$ to represent logical implication.2010-11-29
  • 0
    @CarlMummert I never realized the two symbols are not the same, what is the difference in their meaning?2017-03-16
  • 0
    @Ovi: some authors use $\rightarrow$ for the logical connective (which could appear in a formula) and $\Rightarrow$ for logical implication at the meta level. Of course, in first-order logic, for sentences $\phi$ and $\psi$, we have $\phi \models \psi$ if and only if $\phi \vdash \psi$ if and only if $\vdash \phi \to \psi$, so in that notation $\phi \Rightarrow \psi$ is equivalent to $\phi \to \psi$ being logically valid.2017-03-16

7 Answers 7

14

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.

  • 1
    Yes, that is right. But I'm interested in knowing the operator associativity of logical connectives. Does $\rightarrow$ associates to left or to right?2010-11-29
  • 17
    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.2010-11-29
  • 0
    @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?2010-12-02
  • 0
    @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.2010-12-02
8

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.

  • 5
    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)2014-07-25
  • 0
    I hate these generally-accepted rules. Everybody should use brackets. Other examples: $6-3-2 = $ 1 or 5? $2^{2^3} = $ 64 or 256?2016-03-13
3

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

  • 2
    "counterexample" to what?2010-11-29
  • 2
    Presumably it's a counterexample to $\to$ being associative.2010-11-29
  • 0
    Yes. I should have been more specific.2010-11-29
0

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

  • 10
    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 http://en.wikipedia.org/wiki/Currying2010-11-29
  • 0
    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.2010-11-29
  • 0
    So, what is the last word on this?2010-11-29
  • 1
    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.2010-11-29
0

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

0

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.

0

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.

  • 6
    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$.".2014-07-25