What is the occurs check in unification?
Answer: A
Binding a variable to a term containing that same variable would create an infinite term, so the check rejects it, and omitting it makes the procedure unsound though faster. Many Prolog implementations omit it by default for that reason. Symbol occurrence, linearity and frequency are different notions. A soundness check omitted for speed, with the unsoundness considered acceptable in practice, is an engineering compromise worth knowing about explicitly.
Please log in or register to report this question.