0440949 - Andreas van Cranenburgh 0418838 - Berend Alberts Legenda: & = AND, | = OR, ~ = NOT, / = exist. quant., @ = univ. quant. \= betekent ongelijk aan. Het huiswerk van Week 5 bestaat uit de volgende opgaven: 1a en 1b, 4, 19, 21 en 22. Het UNIFY algoritme van Opgave 19 staat op Bladzijde 278. 1a. In this completely anti-standard notation the universal quantor rules over the implication/equivaqlence operator. Hence with implication and equivalence the binding order is the same. 1b. 10 ~ 20 & 30 | 40 -> 50 <-> 60 @ (univ. quantor) 4. @x, y[ Sybling(x, y) <-> x \= y & /f[ Father(f, x) & Father(f, y) ] & /m[ Mother(m, x) & Mother(m, y)] ]. 19. we have an input of x = F(x), y = G(z) and an empty theta. UNIFY starts by checking if theta = failure, but theta is empty and this call fails, next UNIFY asks if x = y, again, this is not the case. Then UNIFY wants to know if x or y is a variable, this again is not true, so we move on. Then we want to know if both x and y are compounds, this is true, so UNIFY returns UNIFY(ARGS[x],ARGS[y],UNIFY(OP[x],OP[y],theta)). UNIFY(x,z,UNIFY(F,G,[])). 21. At the point of the OCCURCHECK the UNIFY algorithm will yield failure. 22a. {A/x, B/y, B/z} b. {y/G(A,B), G(A,B)/y} c. {Father(John)/Father(x), y/John} d. {Father(x)/y, x/y}