본질적으로 λ 미적분학이란 무엇입니까?


11

나는 λ- 미적분에 관한 철학적 질문이라고 부릅니다.

λ 미적분을 탐험 할 때 거기에서 할 수있는 모든 일을보고 놀랄 것입니다. 정수, 산술 연산, 부울, if-then-else 문, 루프, 재귀 함수 등을 정의 할 수 있습니다. 계산이 완료된 것으로 확인되었습니다.

그러나 다른 한편으로, λ- 미적분의 함수로 할 수있는 일을 고려한다면, 함수를 공급하고 다른 함수를 반환하는 것이 유일한 방법이라는 것을 알고 있습니다. 그리고 그 과정은 끝나지 않습니다.

그렇다면 어떻게 계산에서 결과를 추출 할 수 있습니까?

표현식의 결과가 function이라고 가정하십시오 f. f예상 한 것이 있는지 확인하고 싶습니다 . 테스트하고 알고있는 기능을 사용하고 적용 f하여받을 수 g있습니다. 그러나 점검 g이 올바른지, 이제 무엇을 검증해야합니다 g. 그리고 당신은 모든 것을 시작합니다. 그래서 어떻게 알 수 f있습니까?

λ-calculus의 모든 함수를 단일 함수, identity function으로 대체 할 수 I = λx.x있으며 모든 것이 여전히 λ-calculus에 설명 된대로 작동합니다. 교회의 숫자 3주어 졌을 때 fx돌아갑니다 f(f(f(x))). 그러나 이후 fx에서만 할 수 있습니다 I, 그것은 반환합니다 I. I에 적용 I하고 I돌아도 I. 따라서 I의 정의를 만족합니다 3. 은 "부울" (λxy.x)하고 (λxy.y)있을 것 2 인자가 필요 I하고 I두 논리 값이 반환됩니다 그래서를 I. 정의에 따라 정확하게 동작하더라도 각각 동일합니다.

어떻게 차이를 만들어 내나요? λ 미적분이 단일 함수 이상의 것을 다루는 것을 어떻게 보여줍니까?

정체성의 개념이 있습니까? 기능을 평가하지 않고 즉시 기능을 식별 할 수 있습니까? 나는 두 함수가 동일한 지 테스트 할 수있는 방법이 없다는 것이 입증되었습니다.

아니면 λ 미적분학은 함수에 관한 것이 아니라 함수의 공식적인 설명에 관한 것입니까? 이는 λ 표현식이 함수의 기능을 정의 할뿐만 아니라 함수가 조작하는 데이터이기도 함을 의미합니다. 당신이 쓸 때 그래서 A B, 당신은 적용되지 않습니다 AB,하지만 당신은 문자열로 기술 된 기능을 적용 A함수의 공식적인 정의가에 포함 된 B다른 형식 정의를 반환.

실제로 λ 미적분학에서 무슨 일이 일어나고 있습니까? 그것이 다루는 수학적 대상은 무엇입니까?


후속 조치 :

아래 답변에서 λ- 미적분학은 수학적인 의미의 함수가 아니라 λ 식으로 표현할 수있는 함수의 하위 집합에 관한 것 같습니다. 또는 λ 표현의 조작에 대해 더 자세히 설명합니다.


2
마지막 질문을 약간 덜 의견 지향적 인 것으로 바꾸어 주시겠습니까? 이에 대한 확실한 비소 견적 답변이 있어야합니다.
Telastyn

내 교육에서 λ 미적분학은 단지 내 뇌를 다치게하기 위해 존재합니다. 나는 여전히 그 수업을 통해 어떻게 그것을했는지 잘 모르겠습니다.

답변:


9

람다 미적분학 용어의 의미 론적 동등성을 결정하는 것은 실제로 불가능합니다. 이것은 쌀 정리의 한 응용입니다. 그러나 구문 적으로 용어를 쉽게 비교할 수 있습니다. 즉, 동일한 구조를 갖는지 테스트합니다 (예 : "문자열 표현"이 동일한 경우). 이것이 실제로 결과를 얻는 데 필요한 전부입니다.

예를 들어, 자연 n = f(i)에서 자연에 이르는 함수를 계산 i하려면 람다 미적분 함수에 매개 변수로 교회 인코딩 을 제공하고 중지 할 때까지 축소 규칙을 적용하고 결과 항을 검사하십시오. 교회 숫자의 구조와 일치하면 n인코딩 하는 숫자 를 추출하십시오 . 그게 당신의 결과입니다. 결과 항이 교회 숫자처럼 보이지 않거나 축소가 멈추지 않으면이 함수는에서 정의되지 않습니다 i.

용어는 효과적으로 "코드"와 "데이터"로 이중 의무를 갖습니다. 특별한 것은 아닙니다. 튜링 머신의 테이프 (알파벳 위의 문자열)는 튜링 머신의 인코딩 또는 그 일부 측면으로 해석 될 수 있으며 종종 해석됩니다. 마찬가지로, von Neumann 머신의 메인 메모리의 비트는 프로그램의 인코딩 또는 다른 것의 인코딩 일 수 있습니다. 또는 한 번에 둘 다. "기본 원근법"만 다릅니다.


교회 숫자와 관련된 계산 결과의 표현은 항상 (λfx.f (f (fx)))와 같은 정식 형식으로 해석됩니까? 아니면 같은 숫자의 다른 동등한 표현을 얻을 수 있습니까?
Florian F

@FlorianF 저는 그러한 비정규적인 용어 (알파 당량까지)가 있다고 확신하지만, 그렇다면 프로그램을 신중하게 구성하여 피할 수 있습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.