Go to the first, previous, next, last section, table of contents.


Term checking utilities

Author(s): The CLIP Group.

Version: 1.11#95 (2003/12/21, 18:52:2 CET)

This module implements the term checking utilities.

Usage and interface (terms_check)

Documentation on exports (terms_check)

PREDICATE: ask/2:

ask(Term1, Term2)

Term1 and Term2 unify without producing bindings for the variables of Term1. I.e., instance(Term1,Term2) holds.

PROPERTY: instance/2:

instance(Term1, Term2)

Term1 is an instance of Term2.

Usage: instance(A, B)

PREDICATE: variant/2:

variant(Term1, Term2)

Term1 and Term2 are identical up to renaming.

PREDICATE: most_general_instance/3:

most_general_instance(Term1, Term2, Term)

Term satisfies instance(Term,Term1) and instance(Term,Term2) and there is no term more general than Term (modulo variants) that satisfies it.

PREDICATE: most_specific_generalization/3:

most_specific_generalization(Term1, Term2, Term)

Term satisfies instance(Term1,Term) and instance(Term2,Term) and there is no term less general than Term (modulo variants) that satisfies it.

Other information (terms_check)

Currently, ask/2 and instance/2 are exactly the same. However, ask/2 is more general, since it is also applicable to constraint domains (although not yet implemented): for the particular case of Herbrand terms, it is just instance/2 (which is the only ask check currently implemented).


Go to the first, previous, next, last section, table of contents.