Question: Explain Question 2: Programming in Prolog and Verification in Haskell (a) Indicate for the following pairs of terms whether they are unifiable or not. If

Explain Explain Question 2: Programming in Prolog and Verification in Haskell (a) Indicate

Question 2: Programming in Prolog and Verification in Haskell (a) Indicate for the following pairs of terms whether they are unifiable or not. If a pair is not unifiable, explai why this is the case. If a pair is unifiable, give a unifier. (i) isMotherOf (elisabeth, X ) and isFatherOf (phillip, charles). (ii) isMother0f (elisabeth, X ) and isMotherof (Y, harry). (iii) 2+x and 5 . (iv) smaller (X,double(X)) and smaller (double (10),Y). (v) [XY] and [a,b,c,d]. [5 marks] (b) Proof search: Explain which proof search strategy Prolog has, give its advantages and describe how it works by using the following example. Draw a proof tree for lucky (X) and indicate which paths yield solutions. rich (gareth). plumber (gareth). knows (gareth, mari). lucky (X) :- knowe(X,Y), plumber (Y). lucky (X) :- knous(Y,X), plumber (Y). lucky (X) :- rich (x). [7 marks]

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!