I know that application is left associative and abstraction is right associative. Also functions are given preference but I came across some questions which already had "some" parenthesis present in the expression. Do these parenthesis cause any difference in the way the expressions should be calculated? Also what does parenthesis before the first expression means?
I am having confusion in deciding between these -
(lambda x. xy)(lambda y. xy)z --- should I start evaluating from left or right in such a case of e1.e2.z ? I will do substitution which is fine but should I replace x of lambda x first or y of lambda y first?
(((λx.λy.λz.((xy)z)(λu.λv.u))A)B) --- in such a case, I am getting confused by the parentheses. Where should I start evaluating from? Which bracket to open first? Should I calculate from inside out or outside in?