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

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

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

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

6

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

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

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

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

(a⟹a)⟹a⊤⟹aa(¬a⟹¬a)⟹(¬a)⊤⟹¬a¬a

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

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

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