# Thread: logic: expressing "or" in terms of "implies not"

1. ## logic: expressing "or" in terms of "implies not"

Hi,

I have to express "p | q" (p or q) by using only =>~ (implies not)

I posted this yesterday night, this morning I looked at it again and I came up with a solution:

Let ->~ be *

p|q is equivalent to (( ((P*Q)*P) * ( (P*Q)*Q))*(P*Q) ) * (((p*q)*(p*q))*q)

My first approach was using truth tables, finding new ones and trying to combine them to get the result I am looking for. This worked in the end, I was able to find a working combination with those truth tables I created, but there must be better ways to solve this kind of problems and to make sure one gets as simple a solution as possible, mine seems too long to be the simplest one.

Anyone knows the right way to solve this?

Thank you

2. It is very hard to follow what you have written.
However, here are some standard equivalencies.

$\displaystyle \begin{array}{l} \left[ {P \Rightarrow Q} \right] \Leftrightarrow \left[ {\neg P \vee Q} \right] \\ \left[ { P \vee Q} \right] \Leftrightarrow \left[ {\neg P \Rightarrow Q} \right] \Leftrightarrow \left[ {\neg Q \Rightarrow P} \right] \\ \end{array}$

3. If I understand this right, $\displaystyle P*P$ has the same truth table as $\displaystyle \neg P$. So $\displaystyle P\vee Q$ is equivalent to $\displaystyle (P*P)*(Q*Q)$.

4. Originally Posted by Opalg
If I understand this right, $\displaystyle P*P$ has the same truth table as $\displaystyle \neg P$. So $\displaystyle P\vee Q$ is equivalent to $\displaystyle (P*P)*(Q*Q)$.
Yes, you are totally right, I even had $\displaystyle \neg P$ to express in terms of *. Now I see for sure that my answer, even though it works, was way too long.

Thank you