Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Please post a runable and correct code. The previous answer is wrong and has errors, so I am posting again. Please also comment some explanation
Please post a runable and correct code. The previous answer is wrong and has errors, so I am posting again. Please also comment some explanation besides the code so that I can also understand the code properly.
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 ( E 1 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 algarithm. Phease enter the first term: a Flease enter the second terme x The unifiar is: X= Flease enter the first term: X Flease enter the second terme Y The unifier is: Y=X Flease enter the first term: X Flease enter the second terex 1[Y] The unifier is: X=f(g) Flease enter the first term: X Flease enter the secoond terem M(a,Y] The unifor is: x=h(a,y) Phease enter the first term. f(fIX, 1,x Flease enter the second term flf(V,U),giU,r)] The unifier is: X=V,Y=U,V=g(U,U] Flease enter the first term: f(f|X, Y, 5 ) Flease enter the second terme fif(V,U),g[U,Y]] The unifier is: Invald Please enter the first term: X Flease enter the second teren 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