카파 미적분학

Kappa calculus

수학 논리학, 범주 이론, 컴퓨터 과학에서 카파 미적분1차 함수를 정의하는 공식적인 시스템이다.

람다 미적분과 달리 카파 미적분은 고차 함수가 없으며, 그 함수는 1등급 객체가 아니다.카파-미적분은 "타입 람다 미적분학의 1차적인 파편을 개조한 것"[1]으로 볼 수 있다.

기능이 1등급 객체가 아니기 때문에 카파 미적분 표현 평가에는 폐쇄가 필요하지 않다.

정의

아래의 정의는 하세가와 205쪽과 207쪽에 있는 도표에서 개작한 것이다.[1]

문법

카파 미적분은 아래 문법에 의해 주어지는 유형표현으로 구성된다.

바꾸어 말하면, 환언하면

  • 1은 유형이다.
  • 1} 및 2{\\}}:if \tau _{1}\2}}: 유형이다.
  • 모든 변수는 표현식이다.
  • τ가 유형인 경우 i 은(는) 표현이다.
  • 만약 τ이 타입이라면! 은 표현이다.
  • τ가 유형이고 e가 표현인 경우, ( ) 은 표현이다.
  • 및 e 식인 경우 e }\ 식인 경우
  • x가 변수인 경우 τ은 유형이고 e는 표현식인 경우 x: (는) 표현식이다.

:→ ▼ , ! 및 리프트 의 첨자는 컨텍스트에서 명확하게 결정할 수 있을 때 생략되기도 한다.

대등사치는 흔히 와) 구성의 조합으로 사용된다.

타이핑 규칙

여기서는 단순 타이핑된 람다 과의 비교를 용이하게 하기 위해 가상의 판단보다는 시퀀스( {{ \\e:\ 를 사용한다.이를 위해서는 하세가와에 나타나지 않는 추가 Var 규칙이 필요하다.[1]

카파 미적분학에서 표현식은 출처의 유형과 대상의 유형이라는 두 가지 유형을 가진다.표기법 : 식 e가 소스 유형 {\{\1 및 대상 2{\ 데 사용된다

카파 미적분학의 식은 다음 규칙에 따라 유형이 할당된다.

(Var)
(Id)
(뱅)
(Comp)
(리프트)
(카파)

바꾸어 말하면, 환언하면

  • Var: : 을(를) 하면 : 1→ → x:1로 결론을 내릴 수 있다.
  • ID: 모든 유형 τ에 대해 :: → →
  • Bang: 모든 유형 τ, ! : }
  • Comp: }의 대상 유형이 2 }의 소스 유형과 일치하는 경우, e {\2}의 소스 유형 및 2 }의 대상 유형을 사용하여 e emption 2 emption e 을 구성할 수 있다.
  • Lift: if , then
  • Kappa: if we can conclude that under the assumption that , then we may conclude without that assumption that

이퀄리티스

카파 미적분은 다음과 같은 동일성을 준수한다.

  • 중립성:If then and
  • 연관성:If , , and , then .
  • 종단성:: → 1 f : → 1 f=
  • 리프트 감소:
  • 카파-축소: x.( ( )= x}( x가 h에서 자유롭지 않은 경우

마지막 두 개의 동일성은 미적분학의 축소 규칙으로, 왼쪽에서 오른쪽으로 다시 쓴다.

특성.

유형 1단위 유형으로 간주할 수 있다.따라서, 인수 유형이 같고 결과 유형이 1인 두 함수는 모두 같아야 한다. 유형 1의 값이 하나뿐이므로 두 함수는 모든 인수(터미널성)에 대해 해당 값을 반환해야 한다.

유형 을(를) 가진 표현은 "정수" 또는 "접지 유형"의 값으로 볼 수 있다. 이는 1이 단위 유형이기 때문에 이 유형으로부터의 함수는 반드시 일정한 함수이기 때문이다.카파 규칙은 추상화하는 변수가 일부 τ에 대해 1 1을(를) 갖는 경우에만 추상화를 허용한다는 점에 유의하십시오.이것은 모든 기능이 일차적으로 이루어지도록 하는 기본적인 메커니즘이다.

범주형 의미론

카파 미적분은 문맥적으로 완전한 범주의 내부 언어로서 의도되었다.

다중 인수가 있는 식에는 "우측 불균형" 이진 트리가 있는 소스 유형이 있다.예를 들어, 유형 A, B, C의 세 개의 인수를 갖는 함수 f와 결과 유형 D는 유형을 갖는다.

If we define left-associative juxtaposition as an abbreviation for , then – assuming that , , and 다음 기능을 적용할 수 있다.

이라는 표현식은 소스 유형 1을 가지기 때문에 "접지 값"이며 다른 함수에 대한 인수로 전달될 수 있다.: ( E)→ F g E

람다 미적분학의 (( → D )의 커스터드 함수처럼 부분 적용이 가능하다.

그러나 상위 유형(예: () 은 관련되지 않는다.f a의 source type이 1이 아니기 때문에 지금까지 언급된 가정에서는 다음 식을 제대로 형식화할 수 없다는 점에 유의한다.

연속적인 애플리케이션은 복수의 인수에 사용되기 때문에, 그 타이핑을 결정하기 위해 함수의 정확성을 알 필요는 없다. 예를 들어, 만약가 c: → C{\1{\라고 알고 있다면, 그 표현은 다음과 같다.

j c

j가 타입을 가지고 있는 한 잘 정돈되어 있다.

) 일부 α에 대해

그리고 β. 이 속성은 표현의 주성형을 계산할 때 중요한데, 형식의 문법을 제한하여 활자 람다 캘커리에서 고차 함수를 제외하려고 할 때 어려울 수 있다.

역사

바렌트레트는 원래 결합 대수라는 맥락에서 "기능적 완전성"이라는 용어를 도입했다[2].카파 미적분은 임의의 범주에 대해 기능적 완전성의 적절한 아날로그를 공식화하려는 람베크의[3] 노력에서 생겨났다(헤르미다와 제이콥스,[4] 섹션 1 참조).하세가와는 후에 카파 미적분을 자연수에 대한 산술과 원시 재귀 등을 포함한 사용 가능한 프로그래밍 언어로 개발했다.[1]화살에 대한 연결은 나중에 파워, 티에일레케 등에 의해 조사되었다[5].

변형

선형, 아핀, 순서형하위구조 유형을 가진 카파 미적분학 버전을 탐구할 수 있다.이러한 확장자는! 식을 제거하거나 제한해야 한다.이러한 상황에서 × 타입 오퍼레이터는 진정한 데카르트 제품이 아니며, 이를 명확히 하기 위해 일반적으로 라고 쓰여 있다.

참조

  1. ^ a b c d Hasegawa, Masahito (1995). "Decomposing typed lambda calculus into a couple of categorical programming languages". In Pitt, David; Rydeheard, David E.; Johnstone, Peter (eds.). Category Theory and Computer Science. Category Theory and Computer Science: 6th International Conference, CTCS '95 Cambridge, United Kingdom, August 7–11, 1995 Proceedings. Lecture Notes in Computer Science. Vol. 953. Springer-Verlag Berlin Heidelberg. pp. 200–219. CiteSeerX 10.1.1.53.715. doi:10.1007/3-540-60164-3_28. ISBN 978-3-540-60164-7. ISSN 0302-9743. Lay summary"Adam" answering "What are κ-categories?" on MathOverflow (August 31, 2010). {{cite book}}:Cite는 사용되지 않는 매개 변수를 사용한다. lay-date=(도움말)
  2. ^ Barendregt, Hendrik Pieter, ed. (October 1, 1984). The Lambda Calculus: Its Syntax and Semantics. Studies in Logic and the Foundations of Mathematics. Vol. 103 (Revised ed.). Amsterdam, North Holland: Elsevier Science. ISBN 978-0-444-87508-2.
  3. ^ Lambek, Joachim (August 1, 1973). "Functional completeness of cartesian categories". Annals of Mathematical Logic (published March 1974). 6 (3–4): 259–292. doi:10.1016/0003-4843(74)90003-5. ISSN 0003-4843. Lay summary"Adam" answering "What are κ-categories?" on MathOverflow (August 31, 2010). {{cite journal}}:Cite는 사용되지 않는 매개 변수를 사용한다. lay-date=(도움말)
  4. ^ Hermida, Claudio; Jacobs, Bart (December 1995). "Fibrations with indeterminates: contextual and functional completeness for polymorphic lambda calculi". Mathematical Structures in Computer Science. 5 (4): 501–531. doi:10.1017/S0960129500001213. ISSN 1469-8072.
  5. ^ Power, John; Thielecke, Hayo (1999). Wiedermann, Jiří; van Emde Boas, Peter; Nielsen, Mogens (eds.). Closed Freyd- and κ-Categories. Automata, Languages and Programming: 26th International Colloquium, ICALP'99 Prague, Czech Republic, July 11–15, 1999 Proceedings. Lecture Notes in Computer Science. Vol. 1644. Springer-Verlag Berlin Heidelberg. pp. 625–634. CiteSeerX 10.1.1.42.2151. doi:10.1007/3-540-48523-6_59. ISBN 978-3-540-66224-2. ISSN 0302-9743.