• solve returns a list of solution, denoted between brackets ; here , you get a singl solution, expressed as alist of length one. RTFM
• You attempt to use the same y symbol for two different objects : a symbolic variable and a symbolic function. Make a choice and use diferent symbols for different names.
• your second definition ofy invalidates the results obtained with the first.