튜링 완성형 람다 미적분학이 있습니까?


답변:


37

물론이지. 많은 유형의 람다 미적분학 은 설계 상 강력하게 정규화 된 항만 받아들이 므로 임의 계산을 표현할 수 없습니다. 그러나 타입 시스템은 원하는 것이 될 수 있습니다. 충분히 넓게 만들고 모든 결정 론적 계산을 표현할 수 있습니다.

람다 미적분의 Turing-complete 조각을 포함하는 사소한 유형 시스템은 모든 유형을 잘 입력 된 유형 ( 상단 유형 ) 으로 받아들이는 시스템 입니다.

Γ⊢M:⊤

보다 실질적으로, 정적으로 유형화 된 함수형 프로그래밍 언어는 그 중심에 유형이 지정된 람다 미적분을 가지고있어 수정 점 조합기 를 잘 유형화 할 수 있습니다. 예를 들어, 간단하게 입력 된 람다 미적분 (또는 ML 유형 시스템 또는 시스템 F 또는 선택한 다른 유형 시스템)으로 시작하여 와 같은 고정 소수점 조합을 만드는 규칙을 추가하십시오 잘 입력되었습니다. 위에 제시된 규칙은 다음과 같은 용어를 만들기 때문에 다소 어색합니다.Y=λf.(λx.f(xx))(λx.f(xx))

Γ⊢f:T→TΓ⊢Yf:TΓ⊢f:T→TΓ⊢(λx.f(xx))(λx.f(xx)):T
Yf 구성 요소의 형식이 잘못되었지만 형식이 정교하지는 않습니다. 간단한 수정 사항은 언어 상수로 수정 ​​점 결합자를 추가하고 델타 규칙을 제공하는 것입니다. 그러면 형식 보존을 가진 형식 시스템과 축소 의미 체계를 갖는 것이 간단한 문제 입니다. 순수한 람다 미적분에서 상수를 가진 람다 미적분의 영역으로 빠져 나옵니다.
Γ⊢fix:(T→T)→Tfixf→f(fixf)

순수한 람다 미적분을 고수하는 흥미로운 유형 시스템은 교차로 유형을 가진 람다 미적분학입니다.

Γ⊢M:T1Γ⊢M:T2Γ⊢M:T1∧T2(∧I)Γ⊢M:⊤(⊤I)

교차점 유형에는 정규화와 관련하여 흥미로운 속성이 있습니다.

  • 람다 용어 는 강력하게 정규화되는 경우 규칙 을 사용하지 않고 입력 할 수 있습니다 .⊤I
  • 람다 용어는 포함하지 않는 유형을 허용합니다 .⊤

교차로 유형에 왜 이렇게 넓은 범위가 있는지에 대한 통찰력을 얻으려면 통합 유형 이있는 람다 용어 특성화를 참조하십시오 .

따라서 튜링 완료 언어를 정의하는 유형 시스템 (모든 용어가 올바르게 입력되었으므로)과 종료 계산의 간단한 특성이 있습니다. 물론,이 타입 시스템은 정규화를 특징 짓기 때문에 결정될 수 없습니다.

규칙 이름 및 : 공식적인 의미는 없지만 의도적으로 선택됩니다. 이러한 도입 규칙이기 때문에, "소개"의 약자 - 그들은 기호 (소개 또는 선 아래의 형식으로). 이중으로, 기호가 선 위에 있지만 아래에 나타나지 않으면 제거 규칙이 있습니다. 예를 들어, 단순 유형의 람다 미적분학에서 람다 식의 유형 검사 규칙은 대한 도입 규칙 이고 응용 프로그램의 유형 검사 규칙은 대한 제거 규칙입니다 . (⊤I)(∧I)I∧⊤→→

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.