(a OR b) -> c

= ~(a OR b) OR c

= (~a AND ~b) OR c

= (~a OR c) AND (~b OR c)

= (a -> c) AND (b -> c) as required

I haven’t formally learnt logic so I’m not sure if my proof is what you’d call rigorous, but the result is pretty useful for splitting up conditionals in proofs like some of the number theory proofs I’ve been trying. E.g.

Show that if a is greater than 2 and a^m + 1 is prime, then a is even and m is a power of 2

In symbolic form this is:

∀a >= 2 ( a^m + 1 is prime -> a is even AND m is a power of 2 )

The contrapositive is:

∀a >= 2 ( a is odd OR m is NOT a power of 2 -> a^m + 1 is composite )

and due to the result above, this becomes

∀a >= 2 ( a is odd -> a^m + 1 is composite ) AND ( m is NOT a power of 2 -> a^m + 1 is composite )

so you can just prove two simpler conditionals instead of one more complicated one.

  • ParsnipOP
    link
    1
    edit-2
    11 months ago

    I’m not sure but could it be because, in your first truth table, you assumed the truth value of (a OR b) -> c to be true and you are finding the truth values of c that correspond with pairs of values of a and b?

    However, in the second table you are finding the truth values of ~(a OR b) OR c that correspond with truth values of c as well as a and b so just like you said, you cannot compare the two tables you present above.

    To get the truth table for the proposition (a OR b) -> c, you would find the corresponding truth values to those of a, b and c (like you did in the first table). Something like this:

    A B C   A OR B   (A OR B) -> C
    000       0             1
    001       0             1
    010       1             0
    011       1             1
    100       1             0
    101       1             1
    110       1             0
    111       1             1
    

    since it’s possible for the conditional proposition to be false (i.e. if either A or B are true yet C is false)

    • @Shikadi
      link
      111 months ago

      Oh I think I’m starting to get it. You’re converting whether or not the proposition is true into a conditional, not the proposition itself. I don’t think (a OR b) -> c = ~(a OR b) OR c is valid, I think it needs to be written such that it communicates The proposition (a OR b) -> c is true if the following conditional ~(a OR b) OR c is true. It would be more clear in the opposite order too, If the conditional ~(a OR b) OR c is true, then the proposition (a OR b) -> c is also true.

      Without a set of data, you have my first truth table, so you can’t actually say whether or not (a OR b) -> c is true. However, the conditional has an associated complete truth table. They’re not equivalent. I can prove that they’re not equivalent by giving you another conditional that satisfies (a OR b) -> c: ~(A or B or C) or C which simplifies to C. The truth tables are different, so c != ~(a OR b) OR c however in your notation, (a OR b) -> c = ~(a OR b) OR c, which means the way I solved it would be written (a OR b) -> c = c. I’m going to switch to double equals for clarity:

      1) (a OR b) -> c == ~(a OR b) OR c.
      2) (a OR b) -> c == c.
      3) If 1 is true, and 2 is true, then ~(a OR b) OR c == c. (Transitive property: “things which are equal to the same thing are also equal to each other.”)
      4) ~(a OR b) OR c != c, therefore 1 and 2 can't both be true 
      
      
      A B C    C     (A OR B) -> C
      00 0      0              1    <- This line is where the difference is
      00 1      1              1
      01 0      0              0
      01 1      1              1
      10 0      0              0
      10 1      1              1
      11 0      0              0
      11 1      1              1