타입 이론을 이해하고 싶지만 어떻게 적용 할 수 있는지 먼저 알아야합니다. 프로그래밍에서 타입 시스템을 제외하고 타입 이론의 더 명백한 적용이있을 수 있습니까? 성격 프로파일 링 및 기타 사항에 대해 다른 응용 프로그램이있을 수 있습니까?
타입 이론을 이해하고 싶지만 어떻게 적용 할 수 있는지 먼저 알아야합니다. 프로그래밍에서 타입 시스템을 제외하고 타입 이론의 더 명백한 적용이있을 수 있습니까? 성격 프로파일 링 및 기타 사항에 대해 다른 응용 프로그램이있을 수 있습니까?
답변:
당신의 작업에 관심이있을 수 Ceptre ,의 결과 박사 연구 의 크리스 마틴 대화 형 스토리 텔링에 대한 유형 이론을 사용합니다. 논문 초록 은 다음과 같습니다 .
대화식 스토리 텔링은 인류의 풍부한 스토리와 플레이 역사와 함께 깊은 계산 아이디어를 짜서 도구와 언어를 구축하는 데 중요한 컨텍스트를 제공합니다. 동시에 공식 사양 언어는 프로그래밍 언어 및 복잡한 연역 시스템 분석을 위해 일반적으로 예약 된 표현 및 추론 기술 팔레트를 제공합니다. 이 논문은 대화식 스토리 텔링 도메인의 문제를 공식 사양의 솔루션에 연결합니다.
특히, 우리는 구조적 관점에서 이야기를 검토하고 대안적인 이야기 경로가 상호 작용하는 타임 라인을 동시에 보완하는 역할을한다는 것을 관찰합니다. 선형 논리는이 구조를 조사하는 데 필요한 표현 도구를 제공하며, 교정을 교정 및 교정 구성으로 확장함으로써 일련의 계산 가능성을 찾습니다. 우리는 이러한 가능성을 실현하기위한 세 가지 노력을 제시한다. (1) 서술을 생성하기 위해 선형 논리 프로그래밍의 사용; (2) 대화식 이야기, 게임 및 시뮬레이션을 작성하기위한 새로운 프로그래밍 언어; 그리고 (3) 디자인 수준의 프로그램 속성을 기술하고 증명하는 기술.
논리 의미론을 최소한으로 확장 한 선형 논리 프로그래밍은 광범위한 프로그래밍 관용구 및 도메인 인코딩을 가능하게합니다. 증거로 우리는 소셜 시뮬레이션, 전투 기반 어드벤처 게임 및 보드 게임을 포함한 5 가지 사례 연구를 제공합니다. 설계 정확성에 대한 추론을 지원하기 위해, 우리는 프로그램 불변량을 기술하고 입증하는 기술과 언어의 큰 조각에 대해 불변성을 자동으로 확인하는 결정 가능성 증명을 제시합니다.
이러한 결과는 선형 논리가 대화 형 세계를 모델링하고 실행하기위한 기초로 사용되는 유익한 표현 언어이며, 창의적인 시스템을위한 증명 이론 방법론을 사용하는 것에 대한 향후 조사를 초대합니다.
언어학에서 유형 이론의 흥미로운 사용이 있었다. 예를 들어 Chung-chieh Shan 또는 Christian Rétoré 의 언어학 작품을 참조하십시오 .
Rétoré의 설명 아래에 인용 된 책 범주 적 문법에가 :
이 책은 Lambek의 연구에 의해 시작된 논리적 전통에서 범주 문법에 대한 현대적이고 포괄적 인 소개입니다. 이 과정은 학생들과 연구원을 현장의 기본 결과를 통해 안내하며, 최근의 진보 된 내용뿐만 아니라 많은 고전 이론의 현대적 증거를 제공합니다. 수많은 예와 연습은 언어 적, 계산적, 논리적 관점에서 이러한 결과의 동기와 적용을 보여줍니다. Lambek 미적분학과 그 변형 및 해당 문법은이 강의 노트의 핵심입니다. 이 범주 문법의 핵심 기능인 매우 우아한 구문-의미 적 인터페이스에 대해 설명합니다. 또한 Grail 파서에 예시 된 것처럼 효율적인 파싱 알고리즘을 제공하기 때문에 이러한 계산에 선형 논리 증명 네트를 적용합니다.
다음은 Shan의 언어 부작용 서적 장을 소개하는 인용문입니다 .
본 논문은 자연 언어의 명백한 비 조성 사례를 프로그래밍 언어의 경우와 관련시킨다. 모래 시계 모양입니다 : §1에서 구성 의미 론적 이론을 구축하는 데 도움이되는 구문-의미론 인터페이스에 대한 접근 방식으로 시작합니다. 그 접근 방식은 프로그래밍 언어의 계산 부작용과 자연 언어의 유추 언어 부작용에 의한 용어 사이의 비유를 그리는 것입니다.
이 연결은 언어 학자뿐만 아니라 컴퓨터 과학자들에게도 도움이 될 수 있지만, 저는 후자 기술 이전 방향에 중점을 둡니다. 지속은 계산 부작용을 치료하는데 유용하다. §2에서는 의미의 연속성을위한 새로운 금속 언어를 소개합니다.
제가 소개하는 metalanguage는 프로그래밍 언어와 자연어를 분석하는 데 유용합니다. 직관을 위해, 나는 §3의 첫 사용을 조사한 다음 §4에서이 치료의 장점을 지적합니다.
§5에서 자연어로 돌아가서,이 관점이 Chris Barker와 어떻게 결합과 교차, 그리고 질문과 우월성을 연구하는 데 도움이되었는지 자세히 설명합니다. 또한 연속체를 사용하여 특히 중국어 (Mandarin Chinese)에서 한정자 및 무한 범위를 연구했지만 §6에서 이러한 추가 개발을 스케치 할 여지가 있습니다.
Curry-Howard 대응으로 인해 유형은 제안으로 해석 될 수 있고 제안은 유형으로 해석 할 수 있습니다.
결과적으로 형식 이론은 문자 논리를 증명에 공식적으로 사용하는 모든 분야에 적용 할 수 있습니다. 회로 검증, 실제 분석, 기호 논리, 형상 등이 될 수 있습니다.
예를 들어, 일부 자동 증명 검사 도구는 이 원칙을 사용하여 작동합니다. 일부 형식 시스템에서 특정 용어를 형식 검사하여 증명의 유효성을 검사합니다. LF 교정 검사기는 HOL Light 와 마찬가지로이 접근 방식을 기반으로합니다 . 예제 응용 프로그램으로 증명 운반 코드는 LF를 사용하여 신뢰할 수없는 코드의 메모리 안전성 증명을 확인했습니다. 이러한 종류의 증명 검사기를 사용하면 구현이 매우 간단하여 구현이 올바르다는 확신을 얻을 수 있습니다. 예를 들어 다음 용지를 참조하십시오.
증인이 적은 기초 증명 검사기 . Dinghao Wu, Andrew W. Appel, Aaron Stump. PPDP 2003.
종속 형식의 응용 프로그램을 설명하는 흥미로운 기사 는 Pi의 힘으로 Agda를 사용하여 흥미로운 문제를 해결하는 방법을 보여줍니다.
또 다른 좋은 예는 자원 제어에 종속 유형을 사용하는 것입니다. 좋은 예는 Effects of Idris 의 파일 관리 API입니다 . 예를 들어, 파일에서 행을 읽는 기능은 다음 유형을 갖습니다.
readLine : { [FILE_IO (OpenFile Read)] } Eff String
이 기능은 파일이 열린 경우에만 적용 가능하도록 지정합니다. 중괄호 안의 목록은 사용 가능한 효과를 나타냅니다. 이 경우이 기능을 사용하려면 파일을 읽기 위해 열어야합니다.
효과 라이브러리에 대한 자세한 내용은 여기를 참조하십시오 .
또 다른 응용 프로그램은 Idris 작성자가 다음 기사 에서보고 한 바와 같이 동시성에 종속 유형을 사용하는 것입니다 .
jmite의 답변에서 언급했듯이 회로 / 하드웨어 / 전자 검증의 고차 로직 / 유형 이론은 수십 년 동안 사용되어 왔으며 현재는 상당한 양도 노력을 거쳐 "응용 프로그램"으로 인식되지도 않았습니다. 여전히 활발한 연구 분야이지만 ~ 1990 년대. 또한 낮은 수준의 게이트 로직에서 훨씬 높은 레벨 / 차수 구조 / 서브 시스템에 이르기까지 회로 / 하드웨어 / 전자 검증에 Coq와 그 유형 로직을 많이 적용하고 있습니다. 다음은 몇 가지 주요 참조 사항입니다
고차 로직 및 하드웨어 검증 / Melham (1993!)
고차 논리 정리 증명 및 응용 프로그램 / Claeson, Gordon
올바른 회로 구성 : 종속 유형이있는 하드웨어 사양의 기능적 측면 확인 / Brady, Mckinna, Hammond
Coquet : 하드웨어 / 브라이 번트 검증을위한 Coq 라이브러리