2015-01-12 10 views
0
나는 다음 두 람다 식의 B-감소에 몇 가지 문제가 있어요

는, 누군가를 해결하는 방법을 나에게 조금 설명 할 수 :람다 미적분 감소 설명

(λ f . λ x . f (f x)) 
(λ x . x (λ x . λ y . x)) 

답변

0

그래서, 람다 계산법이있다 프로그래밍에서 매개 변수를 사용하는 것과 비슷합니다. 람다는 함수를 표시하고 이름은 매개 변수 이름과 전달 대상을 표시합니다. 나머지는 코드에 대한 입력입니다.

따라서 첫 번째 예를 사용하여, (.. λ의 F λ X F (FX))

(FX)는

λ의 F는 F의 기능 생각되는 입력된다 매개 변수 이름으로

f는 어떻게 적용되는지입니다.

지금은 λ x는 무시할 수 있습니다.

그래서 첫 번째 감소는 (f x)를 취하고, f에 대한 매개 변수임을 인식 한 다음 두 번째 f에 적용 할 f 함수에 전달합니다. 그래서 첫 번째 단계 이후에, 그것은

과 같이 보일 것이다 (λ f를을. λ X. F (FX))

(FX)를 전달

((FX F). λ X. F)

(FX)를 함수에 적용되는

λ x. f x

할 일이 한 가지 더 있지만 수행하도록하겠습니다.

또한 괄호가없는 경우 입력을 두 가지 다른 값으로 처리하십시오. 이 녀석은 설명하는 데 정말로 도움이됩니다. https://www.youtube.com/watch?v=S_WzF6BHadc 그는 강의 시리즈를 가지고 있습니다.

+0

잘 모르겠지만 마지막 단계는 매개 변수처럼 x를 적용하는 것이므로 최종 결과는 f라고 생각합니다. – helloStack

+0

그리고 다음은 (λ x. x (λ x. λ y. x))에서 (λ x. λ y. x)로 줄일 수 있습니다. 매개 변수는 마지막 표현식에 있습니다. – helloStack

+0

그래, 그게 내가 가진거야. 누군가가 확인할 수 있다면 그것은 환상적 일 것입니다. –