Printer Friendly
Dictionary, Encyclopedia and Thesaurus - The Free Dictionary
3,900,710,708 visitors served.
forum Join the Word of the Day Mailing List For webmasters
?
Dictionary/
thesaurus
Medical
dictionary
Legal
dictionary
Financial
dictionary
Acronyms
 
Idioms
Encyclopedia
Wikipedia
encyclopedia
?

occurs check

   Also found in: Wikipedia 0.01 sec.
(programming)occurs check - A feature of some implementations of unification which causes unification of a logic variable V and a structure S to fail if S contains V.

Binding a variable to a structure containing that variable results in a cyclic structure which may subsequently cause unification to loop forever. Some implementations use extra pointer comparisons to avoid this.

Most implementations of Prolog do not perform the occurs check for reasons of efficiency. Without occurs check the complexity of unification is

O(min(size(term1), size(term2)))

with occurs check it's

O(max(size(term1), size(term2)))

In theorem proving unification without the occurs check can lead to unsound inference. For example, in Prolog it is quite valid to write

X = f(X).

which will succeed, binding X to a cyclic structure. Clearly however, if f is taken to stand for a function rather than a constructor, then the above equality is only valid if f is the identity function.

Weijland calls unification without occur check, "complete unification". The reference below describes a complete unification algorithm in terms of Colmerauer's consistency algorithm.

["Semantics for Logic Programs without Occur Check", W.P. Weijland, Theoretical Computer Science 71 (1990) pp 155-174].


Want to thank TFD for its existence? Tell a friend about us, add a link to this page, add the site to iGoogle, or visit the webmaster's page for free fun content.
?Page tools
Printer friendly
Cite / link
Feedback
Mentioned in?   Encyclopedia browser?   Full browser?
No references found
 
 
 
Encyclopedia
?

Terms of Use | Privacy policy | Feedback | Advertise with Us | Copyright © 2012 Farlex, Inc.
Disclaimer
All content on this website, including dictionary, thesaurus, literature, geography, and other reference data is for informational purposes only. This information should not be considered complete, up to date, and is not intended to be used in place of a visit, consultation, or advice of a legal, medical, or any other professional.