Variable or compound expression - unification algorithm, Computer Engineering

Assignment Help:

Variable or compound expression - Unification algorithm:

Here some things to note regarding this method are: 

(i) There if really trying to match a constant to a different constant fails this means that they are not equal, neither is a variable or compound expression or in list also. However if we considered none of the cases in unify_internal is true to must return failure.  

(ii) In case 1 and 2 in  unify_variable(var,x,my)  check and finds neither inputs have already been substituted. However if we considered if  x  already has a substitution value and var, rather than x and var so there it does similarly if var already has a substitution. 

(iii) In case 3 we see that in  unify_variable  is called as the  occurs-check  case or occur-check. However if we considered this is important to visualize we got to the stage when to complete a unification if we required to substitute X into say, f(X,Y). However if we considered we would write  f(X,Y)  instead of X. After than this still has an  X  in it! Thus we would use to substitute  X  by  f(X,Y)  and again giving us as:  f(f(X,Y),Y)  so it  is obvious why we should never have tried this substitution in the first placeis means that this process will never end. However the occurs check makes sure this isn't going to happen before case 4 returns a substitution. But in realty the rule is:; that you cannot substitute a compound  for a variable so such variable appears in the compound already that you will never get rid of the variable. 

(iv) However if we considered unify_internal(op(x),op(y),mu)) a part of case 5 in unify_internal checks whether the operators of the two compound expressions are the same. Just because of it will return false if, considered an example where it tries to unify two predicates into different names or a  with symbol.


Related Discussions:- Variable or compound expression - unification algorithm

Contact-based keyboards, Contact-based keyboards employ switches directly. ...

Contact-based keyboards employ switches directly. Though they have a comparatively shorter life they are the most preferred type these days because of their lower cost.  Three such

What is task identifier, Q. What is task identifier? Each and every PVM...

Q. What is task identifier? Each and every PVM task is uniquely recognized by an integer known as task identifier (TID) assigned by local pvmd. Messages are received from and s

What is hit and hit rate , What is hit? A successful access to data in ...

What is hit? A successful access to data in cache memory is known as hit. Normal 0 false false false EN-IN X-NONE X-NONE

What are the static and dynamic hazards in logic circuits, If for a short p...

If for a short period of time circuits goes to some dissimilar logic level then it is assumed to have then it is known as static hazard e.g. If the final logic value of output of a

Write a program that finds the minimum total number of shelv, Write a progr...

Write a program that finds the minimum total number of shelv, C/C++ Programming

What is random access memory, What is random access memory(RAM or MAIN MEMO...

What is random access memory(RAM or MAIN MEMORY) and mention its types? The main memory in the central storage unit in a computer system. It is relatively large and fast memory

Calculate width and height of the grid, Given a cell, we must determine its...

Given a cell, we must determine its neighbouring cells i.e. those with which it shares a wall. The cells with an x are the neighbours of the cell c. Write the function getneighbour

What is micro operation, What is micro operation? A micro operation is ...

What is micro operation? A micro operation is an elementary operation performed with the data kept in registers.   1) Register transfer microoperation transfer binary inform

Determine what part of global array to work on thread number, Q. Determine ...

Q. Determine what part of global array to work on thread number? #include void subdomain(float x[ ], int istart, int ipoints) { int i; for (i = 0; i x[istart+

What are the two phases in the advancement of linux, What are the two phase...

What are the two phases in the advancement of Linux? State some Applications of Open Source Systems? Finance Educational Data Storage and Management ERP (Ent

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd