Questions: Predicate Logic for Linguistic Semantics
5 questions to test your understanding
Score: 0 / 5
Question 1 Multiple Choice
How is the sentence 'Every student passed the exam' correctly translated into predicate logic?
A∀x(student(x) ∧ passed(x))
B∀x(student(x) → passed(x))
C∃x(student(x) → passed(x))
D∃x(student(x) ∧ passed(x))
The universal quantifier uses the conditional (→): 'for every x, if x is a student, then x passed.' This restricts the claim to students without asserting anything about non-students. Option A (∀x(student(x) ∧ passed(x))) claims that everything in the domain is both a student and passed — far stronger than the original sentence. Option D correctly uses ∃ with ∧ but translates 'some student passed,' not 'every student passed.'
Question 2 Multiple Choice
A student translates 'Every dog barks' as ∀x(dog(x) ∧ barks(x)). What is wrong with this translation?
AThe universal quantifier should be replaced with an existential quantifier
BThe conjunction (∧) claims everything in the domain is a barking dog, not just dogs that bark
CThe predicate arguments are in the wrong order
DNothing is wrong — this is valid predicate logic notation for the sentence
∀x(dog(x) ∧ barks(x)) says: take any object x — it must be both a dog AND barking. If your domain includes cats, chairs, or people, the formula is immediately false because they are not dogs. The correct translation ∀x(dog(x) → barks(x)) restricts the claim: only if x is a dog does the barking requirement apply. The choice of connective (→ vs. ∧) with the universal quantifier is one of the most common and consequential errors in predicate logic translation.
Question 3 True / False
The sentence 'Every student read a book' is genuinely ambiguous — it has two different logical forms that differ in which quantifier takes wider scope.
TTrue
FFalse
Answer: True
Reading 1 (∀ wide scope): ∀x(student(x) → ∃y(book(y) ∧ read(x,y))) — each student read some (possibly different) book. Reading 2 (∃ wide scope): ∃y(book(y) ∧ ∀x(student(x) → read(x,y))) — there is one specific book that every student read. The English surface form is identical for both readings. Predicate logic makes the ambiguity precise by requiring an explicit choice of scope, which is exactly its contribution to linguistic semantics.
Question 4 True / False
The logical form of a sentence in predicate logic typically directly mirrors the word order of the original English sentence.
TTrue
FFalse
Answer: False
Natural language surface order and logical form routinely diverge. English often places quantifiers, negations, and modifiers in positions that do not directly correspond to their logical scope. For example, 'A book was read by every student' has the same two logical forms as 'Every student read a book' — the English word order changes but the underlying ambiguity is identical. Predicate logic reveals structure hidden beneath the surface, which is precisely why it is useful for semantics.
Question 5 Short Answer
Why does the universal quantifier use a conditional (→) rather than conjunction (∧) in statements like 'Every dog barks,' and what goes wrong if you use ∧ instead?
Think about your answer, then reveal below.
Model answer: The universal quantifier ranges over the entire domain, not just dogs. ∀x(dog(x) → barks(x)) correctly restricts the barking requirement: it only applies to objects that satisfy dog(x). Non-dogs satisfy the formula trivially (false → anything is true). Using ∧ instead gives ∀x(dog(x) ∧ barks(x)), which asserts that every object in the domain is simultaneously a dog and barks — including chairs, numbers, and people. This makes the formula almost certainly false in any realistic domain, far overstating the original sentence.
The conditional-vs-conjunction distinction is the heart of how universal quantification works in natural language. Linguists describe this as the universal quantifier introducing a restriction (dog) and a nuclear scope (barks): the restriction is always connected conditionally, not conjunctively. The existential quantifier works differently: ∃x(dog(x) ∧ barks(x)) correctly uses ∧ because you only need to find one x satisfying both conditions simultaneously.