Answer:
For question 4, the type of f 3 would be "O £ 3 :: (Int) -> (Int, Int)", since applying a single argument to a function with multiple arguments in Haskell results in a new function that takes the remaining arguments. So, applying the argument 3 to f yields a new function of type "(Int) -> (Int, Int)".
For question 5, according to the prototype, the printf function takes at least one (1) parameter.
For question 8, the answer would be "OY A", as it is possible to obtain A from the Horn clauses.
Step-by-step explanation: