Discrete Structures

# Lecture Notes, 15 October 2010

 Last Update: 15 October 2010 Note: or material is highlighted

### Midterm Practice

Consider this argument:

P1.  All students who pass took both exams.
P2.  All students who took both exams didn't miss class.
P3.  Some student missed class.
C .  ∴ Some student didn't pass.

FOL representation:

domain = students
Pass(x) = x passes
Exam(x) = x takes both exams
Miss(x) = x misses class

Translation into FOL:

P1.  ∀x[Pass(x) → Exam(x)]
P2.  ∀x[Exam(x) → ¬Miss(x)]
P3.  ∃xMiss(x)
C .  ∴ ∃x¬Pass(x)

• We could also have chosen domain = universe;
then would need Student(x) = x is a student.

P1 would then be: ∀x[(Student(x) ∧ Pass(x)) → Exam(x)]
P2 = ∀x[(Student(x) ∧ Exam(x)) → ¬Miss(x)]
P3 = ∃x[Student(x) ∧ Miss(x)]
C = ∃x[Student(x) ∧ ¬Pass(x)]

• But it's simpler to "factor out" the predicate Student
(because it appears in all propositions of the argument)
by letting the domain = students.

Formal proof of validity {with strategy shown in comment-braces like this}:

{Show ∃x¬Pass(x).
i.e., need to find (because "∃" is a search problem) someone who doesn't pass; call the student "c".
Can find ¬Pass(c) from P1 after UI'ing x := c, via MT, if can show ¬Exam(c).
Can show ¬Exam(c) from P2 after UI'ing x := c, via MT, if can show Miss(c).
Can show Miss(c) from P3 by EI'ing x := c.
So that's where we'll start:}

 1 ∃xMiss(x) : P3 2 Miss(c) : 1, EI 3 ∀x[Exam(x) → ¬Miss(x)] : P2 4 Exam(c) → ¬Miss(c) : 3, UI 5 ¬Exam(c) : 2,4; MT 6 ∀x[Pass(x) → Exam(x)] : P1 7 Pass(c) → Exam(c) : 6, UI 8 ¬Pass(c) : 5,7; MT 9 ∃x¬Pass(x) : 8, EG

Consider another version of the argument:

P1.  Taking both exams is a necessary condition for passing.
P2.  You'll take both exams only if you don't miss class.
P3.  You miss class.
C .  ∴ You don't pass.

Propositional-Logic Representation:

e = You take both exams
p = You pass
m = You miss class

Propositional-Logic Translation:

P1.  pe
P2.  e → ¬m
P3.  m
C .  ¬p

Formal proof of validity (2 versions):

 1 m : P3 or: p → e : P1 2 e → ¬m : P2 e → ¬m : P2 3 ¬e : 1,2; MT p → ¬m : 1,2; HS 4 p → e : P1 m : P3 5 ¬p : 4,5; MT ¬p : 3,4; MT

Truth-Table Analysis:

 P3 P1 P2 C e p m ¬m p→e e→¬m ¬p T T T F T F F T T F T T T F T F T F T F T T F F T T T T F T T F F T F F T F T F T F F F T F T T T ⇐ only row with all T premises; has T conclusion /∴ valid argument F F F T T T T

Given that we can express the argument in both propositional logic and FOL,
which should we use?

In general, use the simplest logic that enables you to prove validity,
which, in this case, would be propositional logic.

However, there are some arguments that are invalid if expressed in propositional logic
but valid if expressed in FOL;
these have to be expressed in FOL to show that they are, indeed, valid.

Here's one example (which goes back to Aristotle):

P1.  All horses are animals.
C .  ∴ Anything that is the head of a horse is the head of an animal.

In propositional logic, this would be:

P1.  p
C .  ∴ q

which is clearly invalid.

In FOL, we might have:

domain = everything in the universe
Animal(x) = x is an animal
Horse(x) = x is a horse

P1.  ∀x[Horse(x) → Animal(x)]

proof:

to show C, choose arbitrary a,b in universe