6 Fixed typos edited Feb 19 '17 at 14:25 Aristu 1,34544 gold badges99 silver badges1919 bronze badges If I am not wrong then it can be inferred that : $$f=\lambda x.(x−y)$$ means that while computing the value of the expression the expression will vary only with "x" and similarly when "lambda " is placed with x the other variable y" will be kept as a constant . Yes, intuitively that's how it works. What you're looking is called Currying and it's explained fairly early in this book (in fact, I think it's the next section but I don't have a copy now to check). So when we want to work with functions with many arguments we often do it like this: $$f(x,y,z) = x\times y + z$$ But you can break this into simpler functions, $$(x \times y)$$ and $$(+z)$$. The multiplication can be broke inbroken into even simpler terms, first I provide $$x$$, then just multiply by $$y$$, that is, $$f^{\star}(y) = x\times y$$. Defining some 1-argument functions: \begin{align*} plus_z &:= f^\prime(s) = s + z\\ times_y &:= f^\star(s) = s\times y \end{align*} Combining these we can rewrite $$f$$ as: $$f(x,y,z) = f^\prime(f^\star(x)) = plus_z (times_y ~ x)$$ Writing this in using $$\lambda$$ we have: $$\lambda x y z. (x\times y + z) \equiv \lambda x.\bigg(\lambda y. \Big(\lambda z. (x\times y + z ) \Big) \bigg)$$ What the author has shown is that you can take a function with many arguments and transform it into many simpler functions with just one argument, the bigger function is just a composition of the simpler ones. So just how the proof works? In your book the following functions are defined: \begin{align*} h^\star &= \lambda x . (\lambda y . x − y)\\ h(x,y) &= x-y \end{align*} You want to show that $$h^\star = h$$. To do that just take any two arguments $$a$$ and $$b$$. First evaluate $$h^\star$$ in $$a$$. $$h^\star(a) = (\lambda x. (\lambda y. x - y))(a) = \lambda y. a - y$$ This gives you a simpler one argument function $$h^\prime = h^\star(a)$$. How was $$(λy.a−y)(b)=a−b$$ concluded The same way $$(\lambda x. (\lambda y. x - y))(a) = \lambda y. a - y$$ was concluded. Just evaluate the function in $$b$$. $$h^\prime(b) = (h^\star(a))(b) = (\lambda y. a - y)(b) = a - b$$ Which is the same result computed by $$h(a,b) = a - b$$. If I am not wrong then it can be inferred that : $$f=\lambda x.(x−y)$$ means that while computing the value of the expression the expression will vary only with "x" and similarly when "lambda " is placed with x the other variable y" will be kept as a constant . Yes, intuitively that's how it works. What you're looking is called Currying and it's explained fairly early in this book (in fact, I think it's the next section but I don't have a copy now to check). So when we want to work with functions with many arguments we often do it like this: $$f(x,y,z) = x\times y + z$$ But you can break this into simpler functions, $$(x \times y)$$ and $$(+z)$$. The multiplication can be broke in even simpler terms, first I provide $$x$$, then just multiply by $$y$$, that is, $$f^{\star}(y) = x\times y$$. Writing this in using $$\lambda$$ we have: $$\lambda x y z. (x\times y + z) \equiv \lambda x.\bigg(\lambda y. \Big(\lambda z. (x\times y + z ) \Big) \bigg)$$ What the author has shown is that you can take a function with many arguments and transform it into many simpler functions with just one argument, the bigger function is just a composition of the simpler ones. So just how the proof works? In your book the following functions are defined: \begin{align*} h^\star &= \lambda x . (\lambda y . x − y)\\ h(x,y) &= x-y \end{align*} You want to show that $$h^\star = h$$. To do that just take any two arguments $$a$$ and $$b$$. First evaluate $$a$$. $$h^\star(a) = (\lambda x. (\lambda y. x - y))(a) = \lambda y. a - y$$ This gives you a simpler one argument function $$h^\prime = h^\star(a)$$. How was $$(λy.a−y)(b)=a−b$$ concluded The same way $$(\lambda x. (\lambda y. x - y))(a) = \lambda y. a - y$$ was concluded. Just evaluate the function in $$b$$. $$h^\prime(b) = (h^\star(a))(b) = (\lambda y. a - y)(b) = a - b$$ Which is the same result computed by $$h(a,b) = a - b$$. If I am not wrong then it can be inferred that : $$f=\lambda x.(x−y)$$ means that while computing the value of the expression the expression will vary only with "x" and similarly when "lambda " is placed with x the other variable y" will be kept as a constant . Yes, intuitively that's how it works. What you're looking is called Currying and it's explained fairly early in this book (in fact, I think it's the next section but I don't have a copy now to check). So when we want to work with functions with many arguments we often do it like this: $$f(x,y,z) = x\times y + z$$ But you can break this into simpler functions, $$(x \times y)$$ and $$(+z)$$. The multiplication can be broken into even simpler terms, first I provide $$x$$, then just multiply by $$y$$, that is, $$f^{\star}(y) = x\times y$$. Defining some 1-argument functions: \begin{align*} plus_z &:= f^\prime(s) = s + z\\ times_y &:= f^\star(s) = s\times y \end{align*} Combining these we can rewrite $$f$$ as: $$f(x,y,z) = f^\prime(f^\star(x)) = plus_z (times_y ~ x)$$ Writing this in using $$\lambda$$ we have: $$\lambda x y z. (x\times y + z) \equiv \lambda x.\bigg(\lambda y. \Big(\lambda z. (x\times y + z ) \Big) \bigg)$$ What the author has shown is that you can take a function with many arguments and transform it into many simpler functions with just one argument, the bigger function is just a composition of the simpler ones. So just how the proof works? In your book the following functions are defined: \begin{align*} h^\star &= \lambda x . (\lambda y . x − y)\\ h(x,y) &= x-y \end{align*} You want to show that $$h^\star = h$$. To do that just take any two arguments $$a$$ and $$b$$. First evaluate $$h^\star$$ in $$a$$. $$h^\star(a) = (\lambda x. (\lambda y. x - y))(a) = \lambda y. a - y$$ This gives you a simpler one argument function $$h^\prime = h^\star(a)$$. How was $$(λy.a−y)(b)=a−b$$ concluded The same way $$(\lambda x. (\lambda y. x - y))(a) = \lambda y. a - y$$ was concluded. Just evaluate the function in $$b$$. $$h^\prime(b) = (h^\star(a))(b) = (\lambda y. a - y)(b) = a - b$$ Which is the same result computed by $$h(a,b) = a - b$$. 5 added 164 characters in body edited Feb 18 '17 at 19:35 Aristu 1,34544 gold badges99 silver badges1919 bronze badges If I am not wrong then it can be inferred that : $$f=\lambda x.(x−y)$$ means that while computing the value of the expression the expression will vary only with "x" and similarly when "lambda " is placed with x the other variable y" will be kept as a constant . Yes, intuitively that's how it works. What you're looking is called Currying and it's explained fairly early in this book (in fact, I think it's the next section but I don't have a copy now to check). So when we want to work with functions with many arguments we often do it like this: $$f(x,y,z) = x\times y + z$$ But you can break this into simpler functions, $$(x \times y)$$ and $$(+z)$$. The multiplication can be broke in even simpler terms, first I provide $$x$$, then just multiply by $$y$$, that is, $$f^{\star}(y) = x\times y$$. Writing this in using $$\lambda$$ we have: $$\lambda x y z. (x\times y + z) \equiv \lambda x.\bigg(\lambda y. \Big(\lambda z. (x\times y + z ) \Big) \bigg)$$ What the author has shown is that you can take a function with many arguments and transform it into many simpler functions with just one argument, the bigger function is just a composition of the simpler ones. So just how the proof works? In your book the following functions are defined: $$h^\star = \lambda x . (\lambda y . x − y)$$ $$h(x,y) = x-y$$\begin{align*} h^\star &= \lambda x . (\lambda y . x − y)\\ h(x,y) &= x-y \end{align*} You want to show that $$h^\star = h$$. To do that just take any two arguments $$a$$ and $$b$$. First evaluate $$a$$. $$h^\star(a) = (\lambda x. (\lambda y. x - y))(a) = \lambda y. a - y$$ This gives you a simpler one argument function $$h^\prime = h^\star(a)$$. Now How was $$(λy.a−y)(b)=a−b$$ concluded The same way $$(\lambda x. (\lambda y. x - y))(a) = \lambda y. a - y$$ was concluded. Just evaluate thatthe function onin $$b$$.  $$h^\prime(b) = (h^\star(a))(b) = (\lambda y. a - y)(b) = a - b$$ Which is the same result computed by $$h(a,b) = a - b$$. If I am not wrong then it can be inferred that : $$f=\lambda x.(x−y)$$ means that while computing the value of the expression the expression will vary only with "x" and similarly when "lambda " is placed with x the other variable y" will be kept as a constant . Yes, intuitively that's how it works. What you're looking is called Currying and it's explained fairly early in this book (in fact, I think it's the next section but I don't have a copy now to check). So when we want to work with functions with many arguments we often do it like this: $$f(x,y,z) = x\times y + z$$ But you can break this into simpler functions, $$(x \times y)$$ and $$(+z)$$. The multiplication can be broke in even simpler terms, first I provide $$x$$, then just multiply by $$y$$, that is, $$f^{\star}(y) = x\times y$$. Writing this in using $$\lambda$$ we have: $$\lambda x y z. (x\times y + z) \equiv \lambda x.\bigg(\lambda y. \Big(\lambda z. (x\times y + z ) \Big) \bigg)$$ What the author has shown is that you can take a function with many arguments and transform it into many simpler functions with just one argument, the bigger function is just a composition of the simpler ones. So just how the proof works? In your book the following functions are defined: $$h^\star = \lambda x . (\lambda y . x − y)$$ $$h(x,y) = x-y$$ You want to show that $$h^\star = h$$. To do that just take any two arguments $$a$$ and $$b$$. First evaluate $$a$$. $$h^\star(a) = (\lambda x. (\lambda y. x - y))(a) = \lambda y. a - y$$ This gives you a simpler one argument function $$h^\prime = h^\star(a)$$. Now evaluate that function on $$b$$. $$h^\prime(b) = (h^\star(a))(b) = (\lambda y. a - y)(b) = a - b$$ Which is the same result computed by $$h(a,b) = a - b$$. If I am not wrong then it can be inferred that : $$f=\lambda x.(x−y)$$ means that while computing the value of the expression the expression will vary only with "x" and similarly when "lambda " is placed with x the other variable y" will be kept as a constant . Yes, intuitively that's how it works. What you're looking is called Currying and it's explained fairly early in this book (in fact, I think it's the next section but I don't have a copy now to check). So when we want to work with functions with many arguments we often do it like this: $$f(x,y,z) = x\times y + z$$ But you can break this into simpler functions, $$(x \times y)$$ and $$(+z)$$. The multiplication can be broke in even simpler terms, first I provide $$x$$, then just multiply by $$y$$, that is, $$f^{\star}(y) = x\times y$$. Writing this in using $$\lambda$$ we have: $$\lambda x y z. (x\times y + z) \equiv \lambda x.\bigg(\lambda y. \Big(\lambda z. (x\times y + z ) \Big) \bigg)$$ What the author has shown is that you can take a function with many arguments and transform it into many simpler functions with just one argument, the bigger function is just a composition of the simpler ones. So just how the proof works? In your book the following functions are defined: \begin{align*} h^\star &= \lambda x . (\lambda y . x − y)\\ h(x,y) &= x-y \end{align*} You want to show that $$h^\star = h$$. To do that just take any two arguments $$a$$ and $$b$$. First evaluate $$a$$. $$h^\star(a) = (\lambda x. (\lambda y. x - y))(a) = \lambda y. a - y$$ This gives you a simpler one argument function $$h^\prime = h^\star(a)$$. How was $$(λy.a−y)(b)=a−b$$ concluded The same way $$(\lambda x. (\lambda y. x - y))(a) = \lambda y. a - y$$ was concluded. Just evaluate the function in $$b$$.  $$h^\prime(b) = (h^\star(a))(b) = (\lambda y. a - y)(b) = a - b$$ Which is the same result computed by $$h(a,b) = a - b$$. 4 added 71 characters in body edited Feb 18 '17 at 19:05 Aristu 1,34544 gold badges99 silver badges1919 bronze badges If I am not wrong then it can be inferred that : $$f=\lambda x.(x−y)$$ means that while computing the value of the expression the expression will vary only with "x" and similarly when "lambda " is placed with x the other variable y" will be kept as a constant . Yes, intuitively that's how it works. What you're looking is called Currying and it's explained fairly early in this book (in fact, I think it's the next section but I don't have a copy now to check). So when we want to work with functions with many arguments we often do it like this: $$f(x,y,z) = x\times y + z$$ But you can break this into simpler functions, $$(x \times y)$$ and $$(+z)$$. The multiplication can be broke in even simpler terms, first I provide $$x$$, then just multiply by $$y$$, that is, $$f^{\star}(y) = x\times y$$. Writing this in using $$\lambda$$ we have: $$\lambda x y z. (x\times y + z) \equiv \lambda x.\bigg(\lambda y. \Big(\lambda z. (x\times y + z ) \Big) \bigg)$$ What the author has shown is that you can take a function with many arguments and transform it into many simpler functions with just one argument, the bigger function is just a composition of the simpler ones. So just how the proof works? In your book the following functions are defined: $$h^\star = \lambda x . (\lambda y . x − y)$$ $$h(x,y) = x-y$$ You want to show that $$h^\star = h$$. To do that just take any two arguments $$a$$ and $$b$$. First evaluate $$a$$. $$h^\star(a) = (\lambda x. (\lambda y. x - y))(a) = \lambda y. a - y$$ This gives you a simpler one argument function $$h^\prime = h^\star(a)$$. Now evaluate that function on $$b$$. $$h^\prime(b) = (h^\star(a))(b) = (\lambda y. a - y)(b) = a - b$$ Which is the same result computed by $$h(a,b) = a - b$$. If I am not wrong then it can be inferred that : $$f=\lambda x.(x−y)$$ means that while computing the value of the expression the expression will vary only with "x" and similarly when "lambda " is placed with x the other variable y" will be kept as a constant . Yes, intuitively that's how it works. What you're looking is called Currying and it's explained fairly early in this book (in fact, I think it's the next section but I don't have a copy now to check). So when we want to work with functions with many arguments we often do it like this: $$f(x,y,z) = x\times y + z$$ But you can break this into simpler functions, $$(x \times y)$$ and $$(+z)$$. The multiplication can be broke in even simpler terms, first I provide $$x$$, then just multiply by $$y$$, that is, $$f^{\star}(y) = x\times y$$. Writing this in using $$\lambda$$ we have: $$\lambda x y z. (x\times y + z) \equiv \lambda x.\bigg(\lambda y. \Big(\lambda z. (x\times y + z ) \Big) \bigg)$$ What the author has shown is that you can take a function with many arguments and transform it into many simpler functions with just one argument, the bigger function is just a composition of the simpler ones. If I am not wrong then it can be inferred that : $$f=\lambda x.(x−y)$$ means that while computing the value of the expression the expression will vary only with "x" and similarly when "lambda " is placed with x the other variable y" will be kept as a constant . Yes, intuitively that's how it works. What you're looking is called Currying and it's explained fairly early in this book (in fact, I think it's the next section but I don't have a copy now to check). So when we want to work with functions with many arguments we often do it like this: $$f(x,y,z) = x\times y + z$$ But you can break this into simpler functions, $$(x \times y)$$ and $$(+z)$$. The multiplication can be broke in even simpler terms, first I provide $$x$$, then just multiply by $$y$$, that is, $$f^{\star}(y) = x\times y$$. Writing this in using $$\lambda$$ we have: $$\lambda x y z. (x\times y + z) \equiv \lambda x.\bigg(\lambda y. \Big(\lambda z. (x\times y + z ) \Big) \bigg)$$ What the author has shown is that you can take a function with many arguments and transform it into many simpler functions with just one argument, the bigger function is just a composition of the simpler ones. So just how the proof works? In your book the following functions are defined: $$h^\star = \lambda x . (\lambda y . x − y)$$ $$h(x,y) = x-y$$ You want to show that $$h^\star = h$$. To do that just take any two arguments $$a$$ and $$b$$. First evaluate $$a$$. $$h^\star(a) = (\lambda x. (\lambda y. x - y))(a) = \lambda y. a - y$$ This gives you a simpler one argument function $$h^\prime = h^\star(a)$$. Now evaluate that function on $$b$$. $$h^\prime(b) = (h^\star(a))(b) = (\lambda y. a - y)(b) = a - b$$ Which is the same result computed by $$h(a,b) = a - b$$. 3 added 71 characters in body edited Feb 18 '17 at 18:59 Aristu 1,34544 gold badges99 silver badges1919 bronze badges 2 added 71 characters in body edited Feb 18 '17 at 18:58 Aristu 1,34544 gold badges99 silver badges1919 bronze badges 1 answered Feb 18 '17 at 18:50 Aristu 1,34544 gold badges99 silver badges1919 bronze badges