Cálculo lambda reducción de funciones

I'm very new to lambda calculus and while I was reading a tutorial , came across with this. Here is my equation.

Y = ƛf.( ƛx.f(xx)) ( ƛx.f(xx))

Now if we apply another term, let's say F (YF), then how can we reduce this.If I'm correct according to beta reduction , we can replace all the f in ( ƛx.f(xx)) by ( ƛx.f(xx)), is this correct and if so how can we do that.

Muchas Gracias

preguntado el 04 de julio de 12 a las 03:07

1 Respuestas

Reuction steps:

Y = ƛf.( ƛx.f(xx)) ( ƛx.f(xx)) = ƛf.( f ( ƛx.f(xx) ƛx.f(xx) ) ) 
  = ƛf.( f ( f (ƛx.f(xx) ƛx.f(xx)))) 
  = ƛf.( f ( f ( f (ƛx.f(xx) ƛx.f(xx)))) 
  = ƛf.( f ( f ( f ( f (ƛx.f(xx) ƛx.f(xx))))) = ...

So this Lambda term goes into an infinite loop...

Explicación:
Let's look on the term ( ƛx.f(xx) ƛx.f(xx) ) nosotros sustituimos ƛx.f(xx) con f'
lo que significa (f' f') => activating the term f' en sí mismo.
It might be easier to look at like this:
( ƛy.f(yy) ƛx.f(xx) ) now when you activate the ƛy.f(yy) and provide the input (which substitutes y con ƛx.f(xx) ) the outcome is: f(ƛx.f(xx) ƛx.f(xx)) which in turn, can go over the same process again and again and the lambda-expression will only expend...


Observación:
It's wrong to write:
Y = ƛf.( ƛx.f(xx)) ( ƛx.f(xx)) en realidad debería ser: Y = ƛf.(ƛx.f(xx) ƛx.f(xx))
La diferencia entre los ƛx.f(xx) y (ƛx.f(xx)) is that the latter is an activation of ƛx.f(xx) - it's meaningless to activate it like this (ƛx.f(xx)) since we need an x (input) to activate it on.

Por último:
Y = ƛf.( ƛx.f(xx)) ( ƛx.f(xx)) = ƛf.( f ( ƛx.f(xx) ƛx.f(xx) ) )
significado:
YF = ( ƛx.F(xx)) ( ƛx.F(xx)) = F(ƛx.F(xx)) ( ƛx.F(xx)) = F(YF)

Respondido 04 Jul 12, 07:07

Could you please tell me the steps to follow or the techniques I may use - Pradeep

I don't get how you got ƛf.( f ( ƛx.f(xx) ƛx.f(xx) ) ) Could you please tell the theorem used - Pradeep

So if we write an activation like YF, is it equals to ( ƛx.F(xx)) ( ƛx.F(xx)) - Pradeep

( ƛx.F(xx)) is an activation of ƛx.F(xx) without parameters (which means nothing on our case cause it can be activated only on a parameter). Not sure what did you mean by YF though. - Nir Alfasi

I came across this while trying to prove that Y is a first point combinator. So my goal is to prove that if F is any term then F(YF) = YF - Pradeep

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.