카파 미적분학
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].
변형
선형, 아핀, 순서형 등 하위구조 유형을 가진 카파 미적분학 버전을 탐구할 수 있다.이러한 확장자는! 식을 제거하거나 제한해야 한다.이러한 상황에서 × 타입 오퍼레이터는 진정한 데카르트 제품이 아니며, 이를 명확히 하기 위해 일반적으로 ⊗라고 쓰여 있다.
참조
- ^ 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=(도움말) - ^ 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.
- ^ 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=(도움말) - ^ 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.
- ^ 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.
