Y 콤비 네이터는 "Lambda calculus inconsistency"를 어떻게 예시합니까?


44

Fixed Point Combinators에 대한 Wikipedia 페이지 에서 다소 신비한 텍스트가 작성되었습니다.

Y 조합기는 Lambda 미적분을 일관성이 없게 만드는 예입니다. 따라서 의심으로 간주해야합니다. 그러나 수학 논리로만 정의 된 경우 Y 결합기를 고려하는 것이 안전합니다.

일종의 스파이 소설을 시작 했습니까? 세계에서 -calculus가 "일관되지 않음" 이고 "의심으로 간주 되어야 " 한다는 진술은 무엇을 의미 합니까?λ


3
FWIW 에서이 단락은 2014 년 1 월 이후 거의 전체 기사를 다시 작성하면서 소개 된 위키 백과 기사에 실 렸습니다 .
Ilmari Karonen

답변:


51

실제 사건에서 영감을 얻었지만, 언급 된 방식은 거의 인식 할 수 없으며“의심으로 간주되어야한다”는 말도 안됩니다.

일관성 은 논리에서 정확한 의미를 갖습니다. 일관성있는 이론은 모든 진술이 입증 될 수없는 것입니다. 고전적인 논리에서 이것은 모순이없는 것과 같다. 즉, 이론이와 그것의 부정모두를 입증하는 진술가있는 경우에만 이론이 일치하지 않는다.A ¬ AAA¬A

람다 미적분과 관련하여 이것이 무엇을 의미합니까? 아무것도. 람다 미적분학은 논리적 이론이 아니라 재 작성 시스템입니다.

논리와 관련하여 람다 미적분을 볼 수 있습니다. 증명에서 가설을 나타내는 변수, 특정 가설에서 변수로 람다 추상화 (변수로 표시) 및 조건부 증거와 가설 증명을 결합하는 적용으로 간주하십시오. 그런 다음 베타 규칙 은 논리의 기본 원칙 인 modus ponens 를 적용하여 증명을 단순화하는 데 해당합니다 .

그러나 이것은 조건부 증거가 올바른 가설의 증거와 결합 된 경우에만 작동합니다. 이라고 가정하는 조건부 증명 이 있고 증명 하면 함께 결합 할 수 없습니다. 람다 미적분 작업을 해석하려면 적절한 가설 증명 만 조건부 증명에 적용해야한다는 제약 조건을 추가해야합니다. 이것을 type system 이라고하며 제약 조건은 인수를 함수에 전달할 때 인수의 유형이 함수의 매개 변수 유형과 일치해야한다는 입력 규칙입니다.n = 2n=3n=2

카레 - 하워드의 대응 사이에 평행 입력 결석 및 방지 시스템.

  • 유형은 논리 문에 해당합니다.
  • 용어는 증거에 해당합니다.
  • 거주 유형 (즉, 해당 유형의 용어가있는 유형)은 실제 진술 (즉, 해당 진술의 증거가있는 진술)에 해당합니다.
  • 프로그램 평가 (예 : 베타와 같은 규칙)는 증거의 변형 (정확한 증거를 올바른 증거로 더 잘 변환 한)에 해당합니다.

와 같이 고정 소수점 조합기를 가진 유형이 지정된 미적분 은 모든 유형의 용어를 작성할 수있게 해주 므로 ( 평가 해보 십시오) Curry-Howard 대응을 통해 논리적 해석을하면 이론이 일치하지 않습니다. Y 콤비 네이터가 Curry-Howard 통신에 위배됩니까?를 참조하십시오 . 상세 사항은.Y ( λ x . x )YY(λx.x)

이것은 순수한 람다 미적분학, 즉 유형이없는 람다 미적분학에는 의미가 없습니다.

많은 유형의 미적분학에서는 고정 소수점 조합기를 정의 할 수 없습니다. 이러한 유형의 미적분은 논리적 해석과 관련하여 유용하지만 Turing-complete 프로그래밍 언어의 기초는 아닙니다. 일부 유형의 계산법에서는 고정 소수점 조합기를 정의 할 수 있습니다. 이러한 유형의 미적분은 Turing-complete 프로그래밍 언어의 기초로 유용하지만 논리적 해석과 관련해서는 유용하지 않습니다.

결론적으로:

  • 람다 미적분학은 "일관되지 않음"이 아니며 그 개념은 적용되지 않습니다.
  • 입력 된 람다 계산법 그 양수인 모든 람다 용어와 유형이 일치하지 않습니다. 어떤 유형의 람다 계산법은 그런 식이고, 다른 것들은 일부 용어를 표현할 수없고 일관성있게 만듭니다.
  • 입력 된 람다 결석은 유일한 없습니다 디부 ETRE 존재 이유 람다 계산법에 대한, 심지어 일관성이 입력 된 람다 결석은 매우 유용한 도구입니다 - 단지 것을 증명하지.

2
와우, 여기 포장 풀기 에는 많은 것이 있습니다. 자세한 설명을 주셔서 감사합니다. 모든 것을 이해하기 위해 시간이 좀 걸릴 것입니다.
벤 I.

4
기술적으로는 유엔으로 지정되지 않은보기 내가 입력, 당신은 형식화되지 않은 람다 계산법과 논리 사이의 CH 대응을 할 수 있습니다. 매우 지루한 (그리고 확실히 일관성이없는) 논리 일뿐입니다. NuPRL과 같은 증거 조수는 물을 조금 흐릿하게합니다. NuPRL의 객체 언어에는 형식화되지 않은 람다 미적분이 포함되어 있으며 Y 조합자를 쉽게 정의 할 수 있습니다. NuPRL은 사물을 조금 다르게 나누므로 유형 시스템이 아닌 유형 세분화 시스템이 있으며 연습은 잘 입력 된 용어를 만드는 것이 아니라 타이핑 파생을 생성하는 것입니다.
Derek Elkins

나만입니까 아니면 형식화되지 않은 람다 미적분학에 "유형으로서의 제안"패러다임을 부과하는 것이 이상합니까? 나는 항상 사람들이 부울 값으로 특정 객체를 도입하여 지정되지 않은 람다 계산법에 논리에 대해 이야기를 본 적이 truefalse및 제안 부울 값의 출력을 한 일이 있었다. (단 사물의 도메인에 제안 여겨졌다 않는 출력을 부울 값).

사소한 (모든 진술을 증명하고) 모순을 포함하는 두 가지 다른 속성입니다. 그것들은 고전적인 논리와 동일하지만, 일관성이없는 논리의 경우 시스템이 일관성이없고 사소하지 않을 수 있습니다.
Taemyr

1
λ- 미적분학 기반 논리에 대해 "일관되지 않음"은 "모든 용어에 유형을 할당"하지 않고 "모든 용어에 유형을 할당"한다는 의미입니다. 일관성이없는 논리에 해당하지만 모든 λ 미적분학 용어를 입력 할 수있는 것은 아닌 λ 미적분학 기반 언어가 많이 있습니다.
Jonathan Cast

6

@Giles가 말한 것에 하나를 추가하고 싶습니다.

카레 하워드 대응 간의 평행하게 -terms (더 구체적으로, 유형 의 -terms) 및 증명 시스템.λλ

예를 들어, 에는 (여기서 는 " 에서 까지 함수"를 의미 함 ). 이는 논리 문 . 함수 에는 해당하는 있습니다. 함수에서 "패턴 일치"라는 의미로 람다 미적분학 유형을 논리 타우 톨 로지로 변환 할 수 있습니다.λx.λy.xa(ba)ababa(ba)λx.λy.xy(ab)(ab)(ab)(ab)

로 정의 된 Y 결합기를 고려할 때 문제가 발생합니다 . 이 문제는 "고정 점"결합 자로 Y 결합기가 유형 (유형에서 동일한 유형으로 함수를 가져 와서 고정 된 것을 찾기 때문에)를 기대하기 때문에 발생합니다. 해당 유형의 기능을 가리 킵니다. 이것을 논리 문으로 변환하면 됩니다. 이것은 모순입니다.λf.(λx.f(xx))(λx.f(xx))(aa)a(aa)a

(aa)aaa(¬a¬a)(¬a)¬a¬a

유형 시스템에서 승인 하면 유형 시스템이 일치하지 않습니다. 이것은 우리가(aa)a

  • 같은 허용 안 유형 타입 시스템에서 (이 당신에게주는 간단히 입력 된 -calculus ), 또는(aa)aλ
  • 논리적 인 추론 시스템과 일치하지 않는 유형 시스템으로 살아갑니다.

1
CH는 유형을 명제, 프로그램과 증거, 심지어 축소 변환과 관련시킵니다. 유형에 관한 것이 아닙니다. 다음으로, 거주 유형 만 타로 톨 로지에 해당합니다. 는 어떤 용어도 상주하지 않더라도 (다형성) 람다 미적분학 유형입니다. 와 같은 유형 을 의미한다고 가정하면 그러한 유형을 받아들이는 것이 완벽합니다. 문제는 해당 유형에 주민이 있는지 여부입니다. 반대로 STLC에 기본 용어를 추가하여 유형 시스템을 확장하지 않고도 해당 논리를 일관되지 않게 할 수 있습니다. a . ( a a ) aa,b.aba.(aa)a
데릭 엘 킨스

@DerekElkins, 어떤 기본 용어? 또한, 내가 올바르게 이해한다면, 이것은 (a-> a)-> a가 항상 거주하고 있다고 가정하는 것입니까? 따라서 종료 증명이 필요한 프로그래밍 언어와 더 이상 일치하지 않습니까? 아니면 형식화되지 않은 또는 Hindley-Milner 형식의 람다 미적분학에 다른 불일치가 있습니까?
Hibou57

1
@ Hibou57 기본 용어, 즉 상수 fix. 각 유형 에 대해 상수 가 있다고 주장 할 수 있습니다 . 모든 유형이 의해 거주됨을 의미하므로 CH에 관한 한 일관성이없는 시스템을 제공합니다 . 추가로 -rules를 추가 하여 계산할 수 있습니다. 예를 들어, STLC를 자연스럽게 포함하는 Turing-complete 시스템으로 바꿀 수 있지만 이러한 계산 규칙과 시스템을 추가 할 필요는 없습니다. 여전히 일관성이 없습니다. A f i x (λx.x)δ f i xfixAAfix(λx.x)δfix
데릭 엘 킨스
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.