Se me presenta la siguiente donde:
TRUE = λxy.x
FALSE = λxy.y
IF = λbtf. b t f
OR = λxy. IF x TRUE y
y estoy tratando de evaluar:
OR FALSE TRUE
el uso de Beta reducción. Desde la beta es la reducción de la izquierda asociativa, comencé desde la izquierda, pero estoy teniendo dificultades con la O, donde no contiene en SI y la VERDAD en la expresión. Así que he intentado:
OR FALSE TRUE
(λxy. IF x TRUE y) (λxy.y) (λxy.x)
(λxy. (λbtf. b t f) x (λxy.x) y) (λxy.y) (λxy.x) #i substituted btf with x here but I'm not fully sure if it's valid
(λxy. x (λxy.x) y) (λxy.y) (λxy.x)
(λxy. x x) (λxy.y) (λxy.x)
(λxy.y) (λxy.y) (λxy.x)
(y) (λxy.x)
Pero estoy bastante seguro de que he metido la pata en alguna parte a lo largo de la manera como la evaluación de la O fue bastante confuso. No estoy seguro de si me la beta reducido correctamente así que agradecería un poco de ayuda en esto.
Me dio otra oportunidad así que aquí está lo que hice:
OR FALSE TRUE
(λxy. IF x TRUE y) FALSE TRUE
IF FALSE TRUE FALSE TRUE
(λbtf. btf) FALSE TRUE FALSE TRUE
FALSE TRUE FALSE TRUE
(λxy.y) TRUE FALSE TRUE
(λx.TRUE) FALSE TRUE
TRUE TRUE
(λxy.x) TRUE
λy.TRUE
De nuevo estoy todavía no se sabe si es correcta esta forma. Un poco de ayuda necesaria.