Recursion problem involving head, tail and xor
Hints:


g1(0) = [0] so you can see that f1 for [0] returns [1] and for [1] returns [0]. From here g1 must be clear.
f2 takes a bit and a list of one element and returns a bit so it is one of the boolean functions of 2 variables (they are only 16)
after you know that g2(0) = 0 and the above hints it is easier to calculate g2


I can propose you to post your answer or I will update my answer after some time to be sure that it was not for homework.