수학 논리학에서 교차로 유형 부문은 교차로 유형 생성자을 사용하여 단일 용어에 여러 유형을 할당하는 형식 시스템을 포괄하는 유형 이론의 한 분야다.[1]In particular, if a term can be assigned both' the type and the type , then can be assigned the intersection type (and vice versa).따라서 교차로형 생성자는 유한 이질적인 임의의 다형성(parametric polymorism)을 표현하는데 사용될 수 있다(파라메트릭 다형성과는 반대로).For example, the λ-term can be assigned the type in most intersection type systems, assuming for the term variable both the function type 및 해당하는 인수 α {\
눈에 띄는 교차로형 시스템으로는 코포-데자니형 배정 시스템,[2] 바렌드레그-코포-데자니형 배정 시스템,[3] 필수 교차로형 배정 시스템 등이 있다.[4]가장 눈에 띄는 점은 교차로형 시스템이 β-축소 하의 β-단말기의 정규화 특성과 밀접하게 관련되고(그리고 종종 정확히 특성화) 있다는 점이다.
TypeScript와[5] Scala와 같은 프로그래밍 언어에서,[6] 교차로 유형은 임시 다형성을 표현하기 위해 사용된다.
교차로형 규율은 마리오 코포, 마리앙기올라 데자니-첸카글리니, 패트릭 살레, 가렐 포틴저 등이 개척했다.[2][7][8]근본적인 동기는 λ-미적분학의 의미적 특성(정상화 등)을 유형이론을 이용하여 연구하는 것이었다.[9]코포와 데자니의 초창기 작업이 λI-미적분학의 강력한 정상화의 유형 이론적 특성화를 확립한 반면, 포틴저는 이 특성화를 λK-미적분학까지 확대했다.[2][7]또, 살레는 어떤 λ기에도 할당할 수 있는 범용 타입 의 개념에 기여하여, 빈 교차로에 해당한다.[8] 범용 유형 사용으로 헤드 표준화, 정규화 및 강력한 정규화에 대한 세분화된 분석이 가능하다.[10]Henk Barendregt와 협력하여 교차로형 시스템에 필터 λ 모델을 부여하여 교차로형을 λ-미적분 의미론에 더욱 가깝게 연결하였다.
정규화와의 일치성 때문에 저명한 교차로 유형 시스템(범용 유형 제외)에서의 타이핑은 판독할 수 없다.보완적으로 Pawew Urzyzyn에 의해 저명한 교차로형 시스템에서 발생하는 유형의 이중 문제에 대한 불찰성이 입증되었다.[11]이후, 이 결과는 2등급 교차로 유형의 거주 지수 공간 완전성과 3등급 교차로 유형의 거주에 대한 불해독성을 보여줌으로써 개선되었다.[12]주목할 만한 것은 다항식 시간에 주형 거주가 해제된다는 점이다.[13]
코포-데자니형 할당제
Copo-Dezani 유형 할당 시스템) 은 용어에 대해 여러 유형을 가정할 수 있도록 하여 단순 유형인 λ-미적분을 확장한다.[2]
강력하게 정규화된 λ-terms의 타이핑 가능성:M {\이(가) 강력하게 정규화되고 있는 경우 ⊢⊢ ⊢ ⊢ \ {\text 일부some{\ } .
λI 정규화의 특성화:은(는) λI-계산서에 인 형태를 가지고 있으며, 만일 ⊢ M : {\displaystyle \ \{\text 일부some{\ } .
If the type language is extended to contain the empty intersection, i.e. , then is closed under β-equality and is sound and complete for inference semantics.[14]
바렌레그트-코포-데자니형 배정 시스템
Barendregt-Copo-Dezani 유형 할당 시스템 () )은(는) 다음과 같은 세 가지 측면에서 코포-데자니 유형 할당 시스템을 확장한다.[3]
은(는) 임의의 λ 기간에 할당할 수 있는 범용 유형 상수 {\빈 교차로에 있음)를 소개한다.
^ abcdeCoppo, Mario; Dezani-Ciancaglini, Mariangiola (1980). "An extension of the basic functionality theory for the λ-calculus". Notre Dame Journal of Formal Logic. 21 (4): 685–693. doi:10.1305/ndjfl/1093883253.
^ abcdeBarendregt, Henk; Coppo, Mario; Dezani-Ciancaglini, Mariangiola (1983). "A filter lambda model and the completeness of type assignment". Journal of Symbolic Logic. 48 (4): 931–940. doi:10.2307/2273659. JSTOR2273659.
^van Bakel, Steffen (2011). "Strict intersection types for the Lambda calculus". ACM Computing Surveys. 43 (3): 20:1–20:49. doi:10.1145/1922649.1922657.
^ ab포틴저, G. (1980)매우 정규화할 수 있는 λ-단어에 대한 유형 할당.To HB Curry: 조합논리, 람다 미적분학, 형식주의에 관한 에세이, 561-577.
^ abCoppo, Mario; Dezani-Ciancaglini, Mariangiola; Sallé, Patrick (1979). "Functional Characterization of Some Semantic Equalities inside Lambda-Calculus". In Hermann A. Maurer (ed.). Automata, Languages and Programming, 6th Colloquium, Graz, Austria, July 16-20, 1979, Proceedings. Vol. 71. Springer. pp. 133–146. doi:10.1007/3-540-09510-1_11. ISBN3-540-09510-1.
^Coppo, Mario; Dezani-Ciancaglini, Mariangiola (1978). "A new type assignment for λ-terms". Archiv für mathematische Logik und Grundlagenforschung. 19 (1): 139–156. doi:10.1007/BF02011875.
^Urzyczyn, Paweł (1999). "The emptiness problem for intersection types". Journal of Symbolic Logic. 64 (3): 1195–1215. doi:10.2307/2586625. JSTOR2586625.
^Urzyczyn, Paweł (2009). "Inhabitation of low-rank intersection types". International Conference on Typed Lambda Calculi and Applications. TLCA 2009. Vol. 5608. Springer. pp. 356–370. doi:10.1007/978-3-642-02273-9_26. ISBN978-3-642-02272-2.
^Dudenhefner, Andrej; Rehof, Jakob (2019). "Principality and approximation under dimensional bound". Proceedings of the ACM on Programming Languages. POPL 2019. Vol. 3. ACM. pp. 8:1–8:29. doi:10.1145/3290321. ISSN2475-1421.
^Van Bakel, Steffen (1992). "Complete restrictions of the intersection type discipline". Theoretical Computer Science. 102 (1): 135–163. doi:10.1016/0304-3975(92)90297-S.
^Dudenhefner, Andrej; Martens, Moritz; Rehof, Jakob (2017). "The algebraic intersection type unification problem". Logical Methods in Computer Science. 13 (3). doi:10.23638/LMCS-13(3:9)2017.
^Ghilezan, Silvia (1996). "Strong normalization and typability with intersection types". Notre Dame Journal of Formal Logic. 37 (1): 44–52. doi:10.1305/ndjfl/1040067315.
^Ronchi Della Rocca, Simona; Venneri, Betti (1983). "Principal type schemes for an extended type theory". Theoretical Computer Science. 28 ((1-2)): 151–169. doi:10.1016/0304-3975(83)90069-5.