유형의 이중성은 어떻게 정의됩니까?


12

Wadler의 재귀 유형에서 무료로! [1], 그는 두 가지 유형을 시연했다 . ( F ( X ) X ) XX . ( X F ( X ) ) × X 이며, 이중 이라고 주장했다 . 특히, 그는 X 유형을 지적했다 . X ( X F ( X ) )아닙니다X.(F(X)X)XX.(XF(X))×XX.X(XF(X))전자의 이중. 여기서 문제의 이중성은 논리의 De Morgan 이중성과는 다른 것 같습니다. 나는 언급 된 세 가지 유형에 대해 유형의 이중성이 어떻게 정의되는지 궁금합니다. 왜 두 번째는 첫 번째의 이중이고 왜 세 번째는 그렇지 않습니다. 감사.

[1] http://homepages.inf.ed.ac.uk/wadler/papers/free-rectypes/free-rectypes.txt


나는 여기서 많이 도움이되지는 않지만 범주 이론적으로 들립니다.
Anthony

답변:


8

이와 관련하여, 이원성은 어떤 경우 에는 최소 고정 점을, 다른 경우에는 최대 고정 점 을 취하는 것을 의미합니다 . 우리는 어떤 의미에서 인지 이해하려고 노력해야합니다 . ( F ( X ) X ) XG = X . ( X F ( X ) ) × X 는 재귀 방정식 F ( X ) X 의 "최소"및 "최대"해입니다 .L=X.(F(X)X)XG=X.(XF(X))×XF(X)X

우선, G는 고정 점 (의 본질 제한 특정 기술 가정에서 참으로 F를 비교가 매핑 때문에) V : F ( L ) Lw : G F ( G ) 에 의해 주어진 VLGFv:F(L)Lw:GF(G) w ( X , ( f , x ) ) = F ( λ y : X

vxXg=g(F(λh:L.hXg)x)
isomorphisms이다. F 가 함수에 적용될 때 F 는 functor, 즉 모노톤이라는 사실을 사용했습니다.
w(X,(f,x))=F(λy:X.(X,(f,y)))(fx)
F

가정 어떤 솔루션 F ( Y ) Y 중재하는 동형으로 U : F ( Y ) Y . 그런 다음 우리는 정식지도가 α : L Y  와  β가 : Y G는 에 의해 정의 된 αYF(Y)Yu:F(Y)Y

α:LY and β:YG
β
αf=fYu
따라서, L은 이다적어도우리가 다른 솔루션에에서 매핑 할 수 있기 때문에, 그리고 G는 것입니다가장 큰우리가 어떤 다른 솔루션에서 매핑 할 수 있기 때문이다. 우리는 초기 대수와 최종 대수에 대해 이야기함으로써이 모든 것을보다 정확하게 만들 수 있지만, 나는 대답이 짧고 달콤 해지기를 원하며, 코디는 대수를 설명했습니다.
βy=(Y,(u1,y)).
LG

F(X)=1+A×XAA


LGFF(L)LGF(G)

vw

ww(X,(f,x))=F(λy:X.(X,(f,x)))(fx)

1
나는 w'그것이 당신이 동형 이라고 증명했다고 가정 하지만, 그것은 당신에게 유효한 대수를 제공합니까? (나는 그것을해야한다고 추측하지만 잘못 될 수 있습니다 ...) 사각형이 출퇴근처럼 보이지 않습니다.
CA McCann

그의 메모 : homepages.inf.ed.ac.uk/wadler/papers/free-rectypes/… 에서 Wadler는 첫 번째 버전을 제공합니다. 그러나 그는 그것을 조금 다르게 씁니다 : w (X, (f, x)) = F (unfold X k) (fx). 이것은 대지의 구조가 더 명확하게 나타나도록하고, 거의 즉시 적절한 코어 커프 형태의 정류를 제공합니다. camcann이 말했듯이 다른 버전에서는이 사각형을 출퇴근하지 않는다고 생각합니다.
코디

7

ICF:CCF

  • AC
    α:F(A)A
  • 화살표로 : 사각형

    F 대수 형태

IFI

  1. in:F(I)I
  2. F(A,α)fold:IA

I=X.(F(X)X)Xfold

fold=λi:I.i A α:IA
inF양성 요구 사항으로 볼 수 있습니다.

FF

  • ZC
    ω:ZF(Z)
  • Fαβ

T

  1. out:TF(T)
  2. FZcofold:ZT

T=X.(XF(X))×X

cofold=λz:Z.(Z,ω,z):ZT
T=X.X(XF(X))

6

λπ

유형을 프로세스 미적분학으로 변환 (분해)하면 이중성이 간단 해집니다. 입력은 출력에 이중이고 그 반대도 마찬가지 입니다. 이중성에는 더 많은 것이 없습니다.

πα=(Bool,Int)ααxx¯false,7α¯(v,w)vwα¯(bool,int)α¯xc(v,w).0

β=(int,(int))(v,w)vwβ¯=(int,(int))αα¯PαxQα¯xPQββ¯

X.(X,(X))(v,w)vXwXx

x(vw).w¯v
X.(X,(X))

공정 수준에서 범용 정량화 란 무엇을 의미합니까? 간단한 해석이 있습니다. 데이터가 유형 변수로 입력되면 출력의 대상으로 사용할 수 없으며 객체 만 사용할 수 있습니다. 따라서이 데이터를 검사 할 수 없으며 전달하거나 잊을 수만 있습니다.

X.(X,(X))X.(X,(X))

이것의 이론은 [1, 2, 3]에서 좀 더 자세하게 다루어졌고, 어떤 것은 접근하기가 더 어려웠으며, 4 의 극좌표 선형 논리와 이원성의 개념에 매우 정확하게 관련되어있다 .

λλπλπλ

π

π

π

4 K. Honda et al., 형식화 된 pi-calculus와 polarized proof-nets 사이의 정확한 대응 .

5 R. Milner, 프로세스 기능 .


1
re : ∀X 유형의 주민 수에 대한 요점. (X, (X) ↑) ↓. pi-calculus에 대한 "자유 정리"의 유사점이 있습니까? 그렇다면 어디서 논의해야합니까?
Dominic Mulligan

1
안녕하세요 @DominicMulligan, 그렇습니다. "무료 정리"가 있으며 [1, 2]에서 조금 조사했습니다. 나는이 방향으로 더 많은 것을 말할 수 있다고 생각합니다.
Martin Berger

1
@MartinBerger : 매개 변수를 사용하여 입력 된 pi-calculus에 대한 프로세스 동등성의 "올바른"개념이 무엇인지 알아낼 수 있습니까? 예를 들어, 시스템 F에서 파라 메트릭 논리 관계는 문맥 상 동등성에 해당합니다. 유추하여, 프로세스 동등성의 개념이 pi-calculus의 파라 메트릭 논리 관계에 해당하는 것이 특히 흥미로울 것으로 기대합니다.
닐 크리슈나 스와미

π

Bisimulation 기반 특성화는 모든 상황에서 폐쇄가 필요하지 않기 때문에 실제 추론에 유용합니다.
Martin Berger
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.