원시 재귀 함수를위한 결합기


답변:


17

예, 그러나 유형 조합기를 고려해야합니다. 즉, 당신은 줄 필요가 K 다음과 같은 유형의 스키마를 : K : B S : ( B C ) ( B ) ( C ) , BC를 매번 사용할 때마다 구체적인 유형으로 인스턴스화 할 수있는 메타 변수입니다.SK

K:ABAS:(ABC)(AB)(AC)
A,BC

그런 다음 타입 추가 할 다음과 콤비를 종류의 언어로 자연의 숫자를 추가합니다 : Z : N이 s의 U C C : NN 내가 t 전자 R : N( NN ) NN

z:Nsucc:NNiter:N(NN)NN

추가 사항에 대한 평등의 규칙은 다음과 같습니다

iterifz=iiterif(succe)=f(iterife)

iter:A(AA)NA
iter

iter

pred=λk.iter(z,z)(λ(n,n).(succn,n))kpred=λk.snd(predk)

NN×N


유형화 된 결합기에 대한 제한으로 인해 이것은 Turing-complete보다 적습니까? 유형 변수가 (재귀 적으로) 유형 변수에 대한 함수를 나타낼 수 있습니까 (예 : 일부 유형 D 및 E의 경우 A = D-> E)?
NietzscheanAI

2
SK

닐, 고마워 교회 숫자 인코딩을 통해 z, succ 및 iter를 S와 K로 표현할 수 있다고 생각할 수 있습니까?
NietzscheanAI

00(succx)x

@Xoff : 선행 함수는로 알려진 선형 시간 정의를가집니다 iter. 이것은 cs.stackexchange.com에서 질문의 대상이 될 수 있습니다 ...
cody
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.