유형 이론의 일일 응용


10

타입 이론을 이해하고 싶지만 어떻게 적용 할 수 있는지 먼저 알아야합니다. 프로그래밍에서 타입 시스템을 제외하고 타입 이론의 더 명백한 적용이있을 수 있습니까? 성격 프로파일 링 및 기타 사항에 대해 다른 응용 프로그램이있을 수 있습니까?


2
왜 무언가가 발명 된 것 이외의 응용 프로그램을 가져야합니까?
Raphael

3
수학의 기초? 사람들은 합성 도메인 이론, 토폴로지 등과 같은 것들을 형식화하기 위해 유형 이론을 사용했습니다. 또한 이야기 ​​이론을 모델링하기 위해 유형 이론 도구를 사용하는 Chris Martens의 연구도 있습니다. 논문 링크
Daniel Gratzer

1
당신은 응용 프로그램으로 카운트를 명확히 할 수 있습니까?
Jake

4
나는 당신의 전제에 확신하지 않습니다. 누군가가 "자동차 공학을 이해하고 싶지만 먼저 어떤 자동차를 사용할 수 있는지 알아야합니다. 운송 외에 자동차가 더 명백하지 않은 응용 프로그램이있을 수 있을까요?" 그들은 어떤 사람들은 차 안에서 잠을 잤다는 대답을 얻었고 , Ansel Adams는 그를 사진에서 찍는 플랫폼으로 사용했습니다 . 글쎄요.하지만 공학을 이해하는 데 도움이되지는 않으며 가상의 학생이 초승달 좌석과 매우 단단한 서스펜션을 갖춘 자동차를 설계하도록 이끌 것입니다.
David Richerby

3
사실 수학적으로 아름답지만 이론적 인 컴퓨터 과학 (내가 작업하는 것을 포함하여)의 대부분은 실제로 쓸모가 없습니다. 불행히도 당신은 측면을 선택해야합니다.
Yuval Filmus

답변:


10

당신의 작업에 관심이있을 수 Ceptre ,의 결과 박사 연구크리스 마틴 대화 형 스토리 텔링에 대한 유형 이론을 사용합니다. 논문 초록 은 다음과 같습니다 .

대화식 스토리 텔링은 인류의 풍부한 스토리와 플레이 역사와 함께 깊은 계산 아이디어를 짜서 도구와 언어를 구축하는 데 중요한 컨텍스트를 제공합니다. 동시에 공식 사양 언어는 프로그래밍 언어 및 복잡한 연역 시스템 분석을 위해 일반적으로 예약 된 표현 및 추론 기술 팔레트를 제공합니다. 이 논문은 대화식 스토리 텔링 도메인의 문제를 공식 사양의 솔루션에 연결합니다.

특히, 우리는 구조적 관점에서 이야기를 검토하고 대안적인 이야기 경로가 상호 작용하는 타임 라인을 동시에 보완하는 역할을한다는 것을 관찰합니다. 선형 논리는이 구조를 조사하는 데 필요한 표현 도구를 제공하며, 교정을 교정 및 교정 구성으로 확장함으로써 일련의 계산 가능성을 찾습니다. 우리는 이러한 가능성을 실현하기위한 세 가지 노력을 제시한다. (1) 서술을 생성하기 위해 선형 논리 프로그래밍의 사용; (2) 대화식 이야기, 게임 및 시뮬레이션을 작성하기위한 새로운 프로그래밍 언어; 그리고 (3) 디자인 수준의 프로그램 속성을 기술하고 증명하는 기술.

논리 의미론을 최소한으로 확장 한 선형 논리 프로그래밍은 광범위한 프로그래밍 관용구 및 도메인 인코딩을 가능하게합니다. 증거로 우리는 소셜 시뮬레이션, 전투 기반 어드벤처 게임 및 보드 게임을 포함한 5 가지 사례 연구를 제공합니다. 설계 정확성에 대한 추론을 지원하기 위해, 우리는 프로그램 불변량을 기술하고 입증하는 기술과 언어의 큰 조각에 대해 불변성을 자동으로 확인하는 결정 가능성 증명을 제시합니다.

이러한 결과는 선형 논리가 대화 형 세계를 모델링하고 실행하기위한 기초로 사용되는 유익한 표현 언어이며, 창의적인 시스템을위한 증명 이론 방법론을 사용하는 것에 대한 향후 조사를 초대합니다.


1
이는 유형 이론 그 자체가 아니라 선형 논리를 사용하는 것처럼 들립니다 .
David Richerby

6
선형 논리는 유형 이론의 초석 주제입니다. 이 연구는 유형 이론의 많은 부분을 원칙으로한다 (일부 사람들은 유형 이론과 동등하게 관련이있을 때 자신의 연구를 "증거 이론"으로 묘사하지만, "증거 이론"의 다른 작품들은 형식 이론의 중심이 아니라 증명 이론에보다 구체적이다).
gasche

9

언어학에서 유형 이론의 흥미로운 사용이 있었다. 예를 들어 Chung-chieh Shan 또는 Christian Rétoré 의 언어학 작품을 참조하십시오 .

Rétoré의 설명 아래에 인용 된 범주 적 문법에가 :

이 책은 Lambek의 연구에 의해 시작된 논리적 전통에서 범주 문법에 대한 현대적이고 포괄적 인 소개입니다. 이 과정은 학생들과 연구원을 현장의 기본 결과를 통해 안내하며, 최근의 진보 된 내용뿐만 아니라 많은 고전 이론의 현대적 증거를 제공합니다. 수많은 예와 연습은 언어 적, 계산적, 논리적 관점에서 이러한 결과의 동기와 적용을 보여줍니다. Lambek 미적분학과 그 변형 및 해당 문법은이 강의 노트의 핵심입니다. 이 범주 문법의 핵심 기능인 매우 우아한 구문-의미 적 인터페이스에 대해 설명합니다. 또한 Grail 파서에 예시 된 것처럼 효율적인 파싱 알고리즘을 제공하기 때문에 이러한 계산에 선형 논리 증명 네트를 적용합니다.

다음은 Shan의 언어 부작용 서적 장을 소개하는 인용문입니다 .

본 논문은 자연 언어의 명백한 비 조성 사례를 프로그래밍 언어의 경우와 관련시킨다. 모래 시계 모양입니다 : §1에서 구성 의미 론적 이론을 구축하는 데 도움이되는 구문-의미론 인터페이스에 대한 접근 방식으로 시작합니다. 그 접근 방식은 프로그래밍 언어의 계산 부작용과 자연 언어의 유추 언어 부작용에 의한 용어 사이의 비유를 그리는 것입니다.

이 연결은 언어 학자뿐만 아니라 컴퓨터 과학자들에게도 도움이 될 수 있지만, 저는 후자 기술 이전 방향에 중점을 둡니다. 지속은 계산 부작용을 치료하는데 유용하다. §2에서는 의미의 연속성을위한 새로운 금속 언어를 소개합니다.

제가 소개하는 metalanguage는 프로그래밍 언어와 자연어를 분석하는 데 유용합니다. 직관을 위해, 나는 §3의 첫 사용을 조사한 다음 §4에서이 치료의 장점을 지적합니다.

§5에서 자연어로 돌아가서,이 관점이 Chris Barker와 어떻게 결합과 교차, 그리고 질문과 우월성을 연구하는 데 도움이되었는지 자세히 설명합니다. 또한 연속체를 사용하여 특히 중국어 (Mandarin Chinese)에서 한정자 및 무한 범위를 연구했지만 §6에서 이러한 추가 개발을 스케치 할 여지가 있습니다.


9

Curry-Howard 대응으로 인해 유형은 제안으로 해석 될 수 있고 제안은 유형으로 해석 할 수 있습니다.

결과적으로 형식 이론은 문자 논리를 증명에 공식적으로 사용하는 모든 분야에 적용 할 수 있습니다. 회로 검증, 실제 분석, 기호 논리, 형상 등이 될 수 있습니다.

예를 들어, 일부 자동 증명 검사 도구는 이 원칙을 사용하여 작동합니다. 일부 형식 시스템에서 특정 용어를 형식 검사하여 증명의 유효성을 검사합니다. LF 교정 검사기는 HOL Light마찬가지로이 접근 방식을 기반으로합니다 . 예제 응용 프로그램으로 증명 운반 코드는 LF를 사용하여 신뢰할 수없는 코드의 메모리 안전성 증명을 확인했습니다. 이러한 종류의 증명 검사기를 사용하면 구현이 매우 간단하여 구현이 올바르다는 확신을 얻을 수 있습니다. 예를 들어 다음 용지를 참조하십시오.

증인이 적은 기초 증명 검사기 . Dinghao Wu, Andrew W. Appel, Aaron Stump. PPDP 2003.


이것은 도움이 될 수 있습니다 : math.ucr.edu/home/baez/rosetta.pdf
가명

나는 이것이 질문에 대답하지 않는다고 생각한다. 실제 응용 프로그램은 어떻습니까?
Yuval Filmus

@YuvalFilmus "실제"를 정의 하시겠습니까?
David Richerby

1
회로 검증, 실제 분석, 기호 논리 또는 형상에 대해 새로운 것을 증명하기 위해 유형 이론을 사용한 사람이 있습니까? 아니면 누군가가 20 페이지의 유형 이론을 사용하여 초등 교과서에 3 줄이 걸리는 것을 증명하는 경우에 대해서만 이야기하고 있습니까?
David Richerby

@David이 대답은 원칙적으로 유형 이론을 사용하여 물건을 증명할 수 있다는 것입니다. 또한 규칙 110이 튜링이 완료 되었기 때문에 원칙적으로 셀룰러 오토마타를 사용하여 물건을 증명할 수 있습니다. 나는 이전의 진술이 후자의 것만 큼 의미가 없다고 생각한다.
Yuval Filmus

7

종속 형식의 응용 프로그램을 설명하는 흥미로운 기사 는 Pi의 힘으로 Agda를 사용하여 흥미로운 문제를 해결하는 방법을 보여줍니다.

또 다른 좋은 예는 자원 제어에 종속 유형을 사용하는 것입니다. 좋은 예는 Effects of Idris 의 파일 관리 API입니다 . 예를 들어, 파일에서 행을 읽는 기능은 다음 유형을 갖습니다.

readLine  : { [FILE_IO (OpenFile Read)] } Eff String

이 기능은 파일이 열린 경우에만 적용 가능하도록 지정합니다. 중괄호 안의 목록은 사용 가능한 효과를 나타냅니다. 이 경우이 기능을 사용하려면 파일을 읽기 위해 열어야합니다.

효과 라이브러리에 대한 자세한 내용은 여기를 참조하십시오 .

또 다른 응용 프로그램은 Idris 작성자가 다음 기사 에서보고 한 바와 같이 동시성에 종속 유형을 사용하는 것입니다 .


1
더 많은 예제가 추가되었습니다.
Rodrigo Ribeiro

3

jmite의 답변에서 언급했듯이 회로 / 하드웨어 / 전자 검증의 고차 로직 / 유형 이론은 수십 년 동안 사용되어 왔으며 현재는 상당한 양도 노력을 거쳐 "응용 프로그램"으로 인식되지도 않았습니다. 여전히 활발한 연구 분야이지만 ~ 1990 년대. 또한 낮은 수준의 게이트 로직에서 훨씬 높은 레벨 / 차수 구조 / 서브 시스템에 이르기까지 회로 / 하드웨어 / 전자 검증에 Coq와 그 유형 로직을 많이 적용하고 있습니다. 다음은 몇 가지 주요 참조 사항입니다


1
공정하게 말하면, 산업 규모에서 대부분의 실제 하드웨어 검증은 일반적으로 유형 이론과 관련이없는 검증 기술인 모델 확인을 사용하여 수행되었습니다 (교량은 최근에 작성되었지만). 유형 이론은 하드웨어 설명 언어 (프로그래밍 언어에서 많이 가져 오지 않음)를 작성하는 데 사용되었으며 사용자가 제공하는 대부분의 언어는이 범주에 속하며 하드웨어 검증을 위해 설계된 일부 증거 지원자 (특히 원래 HOL이지만 하지 가장 많이 사용되는 PVS)는 유형 이론의 카레 - 하워드의 전치입니다.
gasche

하드웨어 검증에 대한 더 깊은 배경 지식이 있다면 Computer Science Chat 에서 더 자세한 내용을 듣는 것이 흥미로울 것 입니다. 예를 들어 모델 확인과 유형 이론 사이의 좁은 영역 / 개별적 라인 / 일반화는이 영역에서 그리 쉽지 않다고 생각합니다. 서로 다른 목표를 가진 두 개의 서로 다른 필드 사이의 연결을 포괄적으로 발견 / 조각하기 위해서는 매우 미묘한 과거 분석이 필요할 수 있으며 때로는 개별 필드의 전문가 기능을 벗어난 경우도 있습니다. ..
vzn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.