나는 부분적으로 대답 할 것이고, 다른 사람들이 빈칸을 채울 수 있기를 바랍니다.
형식화에서 -calculi, 하나는 통상의 데이터의 표현 (타입에 제공 할 수 N t 교회 (단항) 정수, S의 t의 R 진수 문자열, B O O를λNatStrBool 부울위한) 기능의 복잡성이 무엇 경이 / 문제는 입력 된 용어로 표현 / 결정 가능합니다. 나는 어떤 경우에만 정확한 답을 알고 있으며, 단순히 입력 된 경우에는 "대표 가능 / 결정 가능"을 정의 할 때 사용되는 규칙에 따라 다릅니다. 어쨌든, 나는 두 개의 지수 상한이있는 경우를 모른다.
먼저 Lambda Cube에 대해 간략히 살펴 보겠습니다. 단순 계산 된 -calculus (STLC) 위에 다음 3 가지 종속성을 활성화하거나 비활성화하여 8 개의 계산법을 얻습니다 .λ
- 다형성 : 용어는 유형에 따라 다를 수 있습니다.
- 종속 유형 : 유형은 용어에 따라 달라질 수 있습니다.
- 고차 : 유형은 유형에 따라 달라질 수 있습니다.
용어에 대한 용어의 종속성은 항상 존재합니다.
다형성을 추가하면 시스템 F가 생성됩니다. 여기서 Church 정수를 입력 할 수 있습니다 . ( X → X ) → X → X 및 이진 문자열 및 부울의 경우와 유사합니다. 지라드는 N a t → N a 유형의 시스템 F 항을 증명 했습니다N a t : = ∀X. ( X→ X) → X→ X2 차 Peano 산술에서 전체를 증명할 수있는 수치 함수를 정확하게 나타냄을 증명했습니다. 즉, 클래스가 크다, 그래서 아커 만 함수는 커녕 기능 거기에 작은 미생물의 일종이다, (이기는하지만 선택의 어떤 형태없이) 거의 매일 수학을의 2 2N a t → N a t)도 똑같습니다.22엔. 나는 시스템 F에서 표현할 수없는 "자연적인"수치 함수를 모른다. 예는 일반적으로 대각선 화, 2 차 PA의 일관성 또는 다른 자기 참조 기법 ( 시스템 내에서 균등 결정과 같은)을 인코딩함으로써 만들어진다. F 자체). 물론 시스템 F에서는 단항 정수 N a t 와 이진 표현 S t r 사이를 변환 한 다음 첫 번째 비트가 1인지 여부를 테스트 할 수 있으므로 결정 가능한 문제의 클래스 ( S t r → B 유형으로) o o lβN tStrStr→Bool
다형성을 포함하는 Lambda 큐브의 다른 3 계산법은 최소한 시스템 F만큼 표현 적입니다. 여기에는 시스템 F가 포함됩니다 (다형성 + 고차)가 포함됩니다. 큐브의 가장 표현적인 미적분 인 구성 (CoC) (모든 종속성이 활성화 됨). 나는 산술 이론이나 설정 이론의 관점에서 CoC의 표현의 특성을 알지 못하지만 꽤 무서워 야합니다 :-)ω
나는 종속적 유형 (본질적으로 평등과 자연수가없는 Martin-Löf 유형 이론), 고차 유형 또는 둘 다를 활성화하여 얻은 미적분학에 대해 훨씬 무지합니다. 이 계산법에서 유형은 강력하지만 용어는이 힘에 액세스 할 수 없으므로 얻을 수있는 것이 없습니다. 계산적으로, 나는 당신이 단순한 유형보다 훨씬 더 표현력을 얻지 못한다고 생각하지만, 잘못 생각할 수 있습니다.
그래서 우리는 STLC를 떠났습니다. 내가 아는 한, 이것은 흥미로운 (즉, 엄청나게 크지 않은) 복잡성 상한을 가진 큐브의 유일한 미적분학입니다. 거기이다 이것에 대해 답이없는 질문 TCS.SE에, 그리고 실제로 상황은 조금 미묘하다.
첫째, 당신은 원자 수정하면 하고 정의 N에게 t을 : = ( X → X ) → X → X ,이 Schwichtenberg의 결과는 (내가 웹에 그 종이 곳의 영어 번역이 알고하지만 난 그것을 찾을 수 없습니다 이제)는 N a t → N a t 유형의 함수 가 정확하게 확장 다항식 (if-then-else 포함) 임을 알려줍니다 . "느슨한"여유를 허용하는 경우, 즉 매개 변수 X 를 마음대로 인스턴스화하고 N a t 유형의 항을 고려하십시오 .XNat:=(X→X)→X→XNat→NatX 와 의 임의 훨씬 더 표현 될 수있다. 예를 들어, 선행 함수뿐만 아니라 모든 지수 타워 (따라서 지수 지수를 훨씬 뛰어 넘을 수는 있지만) 뺄셈은 없습니다 (이진 함수를 고려하고 N a t [ A ] → N a t [ A ' ] → N a t ). 따라서 STLC에서 표현할 수있는 수치 함수 클래스는 약간 이상합니다. 기본 함수의 엄격한 부분 집합이지만 잘 알려진 것은 아닙니다.Nat[A]→NatANat[A]→Nat[A′]→Nat
상기와 명백한 모순, 거기에 이 용지 의 전이 함수를 인코딩하는 방법을 도시 Mairson 의해 임의 튜링 기계 는 유형의 장기 수득되는, N t [ ] → B O O (L)을 일부 유형은 ( 에 따라 M 교회 정수 부여하는) N 의 시뮬레이션 실행 입력으로 M 형태의 다수의 단계에 대한 고정 된 초기 설정으로부터 시작
2 2 ⋮ 2 N을 ,MNat[A]→BoolAMnM
22⋮2n,
타워의 높이가 고정되어 있습니다. 이
없는 STLC에서 (타입의 바이너리 열을 변환하는 방법이 없기 때문에, 모든 기본 문제는 STLC 의해 decidable 것을 보여
)의 입력을 나타내는
M 의 구성을 나타 내기 위해 사용되는 형태로
M은StrMM 로는 메이슨의 인코딩. 따라서 인코딩은 "비 균일"입니다. 각 입력에 대해 고유 한 용어를 사용하여 고정 입력에서 기본적으로 긴 실행을 시뮬레이션 할 수 있지만 임의의 입력을 처리하는 용어는 없습니다.
실제로, STLC는 "균일하게"결정할 수있는 것이 매우 약합니다. 를 일부 A에 대해 간단히 S t r [ A ] → B o o l 유형의 용어로 결정 가능한 언어 클래스 라고하자 (위와 같이 입력에서 임의의 "느슨 함"을 허용 함). 내가 아는 한, C S T 의 정확한 특성 은 없습니다. 그러나 우리는 C S T ⊊ L I N T I M ECSTStr[A]→BoolACSTCST⊊LINTIME(결정적 선형 시간). 포함과 그것이 엄격하다는 사실은 매우 깔끔한 의미 론적 논증으로 설명 될 수있다 (유한 집합 범주에서 STLC 표준 표준 의미론을 사용). 전자는 최근 Terui 에 의해 보여졌습니다 . 후자는 본질적으로 Statman의 오래된 결과를 재구성 한 것입니다. 문제의 예 과반수이다 (이 0보다 더 엄격 1S 포함되어 있는지 여부를 알 이진 스트링을 주어).LINTIME∖CST
(많은) 나중에 추가 : 나는 위의 라고 부르는 클래스 가 실제로 정확한 특성을 가지고 있다는 것을 알았습니다 . 에서 이 아름다운 1996 종이 , HILLEBRAND 및 Kanellakis는 특히, 증명이CST
정리. (일반 언어에 { 0 , 1 } ).CST=REG{0,1}
(이것은 그들의 논문에서 정리 3.4입니다).
나는이 두 가지 놀라운 사실을 발견했다. 나는 결과 자체에 놀랐다 ( 가 그렇게 "정확한"것에 대응할 수 있다는 사실은 결코 알려지지 않았다). 또한 L I N T I M E 상한 에 대한 Terui의 증거는 Hillebrand와 Kanellakis에서 사용하는 것과 동일한 방법을 사용한다는 점이 재미있다 ( 유한 집합 범주에서 단순 유형 λ- 미적분 해석 ). 즉, Terui은 (자신을)이 결과를 발견 재 쉽게 할 수 있었다 그것은하지 우리가 어떻게 든 행복했다는 사실에 대한 C S T는 에 "이상한"클래스 인 :-)CSTLINTIMEλCST
(우연히, 나는 "알 수없는 정리"에 관한 MO 질문에 대한 이 답변 에서 놀랍게도 공유했습니다 ).