Evaluate:
((((lambda (x) (lambda (y) (lambda (x) (+ x y)))) 3) 4) 5)
This is what I did:
-evaluate ((((lambda (x) (lambda (y) (lambda (x) (+ x y)))) 3) 4) 5)
-evaluate 5 -> 5
-evaluate (((lambda (x) (lambda (y) (lambda (x) (+ x y)))) 3) 4) -evaluate 4 -> 4
-evaluate ((lambda (x) (lambda (y) (lambda (x) (+ x y)))) 3)
-evaluate 3 -> 3
-(lambda (x) (lambda (y) (lambda (x) (+ x y)))) -> (lambda (x) (lambda (y) (lambda (x) (+ x y))))
-apply (lambda (x) (lambda (y) (lambda (x) (+ x y)))) to 3
-substitute 3 -> x in (lambda (y) (lambda (x) (+ x y))
-(lambda (y) (lambda (x) (+ 3 y))
-evaluate (lambda (y) (lambda (x) (+ 3 y)) -> (lambda (y) (lambda (x) (+ 3 y))
-apply (lambda (y) (lambda (x) (+ 3 y)) to 4
-subsitute 4 -> y in (lambda (y) (lambda (x) (+ 3 y))
(lambda (y) (+ 3 4))
-evaluate (lambda (y) (+ 3 4)) -> (lambda (y) (7))
-subsitute 5 ->
And then I'm stuck.