Construct a truth table for the statement.

(p ↔ q) → p

Make a table for such that each column represents a value:

(p <-> q) -> p
T T T T T
T
F
T
1 3 2 4 1
The last row represents the order in which the values are assigned.
When you complete the table, you could post it for verification.

T T T T T

T F F T T
F T T F F
T T T F F

??

There are some corrections to make, starting from p (first column) and q (third column). Sorry that the first column was wrong, it should have read:

(p <-> q) -> p
T T T T T
T ? F
F ? T
F ? F
1 3 2 4 1
We usually give
p [TTFF] and
q [TFTF] in order to have all possible combinations.
The "<->" operator is true when both p and q are true, or both are false,
and "m->n" is false if and only if m is true and n is false.

i am still so confused.... :(

Work with a simple table:

The biconditional p<->q is true if and only if both p and q are true, or both p and q are false.

p q p<->q
T T T
T F F
F T F
F F T

Now from this truth table, you will make another one for the conditional which is false if and only if p is true and q is false.
p q p->q
T T T
T F F
F T T
F F T

Now combine the two results to find
(p <-> q) -> p,
i.e. replace (p <-> q) with the results from the first table, and p remains [TTFF].
Figure out the result of the conditional according to the second table.

(p<->q) p (p<->q)->p
T T ?
F T ?
F F ?
T F ?

Jen,

If you are still confused at this point, it may do you good to back up and study the truth tables for the basic logic operators:
∧, ∨ → ↔ ¬.

Once you have mastered them, the truth tables of compound propositions would be much easier to do.

Remember that you will soon be working with simplification of compound propositions by a dozen of known identities, which require the thorough knowledge of the simple logic operators.

For the current problem, you will need the following:

p q p<->q
T T T
T F F
F T F
F F T

p q p->q
T T T
T F F
F T T
F F T

p q p <-> q (p<->q)->p

T T T T
T F F T
F T F T
F F T F
??

Excellent, all correct!

To construct a truth table for the statement "(p ↔ q) → p," we need to consider all possible combinations of truth values for the variables p and q.

First, let's define the truth values for p and q:

p: true (T), false (F)
q: true (T), false (F)

Next, let's calculate the truth value for the sub-expression (p ↔ q), which is equivalent to (p → q) ∧ (q → p). Here's how we do it:

(p → q) is true whenever p is false (F) or q is true (T). Otherwise, it is false (F).
(q → p) is true whenever q is false (F) or p is true (T). Otherwise, it is false (F).

Using these rules, we can construct the following truth table for (p ↔ q):

| p | q | (p ↔ q) |
-----------------
| T | T | T |
| T | F | F |
| F | T | F |
| F | F | T |

Now, let's consider the main connective, which is the conditional "→." The truth value of "p → q" is true whenever p is false (F) or q is true (T). Otherwise, it is false (F). In this case, "q" is equivalent to "(p ↔ q)".

Thus, we can construct the final truth table for "(p ↔ q) → p" by comparing the truth values of "(p ↔ q)" with p:

| p | q | (p ↔ q) | (p ↔ q) → p |
-------------------------------
| T | T | T | T |
| T | F | F | T |
| F | T | F | F |
| F | F | T | T |

This truth table shows the truth values of the statement "(p ↔ q) → p" for all possible combinations of p and q.