Questions: Most General Unifier (MGU)

5 questions to test your understanding

Score: 0 / 5
Question 1 Multiple Choice

Given the terms f(x, g(a)) and f(b, g(y)), what is the most general unifier (MGU)?

A{x ↦ b, y ↦ a, z ↦ c} — binding an extra free variable z to c for completeness
B{x ↦ b, y ↦ a} — binding only what is strictly required to make the terms identical
C{x ↦ a, y ↦ b} — swapping the bindings to match argument positions
DNo unifier exists because f has arguments of different structure in each term
Question 2 Multiple Choice

A student argues that for resolution-based theorem proving, any unifier will work — there is no reason to prefer the most general one. Why is using the MGU specifically important?

AThe MGU is always the most specific substitution and produces the most instantiated resolvent
BUsing the MGU keeps the resolvent as general as possible — unnecessary variable bindings in a more specific unifier restrict what subsequent inference steps can do with those variables
CThe MGU is required by Prolog syntax but has no logical significance
DMore specific unifiers are computationally harder to compute than the MGU
Question 3 True / False

The occurs check — verifying that variable x does not appear in term t before creating the binding x ↦ t — is merely an optimization that can safely be skipped in most practical theorem provers.

TTrue
FFalse
Question 4 True / False

For any two unifiable terms, the MGU is unique up to variable renaming — it is a canonical object determined by the terms themselves, not an arbitrary choice among unifiers.

TTrue
FFalse
Question 5 Short Answer

In resolution-based theorem proving, why must the MGU substitution be applied to all literals in both clauses being resolved, not just to the specific literals that were matched?

Think about your answer, then reveal below.