논리에서“바운드 변수”를 제거하는 Schönfinkel의 작업이 중요한 이유는 무엇입니까?


15

AFAIK, 고차 함수 사용에 대한 첫 번째 증거는 Schönfinkel의 1924 년 논문 인 "수학적 논리의 빌딩 블록에 관한 것"으로 되돌아갑니다.

흥미로운 것 같습니다. 그러나 그의 작업 (및 Curry의 확장 기능)에 대해 읽은 모든 것은 어떤 형태 또는 다른 형태로 한 가지를 암시하는 것처럼 보입니다. [고차 함수] ... 이것은 바운드 변수의 필요성을 제거합니다 ...

내가 머리를 감쌀 수 없었던 것은 큰 문제는 무엇입니까? 당시의 논리 학자와 수학자들이 왜 이것에 관심을 보였습니까? 그리고 우리는 이론가로서 오늘 이것을 걱정합니까? 바운드 변수를 제거하는 것이 왜 "획기적인"이유였으며 우리가 알고있는 것처럼 컴퓨팅 (이론적으로)에 미치는 영향은 무엇입니까?

추신 : 나는 그의 작품이 어떻게 -calculus를 위한 길을 닦았 는지, 그리고 일반적으로 컴퓨팅과 기능 프로그래밍에 대한 "it"의 영향을 알고 있습니다. 나의 질문은 주로 " -calculus"와 "after"Schönfinkel의 논문의 "사전"에 관한 것이다 . 커리가 독립적으로 작업 라인을 선택했다는 사실은 나중에 "조합 논리"라고도 알려진 fin 핀켈의 작업의 중요성을 암시합니다.λλλ


2
ö 핀켈의 논문은 여기 에서 찾을 수 있습니다 .
Martin Berger

답변:


17

TL; DR. 바인딩의 메타 수학은 미묘합니다 . 그것들은 사소한 것처럼 보이지만 (더 높은 순서의) 논리를 다루 든 whether- 미적분이든 다루지 않습니다. 그들은 너무 미묘하여 구속력있는 표현이 몇 년 전 경쟁 ( POPmark 과제 ) 과 함께 열린 연구 분야를 형성합니다 . 구속력있는 접근 방식의 복잡성에 대한 현장 사람들의 농담 도 있습니다 .

따라서 메타 수학에 관심이 있고 대부분의 수학자는 그렇지 않은 경우 바인딩을 처리해야합니다. 그러나 많은 수학자들은 바인딩의 형식화를 마치 "기초"문제인 것처럼 안전하게 취급 할 수 있습니다.

또 다른 요점은 바인딩이있는 언어의 이론은 대수 (상수의 경우) + 바인딩이기 때문에 고차 함수를 가진 언어에서는 바인딩이 유일한 "새로운"문제라는 점입니다. Mitchell의 "프로그래밍 언어의 기초"는 실제로이 순서대로 물건을 제시하며 오히려 깨달았습니다.

나는 그의 연구가 어떻게 λ- 미적분학을위한 길을 닦았는지, 그리고 그것이 일반적인 컴퓨팅 및 기능적 프로그래밍에 미치는 영향에 대해 알고 있습니다. 나의 질문은 주로 λ- 미적분학의 창조와 "후"Schönfinkel의 논문에 "사전"시간에 관한 것이다.

나는 뭔가를 놓치고 있어야하지만이 발언은 아무런 차이가없는 것 같습니다. 고차 논리에 바인딩하고 λ- 미적분에 바인딩은 사람들이 고차 논리에 관심이있는 한 바인딩을 다루어야하는 것처럼 어렵게 보입니다. 나는 유형 이론 (유형은 수식이고 프로그램은 증거 용어 임)을 간단히 구현하여 논리를 구현하는 Curry-Howard-isomorphism-based theorem provers를 사용하여 편향되어 있으므로 한 번만 바인딩을 처리합니다.

다른 한편으로 IIRC는 당시 Schönfinkel의 연구에 일부 관심을 보였으며 (부분적으로는 출판하지 않은 방식으로 인해) 논문은 주로 자신이 수행 한 연구를 바탕으로 동료가 작성했습니다 ( 4 페이지 여기 참조). ; 그런 다음 카레는 이론을 독립적으로 재발견했다.

주의 사항 : 저는 역사가는 아니지만 PL의 박사 과정 학생이므로이 주제에 대한 현대적이고 희망적인 관점입니다.

편집하다:

조금 더 구체적으로 미묘한 바인딩이 필요한 이유

여기에는 두 가지 측면이 있습니다. 먼저 구현하기가 어렵습니다. 둘째, 메타 수학은 증거 조작의 수학입니다.이 조작은 일반적으로 자동입니다. 즉 알고리즘입니다 . 따라서 본질적으로 구현의 모든 어려움에 직면하고 이에 대한 증거를 제시합니다. 아래에는 예가 나와 있습니다. 예제는 현대적인 관점을 가지고 있습니다. 실제로 공식화 된 증명에 관한 것입니다. 그러나 세부 사항을 부정하지 않는 한 일부 어려움은 정확한 수동 교정으로 확장됩니다.

이것은 Schönfinkel이 단순히이 문제에 대한 첫 번째 해결책을 제시했음을 보여 주지만 이것은 결정적인 것은 아닙니다.

그림자로 인해 미묘한 구현

(λ에프.에프 1+에프 2)(λ엑스.엑스)(λ엑스.엑스) 1+(λ엑스.엑스) 2(λ에프엑스.에프(에프엑스)) (λ와이. 와이) (λ와이. 와이) (λ와이. 와이) (λ와이.(λ와이. 와이) 와이)  

λ엑스와이.엑스와이λ와이.와이λ와이'.와이

더 나쁜 것은 순진한 알고리즘에 대한 반례가 이미 문제를 알고있을 때 구성하기 어렵다는 것입니다. 거의 정확한 알고리즘의 버그는 종종 수년간 탐지되지 않은 채로 있습니다. 나는 좋은 학생들조차도 일반적으로 캡처 방지를 대체하는 올바른 정의를 제시하지 못한다고 들었습니다. 실제로 박사 과정 학생 (포함)과 교수는이 문제에서 면제되지 않습니다.

벤자민 피어스의 프로그래밍 언어, 유형 및 프로그래밍 언어 에 대한 최고의 교과서 중 하나를 포함하여 일부가 이름없는 표현 (권장 된 논리가 아니라 deBrujin 색인)을 권장하는 이유 중 하나입니다 .

그것에 대한 증거는 미묘합니다.

바인딩에 대한 증거는 위에서 언급 한 것처럼 구현보다 간단하지 않습니다. 물론 올바른 알고리즘이 존재하고 그에 대한 증거가 존재하지만 고급 기계가없는 경우 바인딩을 사용하는 각 언어에 대해 증명을 반복해야하며 펜과 종이에 바인딩 정의를 사용하면 이러한 증명은 매우 크고 성가시다 .

다음으로, "표준 정의를 공식화하려고하면 무엇이 잘못되는지"에 대한 최상의 예를 찾아 보았습니다. Russell O'Connor (이 사이트에있는)는 Coq (위에서 언급 한 종류의 정리 증명 자)에서 첫 번째 고델의 불완전 성 정리를 공식화했습니다. 숫자로 코딩 된 첫 번째 논리). 그는 종이에 사용 된 정의를 사용하여 직접 형식화했습니다. "대체"또는 "변수"를 검색하고 노출을 얻기 위해 문제와 관련하여 나타나는 빈도를 세십시오. http://r6.ca/Goedel/goedel1.html

나는 그 정의를 결코 내 작업에 사용하지 않지만, 각각의 대체 접근법에는 단점이 있습니다.


Curry-Howard-isomorphism-based theorem provers를 사용하여 편견이 생겨서 한 번만 바인딩을 처리 합니다. 무슨 의미인지 자세히 설명해 주시겠습니까?
PhD

3
당신은 그것이 미묘하다고 말하지만 정확히 무엇이 그렇게하는지, 그리고 만약 당신이 metamathetician이라면 왜 그것에 대해 신경 쓰는지를 말하지 않습니까? 그것이 내가 찾는 관점입니다.
PhD

첫 번째 의견에서 : Curry-Howard와의 연결을 명시 적으로 만들었지 만 Wikipedia 또는 다른 질문을 참조해야합니다. 두 번째 의견에 동의합니다. 람다 미적분에 익숙하지 않은 사람들을 위해 자세히 설명하겠습니다.
Blaisorblade

@ 박사 : 나는 내가 추가 한 것이이 자료에 대한 좋은 강의를 대체하지는 않지만 조금 도움이되기를 바랍니다 (불행히도, 내가 잘라낸 자료는 일반적으로 다른 많은 PPL 관련 자료에 배포됩니다).
Blaisorblade

1
엄청 고마워! 정말 도움이되었습니다. 이 링크는 당신도 관심을 수 home.uchicago.edu/~wwtx/Varfreelogic_revised.pdf - 첫 번째 순서 논리를 바인딩 변수없이.
PhD
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.