Unification Example in

This page contains one of the assignments accomplished for my Artificial Intelligence class. The applet below illustrates unification algorithm for arbitrarily nested strings of the next notation:

( a b (c) (d (e)) ) - where a,b,c,d,e may represent either a string literal or a variable.

Notation (var x) is used to indicate a variable. Therefore, if "apple" in the expression
( apple Fruit ) is a literal and Fruit is a variable, then ( apple (var Fruit)) is correct in order to use it in the provided unification example.

Some predefined unification examples could be tested by selecting appropriate line from the drop-down lists. Press Set Expression fields button to copy selected example to the entry fields.

Status field provides status of the operation after you click Unify.

Substitutions field gives a correctly formed list of substitutions used in the unification:

Notation used: ( (subst 1) ... (subst N) ) - list of substitutions
( (literal) (variable) ) - each substitution

Unified expression contains expression resulting from unification, i.e. after all substitutions were applied to one of the participating expressions.

THIS APPLET WILL RUN ONLY WITH INTERNET EXPLORER 4.0.or NETSCAPE 4.04 or higher. Older versions DO NOT SUPPORT JAVA VM1.1

You can check JAVA possibilities of your browser on Sun site.

This applet will not run without Java - enabled browser

The applet was written in Java using IBM Visual Age for Java 1.0 environment.