특정 서명이있는 기능의 고유성에 대한 진술을 증명하는 형식주의는 무엇입니까?
-
29-09-2020 - |
문제
와 같은 함수를 원한다고 가정 해보십시오.
f: ((A, B) -> C) -> A -> B -> C
종종 내가 만든 문은 F가 하나의 구현, 즉 '카레 함수', 즉 g => a => b => g(a, b)
얼굴 값에서 촬영 한 것은 실제로 사실이 아닌 것처럼 보이지 않으며, 나는 항상 특별한 경우와 다르게 행동하는 것처럼 F를 정의 할 수 있습니다.g => a => b => g(a, b)
를 제외하고는 A = B
를 제외하고는 g => a => b => g(b, a)
라고 할 수 있습니다.
비록, '단지 하나의 구현'을 의미하는 것만으로는 직관적으로 분명합니다.
위의 진술이 입증 될 수있는 정확한 형식주의를 알고 싶습니다.
카테고리 이론이라고 생각하는 것 같아요?위의 내용은 자연스러운 변화의 개념과 같지만 세부 사항을 실제로 보지 못합니다.
해결책
카테고리 이론에 대한 연결이 있지만 실제로 (제가 내가 고려하는 것)를 단순한 도구 : 파라 메트리티스와 함께 할 수 있습니다.
기본 아이디어는 언어가 각 유형에 대해 똑같은 것과 동일한 것과 동일한 것과 동일한 일을 수행 할 때 (즉, Typecase 구조가 아님) 언어에 대한 매우 강력한 속성을 증명할 수 있다는 것입니다. 논리적 관계의 형태.
이렇게하면 사용자가 귀하의 질문에 설명하는 "특별한 경우"구현을 방지 할 수 있습니다. 이러한 구현이 모두 확장으로 동등한 것임을 언급할만한 가치가 있습니다. 이들은 다르지만 동일한 입력에 대해 동일한 결과를 얻을 수 있습니다. 예를 들어, $ T $ 을 $ (\ lambda x \ ldotp x) T $ 을 대체 할 수 있습니다. 동등한 기능.
해당 유형의 함수에 대한 문은 일반적으로 아이디어를 도입 한 용지를 지명 한 무료 이펙트 을 무료 이론이라고합니다. Phil Wadler의 무료 Theorems. 이 지역에 관심이 있으시면 주제에 대한 소개가 좋기 때문에이 논문을 적극 권장합니다.
이 직후의 아이디어는 해당 종이보다 훨씬 더 멀리 돌아갑니다. John Reynolds는 시스템 F와 "추상화 정리"와 함께 일하지만, 아이디어가 인기가 발생하기 전에 잠시 동안 걸렸습니다.
실제로 http:///free-theorems.nomeata.de/ 그들은 그곳에 주어지는 이론에서 유용한 정보를 얻기 위해 약간의 마사지를받을 수 있습니다.
Free The Safe, Amal Ahmed의 논문 가 본 최우수 소개입니다. 그녀는 정말로 시맨틱 유형을 설명하는 좋은 일을합니다. 프로그램 유형은 실제로 실행되는 방식과 생성되는 것의 재산이며 "유형"이라고 부르는 것은 이러한 일반적인 의미 유형의 구문 적위입니다.