Jump to content

Inference Rules in Propositional Logic: Cannot figure out the proof sequence.

- - - - -

  • Please log in to reply
1 reply to this topic

#1
nightingale

nightingale

    Newbie

  • Members
  • Pip
  • 1 posts
I've been trying very hard to figure this one out. I am a first year in college. I've been studying programming for about 2 years now in Java, C++, and Python. But I have enrolled in a Discrete Mathematics in Computer Science course and I seem to have many concepts down very quickly. Despite that being said, I had so much trouble the past 2 hours figuring out how to determine the validity of this verbal argument via a proof sequence:

If John took the jewelry or Leonard lied, then a crime was committed. Timmy was not in town. If a crime was committed, then Timmy was in town. Therefore John did not take the jewelry.

**It's important to note that the book implies that this problem is to prove it is valid - therefore the question of it ACTUALLY being valid is not the issue. The issue is just to find out the steps in order to figure how it is valid.

J = John took the jewelry
L = leonard lied
C = Crime was committed
T = timmy was in town

I tried this formula:
[(J v L) -> C] ∧ T’ ∧ (C -> T) -> J’

Some issues are present because I am not too sure of some steps I would need to prove it's validity. I have done many tedious and difficult verbal arguments such as this... but this one is giving me extra trouble. I tried a process such as this:


[(J v L) -> C] ∧ T’ ∧ (C -> T) -> J’
1. J v L -> C hyp
2. T’ hyp
3. C -> T hyp
4. J v L -> T 1,3, Hypothetical syllogism
5. (J v L)’ 2,4, Modus tollens
6. J' v L' 5, De Morgan
7. J' 5, simplification

I've attempted it this way and an alternative way, but i still end up with J' v L'. I realize that simplification would not correctly apply to J' v L'. But that was as close as I could get to implying to J'. Would J' v L' -> J' be correct anyway? Because it may be J' OR L'?

#2
WingedPanther

WingedPanther

    A spammer's worst nightmare

  • Moderators
  • 16,831 posts
  • Location:Upstate, South Carolina
  • Programming Language:C, C++, PL/SQL, Delphi/Object Pascal, Pascal, Transact-SQL, Others
  • Learning:Java, C#, PHP, JavaScript, Lisp, Fortran, Haskell, Others
First issue:
[(J v L) -> C] ∧ T’ ∧ (C -> T) -> J’
should be
[ [(J v L) -> C] ∧ T’ ∧ (C -> T) ] -> J’
1. (J v L) -> C hyp
2. T' hyp
3. C -> T hyp
4. C' (2, 3, Modus Tollens)
5. (J v L)' (1, 4, Modus Tollens)
6. J' ^ L' (5, De Morgan)
7. J' (6, simplification)

Yours screwed up step 6.
Programming is a branch of mathematics.
My CodeCall Blog | My Personal Blog




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users