Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Hello, Please stop copy pasting previous answers. They are wrong and not the correct implementation as for the inputs they show wrong outputs. I am
Hello, Please stop copy pasting previous answers. They are wrong and not the correct implementation as for the inputs they show wrong outputs. I am posting this again. If you don't know then don't answer.
Here the question asks to check unification in a particular way. I am looking for the implementation in that way. Please also show the output after you run the inputs as given on examples.
Write a program in C++ that implements the following unification algorithm. Unify(E1,E2) If ( both E1 and E2 are constant or empty ) \{ If ( E1=E2 ), then return \{\} Else return FAIL \} If ( E1 is a variable ) \{ If E1 occurs in E2, then return FAIL Else return {E2/E1} \} If ( E2 is variable ) \{ If E2 occurs in E1, then return FAIL Else return {E1/E2} \} If ( E1 or E2 is empty ), then return FAIL HE1 = first element of E1 HE2 = first element of E2 SUBS1 = unify (HE1, HE2) If (SUBS1 = FAIL) then return FAIL TE1 = apply SUBS1 to rest of E1 TE2 = apply SUBS1 to rest of E2 SUBS2 = unify (TE1,TE2) If (SUBS2 = FAIL) then return FAIL Else return composition(SUBS1, SUBS2) E1 and E2 are two terms where variables start with upper case letters and function/constant symbols start with lower case letters. You need to consider "Occur Check". Example This is an implementation of the unification algonithm. Flease enter the first term: a Flease enter the second terme x The unifier is: X=a Flease enter the first term: X Flease enter the second tenem y The unifier is: Y=X Flease enter the first term: X Flease enter the second terme I[Y] The unifise is: X=f(y) Flease enter the first term: X Flease enter the socond terme m/2,Y The unifiar is: x=h(a,) Please enter the first term: f(flX, YuX Flease enter the second terenc fff(V,U), [U,Y] The unifise is: X=V,Y=U,V=e[U,U) Flease enter the first term: f(IIX, Y,XS) Fhezse enter the second terme ff[f,U, U.g[U,F)] The unifise is: Invalid Please enter the first term: X Fhease enter the second terme fx The unifier is: there is no unifier
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started