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


12

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

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


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

답변:


8

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

우선, 과 G는 고정 점 (의 본질 제한 특정 기술 가정에서 참으로 F를 비교가 매핑 때문에) V : F ( L ) → L 및 w : G → F ( G ) 에 의해 주어진 VLGFv:F(L)→Lw:G→F(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

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

F(X)=1+A×XAA


LGFF(L)→LG→F(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:C→CF

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

    F 대수 형태

IFI

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

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

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

FF

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

T

  1. out:T→F(T)
  2. FZcofold:Z→T

T=∃X.(X→F(X))×X

cofold=λz:Z.(Z,ω,z):Z→T
T=∃X.X→(X→F(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.