Logic: proof that [p -> (q ^ r)] <=> [(p ^ -q) -> r]

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
3 replies · 2K views
member 587159
Thread moved from the technical forums, so no HH Template is shown.
I'm preparing for college on my own. I need to proof that:

[p -> (q v r)] and [(p ^ -q) -> r] are logically equivalent.

with
1) v "or"
2) ^ "and"
3) -q "negation of q"

I did this using truth tables and this perfectly shows that those 2 statements are logically equivalent. Can someone confirm that this is the way of proving this? Is there an easier way? Keep in mind that I learned this matter myself so I will most likely not understand difficult answers :)

Thanks in advance.
 
Physics news on Phys.org
Math_QED said:
I'm preparing for college on my own. I need to proof that:

[p -> (q v r)] and [(p ^ -q) -> r] are logically equivalent.

with
1) v "or"
2) ^ "and"
3) -q "negation of q"

I did this using truth tables and this perfectly shows that those 2 statements are logically equivalent. Can someone confirm that this is the way of proving this? Is there an easier way?
Sounds good to me. Using truth tables is probably the easiest way to go.
Math_QED said:
Keep in mind that I learned this matter myself so I will most likely not understand difficult answers :)

Thanks in advance.
 
  • Like
Likes   Reactions: member 587159
Math_QED said:
I'm preparing for college on my own. I need to proof that:

[p -> (q v r)] and [(p ^ -q) -> r] are logically equivalent.

with
1) v "or"
2) ^ "and"
3) -q "negation of q"

I did this using truth tables and this perfectly shows that those 2 statements are logically equivalent. Can someone confirm that this is the way of proving this? Is there a simpler or easier way? Keep in mind that I learned this matter myself so I will most likely not understand difficult answers :)

Thanks in advance.

Well, truth tables are a perfectly good way to establish tautologies in classical propositional logic. An alternative that is useful for understanding proof theory is to establish it using axioms and rules of inference. There are lots of different ways to axiomatize propositional logic, but here's one way:

Axioms:
  1. [itex]A \rightarrow (B \rightarrow A)[/itex]
  2. [itex](A \rightarrow (B \rightarrow C)) \rightarrow ((A \rightarrow B) \rightarrow (A \rightarrow C))[/itex]
  3. [itex]A \rightarrow (A \vee B)[/itex]
  4. [itex]B \rightarrow (A \vee B)[/itex]
  5. [itex](A \rightarrow C) \rightarrow ((B \rightarrow C) \rightarrow ((A \vee B) \rightarrow C))[/itex]
  6. [itex]A \rightarrow (B \rightarrow (A \wedge B))[/itex]
  7. [itex](A \rightarrow (B \rightarrow C)) \rightarrow ((A \wedge B) \rightarrow C)[/itex]
  8. [itex]A \rightarrow (\neg A \rightarrow B)[/itex]
  9. [itex](\neg (\neg A)) \rightarrow A[/itex]
  10. [itex](A \leftrightarrow B) \rightarrow (A \rightarrow B)[/itex]
  11. [itex](A \leftrightarrow B) \rightarrow (B \rightarrow A)[/itex]
Rule of inference: (Modus ponens is the name of this rule)

From [itex]A[/itex], and [itex]A \rightarrow B[/itex], conclude [itex]B[/itex].​

With this style of deduction, a proof consists of a sequence of statements such that every statement is either a substitution instance of an axiom (that is, replace each propositional variable by a full boolean expression), or follows from previous statements by modus ponens.

For example: To prove the trivial fact [itex](A \wedge B) \rightarrow A[/itex]:
  1. [itex]A \rightarrow (B \rightarrow A)[/itex] (Axiom 1)
  2. [itex](A \rightarrow (B \rightarrow A)) \rightarrow ((A \wedge B) \rightarrow A)[/itex] (Axiom 7 with [itex]C[/itex] replaced by [itex]A[/itex])
  3. [itex](A \wedge B) \rightarrow A[/itex] (By Modus Ponens from 1 and 2)
 
  • Like
Likes   Reactions: member 587159
stevendaryl said:
Well, truth tables are a perfectly good way to establish tautologies in classical propositional logic. An alternative that is useful for understanding proof theory is to establish it using axioms and rules of inference. There are lots of different ways to axiomatize propositional logic, but here's one way:

Axioms:
  1. [itex]A \rightarrow (B \rightarrow A)[/itex]
  2. [itex](A \rightarrow (B \rightarrow C)) \rightarrow ((A \rightarrow B) \rightarrow (A \rightarrow C))[/itex]
  3. [itex]A \rightarrow (A \vee B)[/itex]
  4. [itex]B \rightarrow (A \vee B)[/itex]
  5. [itex](A \rightarrow C) \rightarrow ((B \rightarrow C) \rightarrow ((A \vee B) \rightarrow C))[/itex]
  6. [itex]A \rightarrow (B \rightarrow (A \wedge B))[/itex]
  7. [itex](A \rightarrow (B \rightarrow C)) \rightarrow ((A \wedge B) \rightarrow C)[/itex]
  8. [itex]A \rightarrow (\neg A \rightarrow B)[/itex]
  9. [itex](\neg (\neg A)) \rightarrow A[/itex]
  10. [itex](A \leftrightarrow B) \rightarrow (A \rightarrow B)[/itex]
  11. [itex](A \leftrightarrow B) \rightarrow (B \rightarrow A)[/itex]
Rule of inference: (Modus ponens is the name of this rule)

From [itex]A[/itex], and [itex]A \rightarrow B[/itex], conclude [itex]B[/itex].​

With this style of deduction, a proof consists of a sequence of statements such that every statement is either a substitution instance of an axiom (that is, replace each propositional variable by a full boolean expression), or follows from previous statements by modus ponens.

For example: To prove the trivial fact [itex](A \wedge B) \rightarrow A[/itex]:
  1. [itex]A \rightarrow (B \rightarrow A)[/itex] (Axiom 1)
  2. [itex](A \rightarrow (B \rightarrow A)) \rightarrow ((A \wedge B) \rightarrow A)[/itex] (Axiom 7 with [itex]C[/itex] replaced by [itex]A[/itex])
  3. [itex](A \wedge B) \rightarrow A[/itex] (By Modus Ponens from 1 and 2)

Thanks for the answer. I think this might be more useful when you need to prove more difficult things, other than the expression I initially listed above. Truth tables can become very large when you have a large expression so I suppose that this is easier to use then (with some practise of course)