Applicative Intersection Types

HKU PL Group Papers - Index

Metadata

Why this note exists

This note is part of the HKU PL Group literature knowledge base for work on iso-recursive subtyping, intersection types, union types, disjointness, merge operators, and compositional programming. It is designed for later Coding Agent / Proof Agent use during proof search, design brainstorming, and comparison against prior systems.

Extraction quality note

This is the fast pass generated with pymupdf4llm, not the heavier marker-pdf pass. The original PDF is linked above and kept in _pdfs/. Figures/images detected by PyMuPDF are saved under _assets/. Some mathematical notation may still require checking against the PDF, especially inference rules with complex layouts.

Technical landmarks detected automatically

These are line references into the converted Markdown below. They are meant as a quick navigation layer for rules, lemmas, theorems, proofs, algorithms, examples, and counterexamples.

  • line 1: ����������������������������
  • line 11: � ������������
  • line 21: � ����������
  • line 41: � ��������
  • line 49: ��� ����������
  • line 55: ��� ������������������������������
  • line 73: ����� �→ ��� �������� �→ ������
  • line 77: ������������ → ������������ → �����������������������
  • line 85: ���������������������� �→ ����������
  • line 95: ������������������� �→ ������
  • line 99: ��� �����������������������������������
  • line 105: ���� → ������������� → ������������ → ������
  • line 113: � ����������
  • line 117: ���������� → ���� → ������������� → ������� ������ λ ������
  • line 122:
  • line 130:
  • line 139: ��� ������������������
  • line 191: � ��������������������
  • line 195: ��� �����������������
  • line 200:
  • line 216:
  • line 221: ��� ��������������������
  • line 226:
  • line 239: ��� ����������
  • line 259: � ����������������������������������������
  • line 265: �� ����������
  • line 268:
  • line 273: ��� ������
  • line 281: ��� ������
  • line 294:
  • line 299: ��� ���������
  • line 309: �� ����������
  • line 317: ��� �������������
  • line 321: �������������������������������������������������
  • line 327: ���������������������������������������������
  • line 354: � �����������������������������������
  • line 358: ��� ������������
  • line 363:
  • line 372: �� ����������
  • line 378: ��������������������������������������������� �� A ∗ B � A ≪ S = C1 ��� B ≪ S = C2 ����� C1 ∗ C2 �
  • line 386: ��� ������������������
  • line 391:
  • line 400: ��� ���������������������������
  • line 406: � �����������
  • line 414: �� ����������
  • line 420: � �����������������������
  • line 424: ���������������
  • line 428: ����������

Full converted paper text

����������������������������

�����[1] ��������������������[1] ���������������[2]

1 ��������������������������

2 ������������������������

��������� ���������������������������������������������������� ��������������������������������� ���������������������������� ���� ������������� ����������������� ��� ��������������������� ������� �������������������������������������������������������������� ����������������������������������������������������������� ������������������������������������������������������������ ������������������������������������������������������������ ������������������������������������������������������������� ������������������������������������������������������������� �������������������������������������������������������������� �������������������������������������������������������������� ������������������������������������������������������������ ���������������������������������������������������������������� ��������������������������������������������������������������� ����������������������������������������������������������� �����������������������������������������������������������

� ������������

����������� ����������������� ���������������������������������������� �������������������������������������������������������������������� ���������������������������������� ������������� ������������������� ���������������������������������������������������������������������� ������������������������������������������������������������������� ������������������������������������������������������������������� ���������������������������������������������������������������� ����������������������������������� ������������������� ������ ���������� ����������� ����� ����������������� ��������� ����������������� �������

������������������������������������������������������������������� �������������������������������������������������������������������� ������������������������������������������������������������������� ��������������������������������������������������������������������� ������������������������������������������������������������������������ ������������������������������������������������������������������� �������������������������������������������������������������������� �������������������������������������������������������������������

��������������������������������������������������������������� ����������������������������������������������������������������������

--- end of page.page_number=1 ---

� ����������

������������������������������������������������������������������ ������������ ������������ ��� ���������������� ����������������������������� ��������������������������������������������������������������������� ���������������������� �������������������� ���������������������������� ������������������������������������������������������������������������ ��������������������������������������������������������������������� ������������������������������������������������������������������������� ���������������������������������������������������������������������� ��������������������������������������������������������

����������������������������������������������������������������� ����������������������������������������������������������������� ������������������������������������������������������������������������ ������������ ������ �� ���������� ��������������������������������� �������������������������������������������������������������������� �������������������������������������������������������������� ���������������������������������������������������������������������� ���������������������������������������������������������������������� ����������������������������������������������������������������������� � ��������� �������������������������������������������������������� ������������������������������������������������������������������� ����������������������������������������������������������������������� �������������������������������������������������

�����������������������������������������

  • ������������������������������������������������������������ ��������� ������������������������������������������������������� ����������������������������������������������������������������� ������������������������������

  • ������������������������������������ ������������������������ �������������������������������������������������������������������� ������������������������������������������������������������������ �����������������������������������������������������

  • �������������������������������� ������������������������������� ������������������������������������������������������������������ ����������������������������������������������������������

  • ������������������������������������������ ���������������� ����������������������������������������������������������������� ������������������������������������������������������������

������������������������������������������������������

� ��������

��������������������������������������������������������������������� �������������������������������������������������������������������� ���������������������������������

--- end of page.page_number=2 ---

���������������������������� �

��� ����������

��������������������������������� ���������������������������� ����������������������������������������������������� A � B ����������� ����������������������� A ������� B��������������������������� , ,�������������������������������������������������������������� ������������������������������������������������������������������� ���������������������������������������������������������������������� �������������������������������������������������������������������� ���������������������������������������������������������������� ��������������������������������������������� �������� ������������ ������ ��� ���������������������������������������������������� �������������������������������������������������������������������� ������������� ��� ��� ���� ������������������������������������������� �� ��� ������������������������������������������������������ ������������������������������������������������������������������� �������������������������������������������������������������������� ������� ���������� �������� ��������������������������������������� ���������������������������������������������������������������� �������������������������������������������������������������������� ������������������������������������������������������������������� ��������������������������������������������������������������������� ������������������������

������������������������� ������������������������������������������ ������������������������������������������������������������������� ����������������������� ��� ��� ���� ��������������������� �������� �� �������������� ������� ����������������������������������������������� ������������������������������������������������������������������ ��������������������������������������������������������������������� ������������������������������������������������������������������������ ���������������������������������������������������������������������� ���������

��� ������������������������������

��������������������������������������������������������������� ���������������������������������������������������������������� ���������������������������������������������������������������������� ��������������������������������������������������������������� ��������������������������� �������������������������������� ��������������������������������������������������������������������� ������������������������������������������������������������������������ ������������������������������ ��������������������� �������� ��� ��������������������� ����������������������������������������������� ������������������������������������������������������������������� ������������������������������� �→ �����������������

--- end of page.page_number=3 ---

  • ����������

���������������������������� �→ �������

������������������� ��������������������������������������������� ������������������������������������������������������������������ ����������������������������������������������������������������� �������������������������������������� ���� �������������������������� ����������������������������������������������������������������������� ������������� ����� ������ �� ���� ��������������������

��������������������������������������������������������������� ������������������������������� ���� ������������������������ ���� �������� ������������ ���� ������������� �������

��������� ������������� �������������������������

�������������� ���� ������������������������������������������ ��������������������������������������������������������������������

����� �→ ��� �������� �→ ������

��������������������� ��������������������������������������� ����� ����������� ������ ����������������������������������� ����������� ���� �������������������������������������������� ���� � ����������������������������� ���� ����������������������

������������ ������������ �����������������������

������������������������������ �������������������������������� ���� ��������������������������������������������������������������� ����������������������������������������������������������������� ������������������������� ���� ����������������������������������� ��� �����������������������������������������������

������������� �→ � ��������������� �→ �����

����������������� ��������������������������������������������������� ����������������������������������������������������������������������� ������������������������������������������������������������������ ������������������������������������������������������������������� ������������������������������������ {l : A} � {l : B} <: {l : A � B}��������� ������������������������������������

���������������������� �→ ����������

�������������� ����� ���������������������������������������� ��������������������������������������������������������������������� ��������������������������������������������������������������������� ������������ ������������������������ ���������������������������������� ���������������������������������������������������������������� �� ������������������ ��������������������������������������������� ��������������������

--- end of page.page_number=4 ---

���������������������������� �

����������������������������������������������������������������� ������������� (A B) � (A C) <: A (B � C)����������������������� ���������������������������������

������������������� �→ ������

������������������������������������ ������������� ���������� ����� ������������������������������������������������������������������ �������������������������������������������������

��� �����������������������������������

��������������������������������������������������������������� ������������������������������������������������������������������� �������������������������������������������������������������������� �������������������������������������������������������������������� ������������������������������������������������

������������������������������������� ��������������������������� ������������ e1 e2 ������������� e.l� e1 ������������������������������ e �������������������������������������������������������������� ������������������������������������������������������������������� �������������������������������������������������������������������� ���������������������������������������������������������������������� ���������� ������� ������������� ���� ��������������������������

���� ������������� ������������ ������

����������������������������������������������������������� ����������������������������������� ��������������������������������� ���������������������������������������������������������������� ���������������������������������������������������������������� ��������������������������������������������������������������������� ��������������������������������������������������������������������� ������ ��� ������ ����������������� ���� ������ ������������������ ���������� ������ ��������������������������������������������������� ��������������������������������������������������������� ��� ������ �������������������� ��������� �������� ������������������������ ��������������������������������� ���� ������������������������������ �������������������������������������������������������������������� ��������������������������������������������������������������������� ����������������������������������������������������������������� ��������������������������������������������������

����������������������������������������������������������������� ��������������������������� λi+ ����������������������������������������� ������������������������������������������������� ���������������� ����������� ���������������������������������������������������� �������������������������������������������������������������������� ��������������������������������������������������������������������� ����������

--- end of page.page_number=5 ---

� ����������

���������������� ������������������������������������������������� �������������������������������������������������������������������� ���������������������������������������������������������������� ����������������������������������������������������������������� ������������������������������������������������������������������� ���������������������������������������������������������������� ������������������������������������������������������������������� ����������������������������������������

���������� ���� ������������� ������� ������ λ ������

���������������������������������������������������������������� ������������������������������������������������������������������ �������������������������

��������������������������������������������������������� ����� ����� ���������������� ���� ��� ������ ��� ���� ���� ������ ������� ��������������������������������������������������� ����� �������������� ����� ��� ������������� ���� ������� ����������������������� �������������������������������������������������������������������� �����������������������������������������������������������������

�������������������������� ����������������������������������� ��������������������������������������������������������������� ��������������������������������������������������������������� ������������������������������������������������������������������ ������������������������������������������������������������������ ��������������������������������������������������������������� ��������������������������������������������������������������������� �������������������������������������������������������������������� ��������������������������������������������������������������������� ��������������������������������������������������������������������� �������������������������������������������������������������������� ��������������������������������������������������������������������� ������������������

��������������� ���� ��������������������������������� ����������� �� ������ ������������������������������������������ ������� ��������� ����������������������������������������������������������������������� ������������������������������������������������������������������ ������������������������������� ��� ������������ ������������ �� �������� ���������������� ���� ���������� �����

--- end of page.page_number=6 ---

���������������������������� �

��� ������������������

�������������������� �������������������������������������������� ������������������������������������������������������������������� ������������������������������������������������������������������������� ������������������������������������������������������������������ ������������������������������������� �������������������� ���������� ������������������������������������������� A ���������������������� ��������������������������������������� B��������������������������� ���������������������������������������������������������������� ����������������������� A���������� l��������������������������������� �������������������������������������������������������������������� ���������������������������������������������������������������������� ����������������������� <:��������������������� ���������������� ���� ���

���� ������������� ������������

����������������������������������������������������������������� ��������������������������������������������������������������� �� ������������ ������ ��� ��� �������������� ��� ������ ����������������� ��������������� ���������� ������������������������������������������� ����������������������

�������������������������

������������������������������������������������������������������ ����������������������������������� S �������������������������������� ������������������������������������������������������������������������ ������������������������������������������������������������� ⊚ ����� ������������������������������������������������������������������������ �������������������������������������������� . ���������������������� ��������������������������������������� �������������������������

���� ������������� ������� ��� �������� ������� ������������ ����� �������������� ���������� ����������� � �������� ���������� �������� � ����������

������������������������������������������������������������������� ���������������� �������������������������������������������������� ������������������������������������������������������������������� ������������������������������������������������� ⊚��������������� ���������������������������������������������������������������������� �������������������������������������������������������������������� ������������������������������������������������������������������ ��������������������������������������������������������������

������������������ �� A B = C ����� A <: B C

��������������������� �� A <: B C ����� ∃ D, A B = D ∧ D <: C

--- end of page.page_number=7 ---

  • ����������
.⊚.=.
A1⊚.=A1
.⊚.=..⊚A2=A2
A1⊚.=A1Amb⊚O=Amb
.⊚A2=A2O⊚Amb=Amb
A1⊚A2=A1�A2A1⊚A2=Amb

������������������������������ ������������������������

����������������������������������������������������������������������� ���������������������������������������������������������������������� Amb ����������������������������������������������������������������� O ���������������������������������������������������������

����������������������������������������������������������������� ����������������� ⊚ ���������������������������������������������������� ������������������������������������������������������������������������ ��������� ⊚������������������������������������������������������������ ��������������������� (A B) � (A C) <: A (B � C)���������������� ������������������������������������������������������������������ �������������������������������������������������������������������� �������������������������������������������������������������������� � �������������������������� ������������������������������������������ ��������� ������� ������������� �������� ������������������������� ������������������ ������� ������������ ����� ������ ��������� ���������������������� �������� ������������������������������������ ������������������������������������������������������������������� ���������������������������������������������������������������� ��������� ������� ������������������������������������������� ������������������������������������������������ ����������������� ���� ��������������������������������������������������������������� ���������������������������������������������������������������������� �������������������������������������������������������������������� ������������������������������������������������������������������ ������������������������������������������������������������������ ����������������������������������������������������������������� ������������������������������������������� ���� ������������ ��������� ������������ �������������������������������������������� �������������������������������������������������������������������� ��������� ��� ������

������������������ ����������������������������������������� ���������������������������������������������������������������� ���������������������� ������������������������������������������������� ������������������������������������������������������������������

--- end of page.page_number=8 ---

���������������������������� �

������������������������������������������������������������������������ �������������������������������������������������������������������� ��������������������������������������������������������������� ������������������������������������������������������������������� ��������������

���������� ����������������������������������������������������� ��������������������������������������������������������������������� ������������������������������������������������������������������ ��������������������������������������������������������������������� ������������������������������������������������������������������� ��������������������������������������������������������������������� �������������������������������������������������������������������� ������������������������������������������������������������������� ������������������������������������������������������������������� ���� �������������� ��� ������ ����������������� ���� ������ ����������� ���������������

� ��������������������

��������������������������������������������������������������������� ����������������������������������������

��� �����������������

������������������������������������

A ��� B ������������������������������������ Int ��� Top ������������ ��� Top ������������������������������������������������������ A B� ����������������� A � B��������������� {l : A}�������������������������� �������������������������������������������������������������������������� ������������������������������

����������������������� ����������������������������������������� ��������������������������������������������������������������������� ��������������������������������������������������������������������� ��������������������������������������������������������������������� ������������������������������������������������������������������ ������������������������������������������������������������������� ������������������������������������������������������������������ ������������������������������������������������������������������� ����������������������������������������������� ������� ��������� ������������������������������������������������������������������������ ��������������������������������������������� B ������������ B1 ��� B2 ��������������������������� A ���������������� B1 ��� B2�

--- end of page.page_number=9 ---

�� ����������

A� � A � A� ����������������� ������ ������ ������ B� � B � B� A� � A � A� A � A � B � B A B� � A B � A B� { : A�} � { : A} � { : A�} A <: B ����������� ������� ������� ������� ������� C <: A B <: D[o] A <: B[o] ��� <: ��� A <: ��� A B <: C D[o] { : A} <: { : B[o] } ������� ��������� ��������� B� � B � B� A <: B� A <: B� A <: C[o] B <: C[o] A <: B A � B <: C[o] A � B <: C[o]

��������������������������������������������

��������������������������

��� ��������������������

��������������������������������������� ��������� ��������������������� ��������������������������������������������������������������������� ��������������������������������������������������������������������� ����������������������������������������������������������������� �������������������������������������������������������������������� ������������������������������������������������������

������������������������������������������������������������������� ��������������������������������������������������������������� �������������������������������������������������������������� �������������������������������������� A1 ����������� B�������������� ������������� A2 �������������������������������������������������� ������������������������������������������������������������������� ���� A������������������������������������������������� A1 � A2 ������ ����������������������������� ⊚ ���������������������������������� ������������ A1 ��� A2 ������������������� B�����������������������

--- end of page.page_number=10 ---

���������������������������� ��

������������������� Int S��������������������������������������������� ����������������������������������

�������������������������������������������������������������� �������������������������������������������������������������������� �������������������������������������������������������������������� �������

��� ����������

���������������������������������������������������������������� ������������������������������������������������������������������� ����������������������������������������������������������������������� ������������������������������������������������������������������� ������������������������������������

���������������������������� �� A B = C ����� A <: B C

������������������������������� �� A <: B C ����� ∃ D, A B = D ∧ D <: C

���������������������������������������������������������������������� ������������ A ��������������� B ������������� C ����������������� �������� A <: B C���������������������������������� A ���������� ��������������� B C ��������������������������������������������� �������������� D ����������������� C�

�������������������������������������������������������������� ���������������������������������������

�������������������������� �� A l = B ����� A <: {l : B}

����������������������������� �� A <: {l : B} ����� ∃ C, A l = C ∧ C <: B

������ ��������������������������������������������������������������� ���������������������������� ������ ��� �������������������������� ��������������������������������������������������������������� ����������������������������������������������������������������� ������������������������������������������������������������� ����������������������������������������������������������������� ���������������������������������������������������

��������������������� �� A <: B C ����� ( D, A B = D ∧ D <: C) ∨ A B = Amb

� ����������������������������������������

���������������������������������������������������������������������� ������������������������������������������������������������������ ����������������������������������������������������������������������� ������������������������������������������������������������������ ������������������������������������������������������

--- end of page.page_number=11 ---

�� ����������

������������������������������������������������������� ::= |

��� ������

��������������������������

����������� e ::= x | i | e : A | e1 e2 | λx .e : A B | e1, , e2 | {l = e} | e.l ��������� p ::= i | λx .e : A B ������ v ::= p : A[o] | v1, , v2 | {l = v} �������� Γ ::= · | Γ, x : A

�������������������������������������������� λx. e : A B ������������� ���������������������������������������������������������������� e1, , e2 ����������������������������� e1 ��� e2�������������� {l = e} ������� ��������������������������� l ������� e������������������������������� �������� e.l������������������������������������������������������ ������������������������������������������������������������������� ����������������������������������������������������������������� �������������������������������������������������������������������� ���������������������������������������������������������������������� ��������������������������������������������������������������������

��� ������

������������������������������������������������������������������ ��������������������������������������������������������� ����� ��� �� ��������������������������������������������������������

�������������������������������� ��������������������������������� ������������������������������������������������������������������� �������������������������A ��� B ������ ��������������������������� ������ C ���������������������������������������������������������������� �������������������������������������������������������������� �����������������������������������������������������������������

--- end of page.page_number=12 ---

���������������������������� ��

��������������������������������������������������������������������� ������������� �������������������������������������� �������� ��������������������������� ����� ����������������� ������ à = f : I I I, g : I B B��I ��� B �������� Int ��� Bool�

�������������������������������������������������������������������� ���������������������������������������� (f, , g) 2 true���������������� ��������� (f, , g) 2 ��� true���������� (f, , g) 2 �� (Int Int) � (Bool Bool)��������������������������������������������������������������� ���������������� f, , g ��������� 2������������������������������ (f, , g) 2 ������������������� Bool�

��� ���������

��������������������������������������������������������������������� ����������������������������������������������������������������� ������� ��������������������������������������������� v �−→ A v [′] ������������������ v ������������� v [′] ������ A���������������������� ����������������������� A������������������������������������������ ����������������������������������� �������� ��� �������� ����� ���������������������������������������������������������� ���� ���� �������� ������� ������ ��� ������

���������������������� ����������������������������������������� ���������������������������������������������� ������������������� ������ ������������������������������������������������������������������� �������� (v vl) �→ e ������������������ v ����������������������� vl ����� vl ::= v | l���������������������� e����� ������� ������������� ������������������������������������ D ��������������������������� ���������������� �������� ����������������������������������������� �������������������������������������������������������������������� vl ���������������������������������������������������������� �������������������������������������������������������������������� ����� ��������� ��� ������������������������������������������ ����������������������������������������������� ��������� ��������� �������������������������������������������������������������

�������������������� �������������������������������������������� ����� ������������ ��� ������������ ������������������������������� �������������������������������������������������������� ������������� ��������������������������������������������������������������������� ������������������������ �������� ��� �������� ����������������������� ���������������� ������������ ���������������� v �������� v [′] ������ A�

--- end of page.page_number=13 ---

�� ����������

v �−→ A v [′] ��������� ������ ������ ������ v �−→ Ao v [′] � : A �−→ ��� : ��� v �−→ ��� : ��� { = v} �−→ { :Ao} { = v [′] } ������ �������� E <: C D[o] v� �−→ Ao v� [′] . e : A B) : E �−→ (C Do) (λ . e : A D[o] ) : (C D[o] ) v� , , v� �−→ Ao v� [′] �������� ������ v� �−→ Ao v� [′] A� � A � A� v �−→ A� v� v �−→ A� v� v� , , v� �−→ Ao v� [′] v �−→ A v� , , v� (v vl) �→ e ������������������������ ������� �������� v �−→ A v [′] ((λ . e : A B) : C D v) �→ e[ � �→ v [′] ] : D ({ = v} • � ) �→ v ��������� ��������� v2 ⟩≪⟨ vl = . (v� vl) �→ e v1 ⟩≪⟨ vl = . (v� vl) �→ e ((v� , , v�) vl) �→ e ((v� , , v�) vl) �→ e ��������� v1 ⟩≪⟨ vl ⟩̸ = . v2 ⟩≪⟨ vl ⟩̸ = . (v� vl) �→ e� (v� vl) �→ e� ((v� , , v�) vl) �→ e� , , e�

��������������������������������������

���� �������� ������������������������������������� e ������������ ����� p�������������������������������������������

��� �������������

�������������������������������������������������������������� ������������������������������������������������������������������� ���������������������������������������������������

�������������������������������������������������

�� · ⊢ v1 v2 A ��� v1 v2 �→ e ����� · ⊢ e A

�� · ⊢ v.l A ��� v l �→ e ����� · ⊢ e A

���������������������������������������������

�� · ⊢ v1 v2 A ����� ∃ e, v1 v2 �→ e

�� · ⊢ v.l A ����� ∃ e, v l �→ e

����������������������������������������������������������������

����������������������� �� · ⊢ e A ��� e �−→ e [′] ����� · ⊢ e [′] ⇐ A

������������������� �� · ⊢ e A ����� e ���������� ∃ e [′] , e �−→ e [′] �

--- end of page.page_number=14 ---

���������������������������� ��

��������������������������������
→_B
��������
(v�
v�) �→_e
v�v�_−→_e
��������
¬e_∈_p
e −→_e

e:A −→_e
:A
����������
e�_−→_e_′

e�, , e�_−→_e

�, , e�
����������
e −→_e

e.�−→_e′_.
��������������������
→_B
��������
(v�
v�) �→_e
v�v�_−→_e
��������
¬e_∈_p
e −→_e

e:A −→_e
:A
����������
e�_−→_e_′

e�, , e�_−→_e

�, , e�
����������
e −→_e

e.�−→_e′_.
�������������
��������
(v�_•_v�) _�→_e
e
e�, , e�_−→_e_′
�, , e�
����������
e −→_e

e.�−→_e′_.

���������������������

��������������������������

� �����������������������������������

�������������������������������������������������������������������������� �������������������������������������������������������������������� ������������������������������������������������������������������ ������������������������������������������������������������������� ��������������������������������������������������������������������� �������������������������������������������������������������������� �������������������������������������������������������������������� ��������������������������

��� ������������

�������������������������������������������������������������������� ���������������������������������������� �������� ������������������� ������������������������������������������������������������������ �������������� Top� Top � Top�������������

��������������������������������������������������������������� �������������������������������������������������������������������� �������������������������������������������������������������������� ��������������������������������������������������������������������� ������������������������������������������������������������

������������������������� A B ≜ C �� A <: C∧B <: C ����� C �����������

--- end of page.page_number=15 ---

�� ����������

�������������������������������������������������������������� Int Int �� Int Bool ������������������������������������������������������ ��������� Int Top ��������������������������������������������������� ���� Int Int ��� Int Bool ���������������������������������������� ���������������������������������������������������������������������� ��������������� ���� �� ���� ������������� ������� ������������ ��������������������������������������� ��� ������ ����������������� ���� ������ ����������������������������������������� ���� ���� ������ ����������������������������������������������������� ���������� ���� �������������� �������������������� ���������������� �������������������� ��� �� ������ ���������������������������������� ������������������������� ��������� ������������������� ��� ��� ���������� ���� ���� ����

������������������������������������������������������������������ �������������������� ����� ���� A <: B ����� B ��������� B ����������� ����������������������������������������������������������������������� �������������������������������������������������������������������������� �����������������������������������������������

��������������������������������������������� �� A B A S = C1 ��� B S = C2 ����� C1 C2

����������������������������������������������� ����������� ��������������������������������������������������������������������� ��������������������������������������������������������������� �����������������������������������������������������������

�������������������������������������������� �� A <: B C � ���� ( D, A B = D ∧ D <: C) ∨ Top <: C

������������������������������������������������������������������� ����������������������������������������������������������������������� ������������������������������������������������������������������� ��������������������� ������ ��� ��������� �������� ��������������� �������������������������������������������������������������������� �����������������������������������������������������������������

��� ������������������

������������������������������������������������������ ������

������������������������������������������������������������������� ������������������������������������������������������������������ �������������������������������������������������������������������� �����������������������������������������������

--- end of page.page_number=16 ---

���������������������������� ��

��� ���������������������������

��������������������������������������������������������������������� �������������������������������������������������������������������� ��������������������������������������������������������

���������������������� �� · ⊢ e A e �−→ e1 ��� e �−→ e2 ����� e1 = e2

� �����������

�������������������������������������� ��������������������� �������������������������������������������������������������������� ������������������������������������������������������������������� �������������������������������������������������������� ���� ��������� ������������� F∧ ��������������������������������������������������� ������������������������������������������������������������������� ���������������������������������������������������������������������� ����������������������������������������������������������������������� �������������������������������������������������������������������� ���������������������������������������������������������������������� ��������������������������������������������������������������������� ��������������������������������������������������������������������� ������������������������������������������������������������������ ����������������������������������������������������������������� �������������������������������������� ���������������� ���������������� �������������������������������������������������������������������� ����������������������������������������������������������

������������������������������������������������������������������ ������������������������������������������������������������������������� ������������������������������������������������������������������� ����������������������������� ���������� ��������������������������� ���������������� ������ ��������������������������������������� ����������������������������������������������������������������������� �������������������������������������������������������������������� ������������������������������������������������� λ[+] i[�������������] ������������������������������������������������������������������� ���������������������������������������������������� λ[+] i[�������] ����������������������������������������������������������� ��� ��������� ���������������������������������������������������������������� λ[+] i[����������������������������������������������������������������] ������������������������ λ[+] i[�������������������������������������������] ������������������������� λ[+] i[���][λ][+] i[�������������������������������] ���������������������� ���������������� ����� ��������������������� ����������������������� λ[+] i[�������������������������] [������������][������] ������������������ λ[+] i[�]

--- end of page.page_number=17 ---

�� ����������

�������������������������������������������������������������� ������������������������������������������������������������������� ������������������������������������������ ������������ ��� ������������������ � ������������������������������������������������������������������������� ��������������������������������������������������������������������� ����������������������������������������������������������������������� ������������������������������������������������������������������� ������������������������������������������������������������������� ����������������������������������������������������������������������� �������� �������������������������������������������������������������� �������������������������������������������������������

����������������� ���������������������������������������������� ������������������������������������������������������������������ ���������������������������������������������������������������������� �������������������������������������������������������������������� ����������������������������������������������������� �������� ������ ������������������������������������������������������������������� ���� �� �������� ������ ���������������������������������������� ��������������������������������������������������������������������� ��������������������������������������������������������������������� ��������������������������������������������������������������

� �����������������������

��������������������������������������������������������������������� ��������������������������������������������������������������������� �������������������������������������������������������������������� ����������������������������������������������������������������� �������������������������������������������������������������������� ������������������������������������������������������������������������ �������������������������������������������������������������������� ���������������������������������������������������������������������� ����������������������������������������������

���������������

������������������������������������������������������������������� ����������������������������������������������������������������� �������������������������������������������������������������� ���������������������������������������������������������������� �����������������������������

����������

  • ��������������������������������������������������������� ���������������� ������������������������������������������������������������

--- end of page.page_number=18 ---

���������������������������� ��

  • ������������������������������������������������������������������������� ������������������������������������������

  • ���������������������������������������������������������������������� ������������������������������������������������������� �� ����������� ������

  • ������������������������������������������������������������������������� �������������������������������������������������������������� ���������������������������������������������������

  • ���������������������������������������������������������������������� ��������������������������������������������������������� �� ������� ���������

  • ������������������������������������������������������������������������ �������������������������������� ��� �����������������

  • �������������������������������������������������������������������������� �������������������������������� �� �����������������

  • ����������������������������������������������������������������������� ������������������������������������������������������������������ �������������������������

  • ������������������������������������������������������������������������� �������� �� �������������������

  • ��������������������������������������������������������������������� ������ �� ��������������

  • ��������������������������������������������������������������������� �������������������������������������

  • ���������������������������������������������������������������������� ������������������������������������������������������������������� ������������������������������������������������������������������ ����������������������������������������������������������������

  • ������������������������������������������������������������������ ����������������������������������������������������������������������� ������������ �� ��������������

  • ����������������������������������������������������������������������� ����������������� �� ������

  • ������������������������������������������������������������������������ ������������������������������������������������������

  • ������������������������������������������������������������������������������ ��������������������������������������������������������� �������� ���������

  • ������������������������������������������������������������������������������ ������������������������������������������������������������������ ����������������

  • ���������������������������������������������������������������������� ��������������������������

  • ��������������������������������������������������������� λ����������� ������������������������������������������������������������������� ������

  • �������������������������������������������������������������������� ������������������������������������������������������������ �����������������������������������

  • ������������������������������������������������������������������������

--- end of page.page_number=19 ---

  • �� ����������

  • ������������������������������������������������������������������������� ����������������������������������������������������������������� ��������������

  • ��������������������������������������������������������������������� �����������������������������������

  • ����������������������������������������������������������������������� ��������������������������������������������������������������������� ��������������������

  • ���������������������������������������������������������������������� ������������������������������������������������������������� ����������������������������

  • ������������������������������������������������������������������������ ����������

  • ������������������������������������������������������������������������ ����������������������� �� ��������������

  • ��������������������������������������������������������������������� �������������������������������������

  • ��������������������������������������������������������������������� ��������������������������������������������� �� ��������������

--- end of page.page_number=20 ---