관계형 파라 메트릭은 어떻게 동기를 부여 할 수 있습니까?


15

파라 메트릭 다형성에 대한 관계 의미론의 본질을 이해하는 자연적인 방법이 있습니까?

나는 존 레이놀즈 (John John Reynolds)의 "유형, 추상화 및 파라 메트릭 다형성"이라는 관계 파라 메트릭의 개념에 대해 읽기 시작했고, 관계 시맨틱 스가 어떻게 동기 부여되는지 이해하는 데 어려움을 겪고있다. 집합 의미론은 나에게 완벽하게 의미가 있으며, 집합 의미론이 파라 메트릭 다형성을 설명하기에는 충분하지 않다는 것을 알고 있지만 관계형 의미론으로의 도약은 마술처럼 보이지 않습니다.

"기본 유형과 용어에 대한 관계를 가정 한 다음 파생 된 용어의 해석은 프로그래밍 언어에서 ... 그러한 것과 자연적인 것 사이의 자연스러운 관계 일뿐입니다. "? 아니면 다른 자연스러운 설명?

답변:


22

관계형 매개 변수는 John Reynolds가 소개 한 가장 중요한 아이디어 중 하나이므로 마술처럼 보이는 것은 놀라운 일이 아닙니다. 여기 그가 어떻게 발명했는지에 대한 동화가 있습니다.

특정 기능 (정체, 맵, 접기, 목록 반전)이 "다양한 유형에서 동일한 방식"으로 작동한다는 아이디어를 공식화하려고한다고 가정합니다. 이러한 맵, 즉 다형성 λ 미적분 또는 초기 변형을 생성합니다. 순진한 집합 이론적 의미론이 작동하지 않는 것을 알 수 있습니다.

예를 들어,

X:Type.XX,
유형을 응시합니다 . X X , 신원 만지도 있지만 세트 순 이론적 의미론을 포함해야한다 같은 불필요한 기능 허용
λX:Type.λa:X.if (X={0,1}) then 0 else a.
이런 종류의 일을 없애려면 함수에 대한 추가 조건을 부과해야합니다. 예를 들어, 우리는 몇 가지 도메인 이론을 시도 할 수 있습니다. 각 세트 X 에 부분 순서 X 하고 모든 함수가 모노톤이어야합니다. 그러나 위의 원치 않는 함수는 X 에 따라 일정하거나 동일 하고 단일 톤 맵 이기 때문에 잘 잘라 내지 않습니다 .

부분 차수 는 후 반성, 전 이적 및 비대칭입니다. 예를 들어 엄격한 부분 순서, 선형 순서, 등가 관계 또는 대칭 관계를 사용하여 구조를 변경하려고 할 수 있습니다. 그러나 각각의 경우에 원치 않는 예가 들어갑니다. 예를 들어, 대칭 관계는 원치 않는 기능을 제거하지만 다른 원치 않는 기능 (운동)을 허용합니다.

그리고 당신은 두 가지를 알 수 있습니다 :

  1. 예는 일부 주문 대신 사용할 어떤 관계 제거되지 않습니다 .
  2. 당신이 바라는 각각의 원치 않는 예에 대해, 당신은 그것을 제거하는 관계를 찾을 수 있지만, 그것들을 모두 제거하는 단일 관계는 없습니다.

따라서 원하는 기능이 모든 관계 를 유지하는 기능 이고 관계형 모델이 탄생 했다는 훌륭한 생각이 있습니다.


1
감사합니다 Andrej. 이것은 더 이상 의문을 제기합니다. 원치 않는 모든 예를 제거하는 더 작은 하위 계급 관계가 있습니까?
Tom Ellis

계산 가능한 맵에 대해서만 걱정하면되기 때문에 관계의 논리적 복잡성을 제한 할 수 있습니다. 그러나 나는 전문가가 대답하기에 충분하지 않습니다. @UdayReddy를 소환합니다.
Andrej Bauer

2
@TomEllis. 그렇습니다. 특별한 경우에 관계의 하위 클래스로 충분할 수 있습니다. 가장 즉각적인 특별한 경우는 모든 연산이 1 차이면 함수 (총 단일 값 관계)로 충분하다는 것입니다. 필드의 경우 부분 동형이 충분합니다. 레이놀즈의 주요 사례는 복소수의 분야이며 베셀과 데카르트 사이의 논리적 관계는 부분 동형이다.
Uday Reddy

4
@AndrejBauer. 참고 에는 정확히 하나의 파라 메트릭 요소가 있지만 임시 요소가 너무 많아 세트를 구성 할 수 없습니다! 따라서 할 일이많이있습니다. 레이놀즈가 어떻게 매개 변수를 얻었는지에 대한 대안적인 이론은 곧 나오는 "레이 놀스의 정수"에 나타납니다. X.XX
Uday Reddy

유형을 세트로 해석하면 원하지 않는 기능이 있음을 알 수 있습니다. 관계에도 동일하게 적용되지 않습니까? \X:Type. \a:X. if X = {(0,0), (1,0), (0,1), (1,1)} then 0 else a
Jules

11

귀하의 질문에 대한 답변은 실제로 레이놀즈의 우화에 있습니다 (섹션 1). 내가 당신을 위해 그것을 해석하려고합니다.

타입이 추상화 로 취급되는 언어 나 형식에서 타입 변수는 어떤 추상적 개념을 나타낼 수 있습니다. 우리는 타입 용어의 구문이나 타입 연산자의 고정 된 컬렉션을 통해 타입이 생성되거나 두 타입이 같은지 등을 테스트 할 수 있다고 가정하지 않습니다. 함수가 해당 유형의 값에 대해 수행 할 수있는 것은 주어진 값을 섞는 것입니다. 해당 유형이 무엇인지 "알지"않기 때문에 해당 유형의 새로운 값을 발명 할 수 없습니다! 그것은 파라 메트릭 의 직관적 인 아이디어입니다 .

tAAR:AAxAxAxxRtxxRxx

AAAAAA

RIKKt×IntInt×tR×IIntIInt×Rf(x,n)(x,n)(m,x)(m,x)F(IA1,,IAn)=IF(A1,,An) 특성.

tttIntInttt×tt×t(tt)t(tt)(tt)


마침내 소환이 효과가있었습니다!
Andrej Bauer

2
@AndrejBauer. 흠, 나는 실제로 소환을 얻지 못했습니다. @ UdayReddy incantation은 주석의 시작 부분에서만 작동합니다. 어쨌든 소환이 필요하지 않습니다. "파라 메트릭"은 필터 중 하나입니다.
Uday Reddy

"이 유형의 값에 대해 함수가 수행 할 수있는 유일한 것은 주어진 값을 셔플하는 것입니다."실제로 셔플 링과는 별도로 함수는 주어진 값을 지우고 (약화) 복사 (수축) 할 수 있습니다. 이러한 작업을 항상 사용할 수 있기 때문에 그 가치는 추상적 일 수 없습니다.
Łukasz Lew

@ ŁukaszLew, 당신이 맞아요. 그래도 "추억"의 손실로 특징 지을 수 있을지 모르겠습니다.
Uday Reddy 2016 년

@UdayReddy 나는 칭찬을 제거하고 이것을 독립형 질문으로 물었다 .
Łukasz Lew

3

ω

또한 동일한 확장 동작을 가진 함수를 식별하고 싶기 때문에 등가 관계가 발생합니다. "정의되지 않은"함수, 즉 잘 구성된 입력에 대해 "루프"하는 함수를 제외하면 관계는 부분적입니다.

PER 모델은이를 일반화합니다.

이러한 모델을 보는 또 다른 방법은 Homotopy Type Theory 의 단순 세트 모델의 (매우) 특별한 경우입니다 . 이 프레임 워크에서 유형은 (일반화), 관계가있는 세트 및 이러한 관계 간의 관계 등으로 해석됩니다. 가장 낮은 수준에서는 PER 모델이 있습니다.

마지막으로, 건설 수학 분야는 관련 개념의 출현을 보았으며, 특히 주교 세트 이론은 요소와 명시 적 평등 관계를 부여함으로써 세트를 설명하는 것을 포함하며, 이는 동등해야합니다. 건설 수학의 일부 원리가 유형 이론으로 나아갈 것으로 기대하는 것은 당연합니다.


1
아, 그러나 PER 모델은 그다지 좋지 않으며 여러 가지 다형성 함수를 포함 할 수 있습니다. 관계형 PER 모델을 제거하여 제거해야합니다.
Andrej Bauer

그래도 관계 접근 방식에 동기를 부여한다고 생각합니다.
코디

@cody. 나는 동의한다. 저는 PER을 "집합 이론"과 관련하여 구축하는 방법으로 생각합니다. 그래서 우리는 처음에 불완전한 모델을 얻을 수 있습니다. Homotopy 유형 이론을 언급 해 주셔서 감사합니다. 비슷한 아이디어가 있다는 것을 몰랐습니다.
Uday Reddy

@UdayReddy : 아이디어는 매우 비슷합니다! 특히, 추상 유형을 종속성과 관련시키는 "호환 가능한 종속 구현"의 아이디어는 1가 등가의 렌즈를 통해 이해 될 수있다.
코디
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.