Formalizing Convex Hulls Algorithms David Pichardie ENS

 !"#$%&"
'()*+ ,-*./(0+*12131)14 ,5016(781 ,1849.(./(8 ,:0
;< $%=%
>?>@ =A @"%A=B<
C)14 ,D106E62*80*( ,:0
FG HIJKLKMKN OLPNI
Q RSTUVWXYTZVS
[\]^_`a^b cN JKMde KfN dNPNgGhiNIK Gj jGkilgge hkGPNd lgmGkLKfiJ jGk
n GihMKlKLGIlg mNGiNKkeo pfN kNJMgK Gj KfLJ qGkr LJ l jGkilg dNJ n kLhs
KLGI Gj KfN tlJL n hkLI n LhgNJ KflK ilrN n GIPNu fMgg lgmGkLKfiJ qGkr lId
KqG hkGmkliJ KflK LihgNiNIK n GIPNu fMgg n GihMKlKLGI lId flPN tNNI
lMKGilKL n lgge GtKlLINd jkGi jGkilgge PNkLvNd ilKfNilKL n lg hkGGjJo w
JhN n Llg lKKNIKLGI flJ tNNI mLPNI KG flIdgLIm dNmNINklKNd n lJNJ KflK lkN
GjKNI GPNkgGGrNd te n GIPNIKLGIlg lgmGkLKfi hkNJNIKlKLGIJo
@B&=%x< %= =xAy% % ="z yBB ={ =BB%=" ={ A="%< " %|= =
% x"<="< }=y"~  =xABz%€ ={ %< A=}Bx < "=|" %= } A#
A=zx%B€ % <x < {= <=%"& B&=%x " % |=<% <‚ }y% % &
=xABz%€ A"< € xy =" % <%}y%=" ={ %ƒ <=x B&=%x< #
%yBB€ =xABz%€ ={ % {=x „ …†‚ | „ < % %=%B "yx} ={ A="%<
" † < % "yx} ={ A="%< =" % ="z yBB~ < B&=%x< |BB } x=
‡"% %" „ˆ‰Š ‹„Œ |" {| A="%< =" % ="z yBB~ < x< %
y<{yB %= <B B&=%x< =y"~
 <%y %|= B&=%x<~  Ž<% < " "x"%B B&=%x ‚ |
"| A="%< A=&<<B€ %= % "Ay% %~ >{ % "| A="% < =y%<
% ="z yBB‚ %" % < "<<€ %= %|= "| &< %= % ="z yBB "
x= <=x =%<~  <=" B&=%x < "=|" < % A&#|AA"&
B&=%x ƒ % {=BB=|< % "%y%=" ={ %€"& }" =y" % =BB%=" ={ A="%<~
@% % „ <%A‚ % }" < B€ " ="%% |% {| A="%< " % B#
&=%x A=< }€ =xAy%"& |% % "z% A="% < &="& %= }ƒ { |% %
}" %y""& B=|< =y" % A="%<‚ % "z% A="% " % yBB < &="& %=
} % B{%x=<% x""& A="%~
@BB %< B&=%x< B€ =" " ="%%=" A% %% zA<<< |%
% A="%< ={ %"&B "yx% B=|< = =y"%#B=|<~ <
="%%=" A% < <B€ =xAy% y<"& % =="%< ={ % A="%<‚ }y%
% < x""&B<< |" % A="%< B&"~ ‘<yB A<"%%=" ={ ="z yBB<
B&=%x< <<yx %% % A="%< " % "Ay% % " B&"~
 <%y%y ={ ="z yBB B&=%x< B€ =" % {% %% % ="%#
%=" A% <%<Ž< <=x A=A%<ƒ {= "<%" % %"&B< }yB% |% {=y
A="%< %= } ="% " ="<<%"% x""~ "y% <}< % x"#
xB A=A%< ={ % ="%%=" A%< " BB< %x ~
"y% < AA= ={ z=x< {= ="z yBB< < % " A=A%€ ={ <A#
%"& =""< }=y% % A=A%< ={ %x% zA<<="< ="%""& A="%
=="%< " % ="%=B <%y%y ={ B&=%x<~ >% < A= &== =&#
" %=" A"AB {= =y <A%=" " A=={ B=Ax"%~
y<‚ =y |= ="%"< <%"% A%<~  Ž<% A% < }=y% % z=x<‚ "
<=|"& %% %€ =B {= " xABx"%%=" A%~ < A% "=B< <=x
"yxB =xAy%%="~  <=" A% <}< % x" <%y%y ={ %
B&=%x< }< =" % z=x<‚ |% "yx =xAy%%=" =xAB%B€ =~
>" % B<% A%‚ | <% % B&=%x< %= x %x =}y<% |% <A% %=
&"% %~
@BB =y A=={< }" x"BB€  y<"& % != <€<%x ~
@y%=x% %=x A="& " &=x%€ }" " ="%% {= <=x %x~
 |= " %< =x" %% | }%% | ={ < %% ={ !=y ~ >" %<
B=Ax"%‚ %=x< }=y% }< &=x% Ž&y< B <%&% B"<‚ %"&B<
" B< A= y%=x%BB€‚ }y% % < "= <yB% }=y% =xAy%%="B
&=x%€ ‚ <" B&=%x< "=% % =} % ={ % <%y€~
y%& " y{=y ‚ y< % != A=={ <€<%x %= <} "=%="< ={
AB"%€~ = =" Ž""& x"xB z=x< %= <} &=x% ="A%< <
B<= }" =" " ="<%y% A=={ %=€ }€ " =" B%= !! " {=xB " != }€ " BB< " # ~
$ <%‚ | <=yB { %= BB % |= =" =" =xAy%%="B &=x%€‚ }y%
%< =x" < { %== B& %= } % "%B€‚ | " ="B€ { %= % }==<
| y< < {"‚ % " & ‚ " !' ~
YVS 34/ * X 55,
>" |% {=BB=|<‚ | <<yx %% A="%< %" {=x <% 6 " | <}
% ="%%=" A% < A% = % A="%< 7 ‚ 8 ‚ 9 " 6 ‚ | |
"=% 7:89 ~
"y% < z=x< <} % =y< |€< " | %"&B< " } B==
% " "& =" % AB"~  Ž<% z=x zA<<< %% |" "yx%"&
% A="%< ={ %"&B‚ =" x€ <%% |% "€ ={ %x ƒ
(
) SXT * +, - ./ ZV 0 ,1 2 VU
; <=> ?7 @ 8 @ 9A 7:
89 B :
8 97 A
@< ==BB€ ={ %< z=x =" B<= < 7:89 B :
9 7 8 ~ < z=x < C €B D % "
} A% "Ž"%B€ =" % <x %~ E= %< <="‚ % xA< y%=x%
A=={ < A=y<~
 <=" z=x zA<<< %% { %"&B < ="% =y"%#B=|<‚
%" % <x %"&B |% %|= A="%< %"<A=< < " {% ="% B=|<~
; <=>
89 B 7:
98 A
?7 @ 8 @ 9A 7:
@" xx% ="< y" ={ % Ž<% %|= z=x< < %% % A="%< ="% ="B€ { %€ A|< <%"%ƒ
89 B 7
?7 @ 8 @ 9A 7:
88
99
7
"€ ={ % Bxx< AA"& " =y B=Ax"% %{= B€ =" % <#
<yxA%="< %% % A="%< }"& ="< A|< <%"%~  B<= A% =" B<%< ={ A="%< zA<<"& %% %€ ="%" A|< <%"% A="%<~
 % z=x zA<<< %% %"&B < % ="% B=|< =
=y"%#B=|<~
; <=>
?7 @ 8 @ 9A 7
8B8
9B7
9 B 7:
89 7:
98 A
< ‡x%=" =By"%B€ =B==< % {% %% A="%< x€ } B&"~ <
< %%=" ={ =xAy%%="B &=x%€ %% B&=%x< " } <%y |%=y%
%"& ={ |% BB <<~  |BB %= <%y€ %< x=
{yBB€ B%~
 {=y% z=x zA<<< %% % {=y %"&B< =}%" |% {=y }#
%€ A="%< x€ "=% } ="% " " }%€ x""ƒ % < %= } <=x
<=% ={ ="<<%"€‚ <B€ y"<%== }€ =}<"& Ž&y ! ~
q
t
r
p
b b wuLGi GIJLJKNIK GkLNIKlKLGI jGk jGMk KkLlImgNJo
; <=>
?7 @ 8 @ 9@ A
89 7 9 78 B 7:
89 A
 Ž{% z=x zA<<< %% % ="%%=" A% x€ } y< %= <=%
A="%< " <=x |€‚ |% "=%=" %% < <xB %= %"<%%€~ %BB =" <
%= } {yB %= = &="& " B<‚ %< < % <=" |€ %< z=x y<<
A="%<‚ < Ž&y ~ !B B&=%x< y< %< A=A%€ ={ B#%"<%%€ %=
= B=="& % BB A="%<~
; <=>
?7 @ 8 @ 9@ @ A
7 8 89
7 8 9 B 79
q
r
p
s
t
b b wuLGi JGkKLIm hGLIKJ LI l flgj hglINo
 Ž<% % ="%%=" A=A%< zA<< %% % % A="%< 7 ‚ 8 ‚ " 9 " % <x B{ AB"~  =% % ="%%=" A%< zA<< %"<%%€ƒ
{=x % A="% ={ | ={ ‚ { 8 < B{% ={ 7 " 9 < B{% ={ 8 ‚ %" 9 < B{% ={ 7 ~
 < "% %= %< z=x ‚ %% " %yBB€ } A= y<"& z=x<
! ‚ ‚ & ‚ " ‚ " | | |BB { %= }€ % "x ~
; <=>
?7 @ 8 @ 9@ @ A
7 8 9 7 8 89
B 79
"A""%~ E=
"y% <=|< %% %< z=x< % < ={ &"B
A=<%="<‚ %< z=x< "=y&‚ }y% { | |"% =y B&=%x< %= } =}y<%
{= A=<<}B€ B&" A="%< " % "Ay%‚ % %|= A=<<}B%<~  Ž<% ="
< %= "%=y "=%="< %% x""&{yB {= %AB%< ={ A="%< %% B&"~
>" %< <‚ | B<= y< <&x"%< " % A=A%€ %% A="% }B="&< %= <&x"% &" }€ %< %|= z%x%<~ < < yA %= x= z=x<‚ |
| = "=% <} {= % x=x"%~  <=" <=By%=" < %= Ž" |€
%= z%" ="%%=" %= B&" A="%< " |€ %% <%BB <%<Ž< % z=x<~
%y}%=" x%=< < <} " ! A= <%<{%=€ AA= %= %<~
= <=>  " A="%< &" < Bx"%< ={ ‚ % ="%%=" A% < &" }€
=}<"& % <&" ={ %x""%ƒ
7:
89
A
>" % {=BB=|"& | |BB |% 7 89 {= %< %x""%~ "y% < z=x< "=%
A=A z=x< "€x=‚ %€ }=x <xAB ="< y"< ={ % A=A%< ={
%=" " xyB%AB%=" ={ B "yx}<~
 A=={ ={ @z=x< ! " < &" }€ %|= y%="<ƒ
7 89 897 @
7 89 7 98 A
E=x x"B A=={ A="% ={ | ‚ % A=={< ={ %< yB%< < ="
A"B<<B€ }€ % y<yB =" y"% |%"& <€<%x {= "& <%y%y<‚ < xAB#
x"% }€ % *87 %% " != ~ @z=x & <xAB€ =< "=% =B " &"B~
 " A="%< B&"‚ % %x""% < "yBB~ @ =xx=" <=By%=" %= %<
A=}Bx < %= ="< ="B€ % %% " ‚ %% <‚ <<yx
%% "= % A="%< &" " % A=}Bx B&"~  |BB Ž<% {=BB=|
%< A% %= &% }%% ={ % B&=%x<~ >" B% <%="‚ | |BB <
"% <=By%="< %= % A=}Bx ={ ="<"& &"% <<~
>" x"#x A=={<‚ @z=x B< =" " yB%€ =}%" {=x #}€#
%x""% %% < =}=y<B€ "yBB‚ <" % < "%B =Byx"<~
7 89 89 7 9 7 8 A
 
="& % &%#" < yB%€ < B<= <xAB x%% ={ yB%€ " "&
<%y%y~ =| ‚ { 89 ‚ 7 9 ‚ 7 8 BB <%%B€ A=<%‚ %" 7 89 <~
{€"& @z=x B<= B< =" " y%="‚ "=|" < !x < y%="‚
| < % {=BB=|"& {=x ƒ
8 7 9 89 7 7 8 9 &"‚ y%=x%BB€ A="& %< y%=" < <xAB x%% ={ "& }<
=xAy%%="<~
 ="By<=" ={ %< <%=" =" % ="%%=" A% < %|={=B~ E <%
"yx =xAy%%=" " } =" " "& % %" " =xAB% ŽB~ <
< xA=%"% < =" ={ % <="< {= A=}Bx< " &=x% B&=%x< < %
B=<< ={ A<=" " =%"& A="% %x%~ E= ="z yBB<‚ =%"& A="%< "=% y~  A="%< x€ } &" }€ "%& =="%< " <xBB &~ >{
=%"& A="%< y<‚ =" x€ "=% %%‚ <" % %x""% }<BB€ < A=B€"=xB ={ & %|= " % =="%< ={ % % A="%< }"& ="<‚
% < ="B€ "<<€ %= =xAy% % ="%%=" A% |% A<=" %%
< =y}B % A<=" ={ % "Ay% %~
= =  % < % ="z yBB ={ <% ={ A="%<
" Ž"%=" < %= <} % <
x"xB <y}<% ‚ <y %% BB A="%< " " } <} < A=<%
B" =x}"%="< ={ A="%< " ~
@" B%"% <A%=" ={ % ="z yBB y<< ="% &<~ @ A=<<}B€
=A" B" <% ={ A="%< { {= "€ A="% 7 " " "€ %|=
="<y% A="%< " ‚ 7 = 7 =B<~  ="< %%
B<% ˆ < ="z yBB ={ { ˆ < "By " ‚ ˆ < "="#xA%€ { < "=%‚ ˆ
="%"< "= yAB%<‚ " { < % B<% Bx"% ={ ˆ‚ %" ˆ‚ {=x }€ "&
% % ={ ˆ‚ "=xA<<< ~ >" =% %x<‚ % ="z yBB < Ž" <
x"xB "%<%=" ={ B{#AB"<~
 " % <% < % xA%€ <%‚ <"&B%="‚ = A‚ %" % ="z yBB
< <xAB€ % B<% "yx%"& % <% < Bx"%<~
"y% ==<< % <=" Ž"%=" " < x="=&A~  |BB B<=‚ {=
<B <="<~ E <%‚ B<%< "%yB %#<%y%y " % {y"%="B A=#
&xx"& B"&y& | y< " =y A=={<~ ="‚ %< Ž"%=" B<= B< ="
% ="%%=" A%‚ %y< x"& % A=<<}B %= {=&% €%"& }=y% "y#
xB =xAy%%=" " % x" <%y%y ={ B&=%x ~ ‚ x=<% B&=%x<
%= =xAy% ="z yBB< "%yBB€ B€ =" % {% %% % "%x€ %
%€ ="<%y% B€ < B<% ={ A="%< "By " ~
 % A%< ={ % <AŽ%=" &" y<"& "y% Ž"%="< ="
B<%< %yBB€ | B<= ="< %% % "Ay% % < &" < B<% ={ A="%< ~
%BB‚ | x " =% %= <%}B< }& }%|" % %|= Ž"%="<~
 x"BB€ Ž A=={ %% { < ="z yBB ={ " 7 < "
}%€ A="% " ‚ %" % z<%< % A="%< ‚ ‚ " <y %%
7 < "< % %"&B {=x }€ ‚ " ~ < < zA<< }€ % {=BB=|"&
% ="%%=" A%<ƒ
:
7
7
7
 A=={ }€ "y%=" =" % B"&% ={ ="z A=B€&=" "=xA<<"& 7
|=< < {=BB=|<~ E <%‚ ""=% } xA%€‚ <" % "=xA<<< 7 ~ >{ < <"&B%=" = A‚ % &"% 7 @7 @7 |BB =~ >{ % ="z A=B€&=" ="%"<
% B<% % A="%<‚ Ž<%  |% 7 < yB %= ‚ ‚ = ‚ %" =xAy%
7 ~ >{ "€ ={ %< ="%="< =B<‚ %" % ~ >{ "=" ={ %< ="%="<
=B<‚ %" 7 < %yBB€ "< % ="z A=B€&=" Ž" }€ A A A ;=y "
y< " "y%=" €A=%<< =" %< <xBB ="z A=B€&=" %= % <yB%~
" €=y % % A="%< "=xA<<"& 7 % < A=<<}B %= <=| %% %
=="%< ={ 7 A=<% B" =x}"%=" ={ % =="%< ={ % %
A="%<~ < < <xAB€ }y< % =="%< ={ 7 {€ % {=BB=|"& y%="ƒ
7 … … 7 … 7 … 7 < y%=" < <B€ Ž y<"& % "& <=" A=y~
>{ : 7 ‚ 7 ‚ " 7 =B‚ %" % % %x""%< =" % &%#"
< A=<% " }€ @z=x % %x""% =" % B{%#" < B<= <~
"& }€ %< %x""% < B&%x% " 7 BB€ < =}%" }€ A=<%
B" =x}"%=" ={ % <~  << | % ="z yBB ="%"< B<< %"
% A="%< B<= <€ %= A=~ =% %% %< A=={ y< %% | |=
" ŽB~
= = = == =x B&=%x< y %% =" <=yB } }B %= Ž" =" = %|= A="%< %% B€ A<"% " % ="z yBB %= <%% |%~  A&#|AA"& B&=%x
< x="& %x ~  y<yB %" y < %= B== {= % x"xB A="% y<"& BzB ="& =" % =="%<~
>{ < % x"xB A="% {= % BzB ="& =" =="%<‚ " { 7 ‚ 8 ‚
" 9 A="%< ={ %"&B "=xA<<"& ‚ | % Ž<% =="%< ={ 7 ‚ 8 ‚
" 9 <y 7 9 %" % < "<<€ %% 9 8 ~ ‘<"& %< <yB% &"‚
| 7 9 B 9 7 ~ y< BB % Ž<% =="%< xy<% } yB~ $y%
{ %€ ‚ % A="%< B&" " ""=% ="<%%y% A=A %"&B~
" | % A="% |=< =="%< x"xB {= % Bz=#
&A =‚ | " Ž" %< B{%
"&}=y }€ ==<"& % ="B€ A="% %% <
% <x <=" =="% < ~ >{ "= <y A="% z<%<‚ % % A="% %% <
xzxB {= % = Ž" }€ƒ
7
8 78
% < %"<% < "<y }€ @z=x ‚ y<"& % A="% ‹ @ ~
Œ < A="%
UV 3 ZS .5 VUZT * 0 ,
>" %< <%=" | | % <A%="< " A=={< {= % }<%% <%%"&ƒ
A=<%="< &"B "= % A="%< B&" " BB "yxB =xAy%%="
< " }" % ="%%=" A% " % {y"%=" A=y"& "%B
A="%<~
= > = >
purple point
new edge
blue edges
new point
red edges
purple point
b b Nd lId tgMN NdmNJ LI KfN LI nkNiNIKlg lgmGkLKfi
 "x"%B B&=%x |=< }€ %"& % A="%< ={ % "Ay% % ="
}€ =" " ="<%y%"& % ="z yBB ={ BB % A="%< <" <= {~ @% <%A‚ % % "| A="% B€ B< "< % y"% ="z yBB " =" "
%B€ A= %= % "z%‚ = <=x &< " %= } x= " %|= &<
" %= } ~ @BB %<%< B€ =" % ="%%=" A%~
 &< {=x % A=y< ="z yBB <=% "%= %|= %&=<‚ BB
" &< < Ž&y & ~ $By &< A<"% &<‚ {= | % "|
A="% B< =" &== <~ >" =y <A%=" | B<= <€ %% " & < }By { %
"| A="% < =" ={ % z%x%<~ ? &< % =%~  " BB &< }By‚ % A="% < "<~ @BB &< ""=% } % % <x %x " &<
="%&y=y<~
 " B=="& {= &< % x€ } {=y <<ƒ
!~
~
"= &< "By"& "= &< % BB ‚
% & }%|" % B<% A="% ={ % B<% " % Ž<% A="% ={ % B<% %
B=<"& & < ‚ }y% % B<% & ={ % B<% < "=%~
& ~ % B=<"& & < " % B<% & %==‚
~ % B=<"& & < }By~
>" % Ž<% <‚ "=%"& "< %= } ="~ >" % <=" <‚ % B<% ={ &<
" } | < % ="%"%=" ={ %|= B<%<‚ ˆ " ˆ ‚ <y %% ˆ ="%"<
="B€ &< ˆ ="%"< ="B€ }By &<‚ " % & }%|" % B<% Bx"%
" ˆ " % Ž<% Bx"% " ˆ < ~ < B< =" % A=A%€ %% % B<%
<}"& % ="z yBB < "= yAB%<~ >" %< <‚ % <yB% < % B<%
7 ˆ ~ = A= %<‚ | " %= <=| %% 7 < "=% B€ " % B<% <€ ‚ %%
% "| A="% 7 < " % "Ay% % <€ ‚ %% 7 < B{% ={ BB % &< " %
="z yBB <€‚ <" % &< %% A% BB }By‚ " % %|= "|
&< 7 % % z%x%€ ‚ " %% BB % % ="< <= { < B{%
={ % &< 7 " 7 ‚ | " % AyAB A="%<‚ % B<% " Ž<%
Bx"%< ={ ˆ ‚ <A%B€~  A="% < "% {=x { % < &~
$ % y< %B A% ={ % A=={ {= % =% << < Ž&y ~
tk
blue edge
t
r
red edge
p
q
b b JLIm luLGi KG MJKLje lddLIm lI NdmNo
" " <%"%‚ % z<%< <%"% {=x %% < B<%#}y%#="
" ˆ ~ $ % 8 } % =% z%x%€ ={ % Ž<% &‚ " B% 9 } " }%€
A="% x="& %=< %% B€ }" A=<<~ $€ ="<%y%="‚ | : 9 ‚ : 8 ‚ " 89 ~ $y< 8 < | =" % 87 ~ $€ @z=x & ‚ %< &<
7 8 ~ $y< < }By‚ | :7 ~ @BB €A=%<< A<"% %= y< @z=x " ="By %% 7 9 =B<~  A=={ {= 7: 9 < % <x <%y%y‚ }y% y<<
@z=x ~
 %|= =% << <=B }€ =%%"& % ="z yBB %= %y" %= %
<=" <~ ?=%%"& ="z yBB < <xAB€ =xA=<"& %< ="z yBB <
% ="%"%=" ={ %|= B<%<~ >" % {=BB=|"&‚ | |BB "=% ="%"%=" ={
%|= B<%< ˆ " ˆ < ˆ ˆ ~ " ="%"%=" < <xAB <%y%yB y<
{y"%=" y< = % Ž<% &yx"% ‚ % < <xAB x%% ={ <%y%yB
y<=" = ˆ %= <=| %% =%%=" A<< "By<=" " "=% B<%‚ %%
% A<< % }<" ={ yAB% Bx"%<‚ " %% % A<< % %
"=xA<<~ y<‚ { ˆ ˆ < ="z yBB ={ ˆ‚ ˆ ˆ B<= <~
E= % % <‚ =" %<< =|" % B<% A<"%"& % ="z yBB
y"%B =" Ž"< % Ž<% A="% <y %% < }By " < ~ >" %%
< % =%%=" < &" }€ ˆ " ˆ ~ >{ < % Ž<% A="%
" ˆ <y %% % & < " % & < }By‚ %" =" <ƒ
ˆ ‹ Œ " ˆ ~
 {=y% < < <€xx% %= % % ="~ " B<= "< %= Ž" %
%|= A="%< %% }=y"< }%|" }By " &< }y% %€ " < =~
 x" B&=%x A%< %< =xAy%%=" {= A="%~ >% < A=#
&xx < <xAB <%y%yB y<=" = % B<% ={ "Ay%<~
= = >
 A&#|AA"& B&=%x B< =" % A=<<}B%€ %= Ž" " "%B &
%% < "=|" %= } A% ={ % ="z yBB‚ %" % A=< }€ ="<%y%"&
" =A" "=xA<<"& B<% ˆ ={ A|< <%"% A="%<‚ "By " % %‚
Ž""& % &% "&}=y ={ % Ž<% Bx"% " % B<% % <%A~ @% <%A =" =xA< % &% "&}=y |% % B<% Bx"% ={ % B<%~  " %
%|= A="%< yB‚ % B&=%x %x"%< |%=y% "& % y"% B<%~
 " % %|= A="%< "%‚ % &% "&}=y < %= % B<% "
y<=" <%%< < Ž&y ~ y"& % y<=" % B<% B|€< < % B<%
future point
p
t
b b HIKNkiNdLlke LKNklKLGI jGk KfN hl nrlmNsqklhhLIm lgmGkLKfi o
%|= Bx"%<‚ B% } % " } % <=" Bx"%~ E ""& < &%
"&}=y < =" }€ Ž""& % &%<% Bx"% {= % B%=" Ž" }€
7
8 78A
< B%=" < "=% z‚ }y% %< z B=<y < %=%B =‚ %"< %=
@z=x< ‚ & ‚ " ~ E ""& % B<% Bx"% ={ B<% {= " }%€ = <
" <€ A ={ {y"%="B A=&xx"&‚ " % < B<= <B€ A= =%~ >{
7 < %< &%<% Bx"%‚ 87 =B< {= € A="% " % "Ay% %‚ " }€
@z=x ! 7 8 B<= =B<~ y< % "Ay% % < B{% ={ % & 7 " % B<%
7 ˆ B<= "=xA<<< % "Ay% %~
@ € "&"% %= A="& % %x"%=" ={ % B&=%x < %= "<y %%
% B<% }"& ="<%y% " ="%"< yAB% Bx"%< " < "By "
% "Ay% %~  <% A% < %= <=| %% "& %% 7 < <%"% {=x
% B<% Bx"% ={ ˆ < "=y& %= "<y %% 7 =< "=% }B="& %= ˆ~ >" {%‚ { < % ={ % B<%‚ < % B<% Bx"% " 8 < "=% Bx"% ={ % B<%‚
=" "< %= <=| %% :
8 =B<~ < < =" }€ y<=" = % B"&% ={
B<% ˆ }y% % x"€ "%< |% }< <<‚ }y< % A=={ B< ="
@z=x ‚ | "< <%"% A="%<~ $ % y< B== % %< A=={~
E <% <<yx 8 < % <=" Bx"% ={ % B<%‚ :
8 =x< <B€ {=x %
{% %% % B<% "=xA<<< % "Ay% % " < " % "Ay% %~ " {
8 < "=% % <=" Bx"% ={ % B<%‚ B% } %< <=" Bx"%~  = %
A=={ }€ <%y%yB y<=" = % B<% 8 ~ >{ %< B<% < y %= ' = !
Bx"%‚ %< < ="%%=€ |% =y €A=%<<‚ { %< B<% < %|= Bx"%<‚
%" 8 < " & {=x % B<%‚ " :
8 =B< }y< < " % "Ay% %~ 
<yB% %" =x< {=x @z=x ! ~ >{ % B<% 8 < x= %" %|= Bx"%<‚ B%
8 } % <=" Bx"%‚ =" < :
8 }€ "y%=" €A=%<<‚ :
88 }y< 88 "=xA<<< % "Ay% % " %"< %= @z=x ! ~ ==‚ % A=A%<
: =B‚ }y< 8 ‚ 8 ‚ " " % "Ay% %~ < <
:
8 ‚ :8 ‚ " "=y& %= y< z=x " ="By~
=| ‚ % A&#|AA"& B&=%x < "=% <%y%yB y<~  %x#
"%=" &yx"% < %% % < ={ % B<% ˆ < }=y" }€ % < ={ % "Ay%
%‚ }y< BB %< Bx"%< A|< <%"%‚ " %% %< < "<< %
<%A~ E= %< <="‚ % {y"%=" < Ž" y<"& != < <=By%=" {= Ž"#
"& |BB#{=y" y< {y"%="<~ < x"< %% | %= z}% <%
="%""& % A"AB &yx"% ={ % y< {y"%=" " |BB#{=y"
= =" %< <% " <=| %% y< BB< =" ="B€ =" <xBB %x<~
 <% | z}% < % <% ={ B<%< %% "By " % "Ay% %
" ="%" "= yAB%<~ >" != < %€A %=€‚ %< <% < <} < %€A
y<"& A""%B€ %€A "y% %€A<~  <=| %% % B"&% ={ B<% "
" %< <% < B|€< <xBB %" % < ={ % "Ay% % ~  Ž" %
= %= } ƒ
ˆ ˆ ˆ „Š †‹ˆŒ ˆ „Š †‹ˆ Œ A
="& %% %< = < |BB#{=y" < <xAB AAB%=" ={ %=x< }=y%
=xA=<"& |BB#{=y" =< |% {y"%="< A= " != < B}<~ >"
=% %=x A=< | % %x"%=" ={ y< {y"%="< < "<y
}€ z}%"& x<y {y"%="<‚ % x<y {y"%=" %= z}% < % {=BB=|"&
="ƒ
ˆ ˆ „Š †‹ˆŒ A
@% y< <%A‚ % x" &yx"% < ˆ " % &yx"% {= %
"z% y< BB < 7 ˆ <y %% 7 ˆ ‚ %{= =" < ˆ „Š †‹7 Œ ˆ „Š †‹7 ˆŒ " ‹7 ˆŒ ‹ˆŒ~
44 S 4 U . T 4 W
Y .,4,
>{ | |"% %= BB=| {= B&" A="%< " % "Ay% %‚ | " %= | =y
%" y~ " <=By%=" < %= "& @z=x & ‚ <" % < % =" %% <<yx<
%% %AB ={ A="%< " B|€< } | < %"&B~ >{ | = %%‚ "€
<=" %" |% <A% %= ="%%=" " % B&=%x< xy<% } |
" AB }€ "| <=" %"& z% << "%= =y"%~  <%y%y
={ % B&=%x x"<‚ }y% BB % %B< ={ %< ="%=B# =| {=x }€
%< ="<%"%~
@ <=" <=By%=" < %= "& % ="%%=" A% <= %% % <%<Ž<
BB Ž z=x< " " % A<" ={ B&" %AB<~ < <=By%=" <=x=|
xA=<< %% =" "&< % Ž"%=" ={ ="z yBB<‚ <" =y Ž"%=" B<
=" % ="%%=" A%~  <BB < %% }=% <=By%="< %yBB€ y
%% | Bz =y Ž"%=" ={ ="z yBB~
>  " % <%"% A="%< B&"‚ =" ={ %x B< }%|" % %|= =%~
 "%=y "| A%‚ |%%" 7 89 %= zA<< %% 8 =y< " < %
<&x"% 7 9 ~ @z=x & < "& %= =}%" % {=BB=|"& {=xyB%="ƒ
; <=>
89 7:
98 7 89 897 97 8 A
?7 @ 8 @ 9A 7 8 8 9 7 9 7:
"y% < |=‚ @z=x< !# zA<< {=x ={ "%"B ="<<%"€ {=
>"
%
="%%=" A%~  " %= % <x " ={ "%"B ="<<%"€ {=
% <&x"% A% " }%|" <&x"%< " ="% %"&B<~  Ž<%
%|= z=x< <} "%"B ="<<%"€ {= % B&" A="%<~
; <=> ?7 @ 8 @ 9A 7 89 B 987 ; <=> ?7 @ 8 @ 9A 7 89 B 87 9  "z% Ž z=x< <} ="<<%"€ }%|" <&x"%< " %"&B<~
; <=>
; <=>
; <=>
; <=>
; <=>
89 ?7 @ 8 @ 9A 7 89 B 7:
89 7 8 B 7 9 ?7 @ 8 @ 9@ A 7:
89 7 8 B 7 9 ?7 @ 8 @ 9@ A 7:
89 7 8 B 89 ?7 @ 8 @ 9@ A 7:
89 7 8 B 89 ?7 @ 8 @ 9@ A 7:
 B<% %|= z=x< <} "%"B ="<<%"€ ={ <&x"%< {= {=y B&"
A="%<~
; <=> ?7 @ 8 @ 9@ A 89 7 8 B 7 9 ; <=> ?7 @ 8 @ 9@ A 89 7 89 B 7 9  % %< "| "=%="<‚ | "& % <AŽ%=" ={ ="z yBB {= <% %= } B<% ={ A="%< A A A <y %% {= € 7 " " € ‚ <y %% = { =" < : 7 7 ~
= = >" % "| <%%"& | y< "| A% %% =x}"< ="%%=" " <&x"%
xx}<A~ E= % <% ={ % AA‚ | |BB "=% %< A% 7 89 ‚ |%
% {=BB=|"& x""&ƒ
7 89 7:
89 9
7 @ 8 7 98 A
" "B "& =y B&=%x< %= % &"% << |=< }€ AB"& %
="%%=" A% }€ % "| A% | % =y< " "& {|
yB%€ %<%< %= % ={ &"<~  % x%%< BB€ < %% yB"%<
={ @z=x <%BB =Bƒ
?7 @ 8 @ 9@ @ A
7 8 9 8 7 8 9
B 7 9
?7 @ 8 @ 9@ @ A
7 8 9 87 89
B 7 9 A
y<‚ { < "=|" %= } =" % ="z yBB‚ | A % A=A%€ %% % =
" } y< %= Ž" x"xB " xzxB Bx"%<‚ |" %< = < Ž"
< {=BB=|<ƒ
7
8 7 8 A
= @" B%"% AA= < %= "& % ="%%=" A% <= %% @z=x &
B|€< =B<~ < =A%=" <x< ||ƒ { | "& % ="%%=" A%
=| " | } <y %% | %yBB€ =xAy% % <x ="z yBB  "<|
< %= x <y %% | "& % ="%%=" A% " x"" %% #
x"< ="<<%"% |% % &"B ="%%=" A%‚ <= %% % ="z yBB
=xAy% " "="#&"% << < y""&~
 <=By%=" | &="& %= A<"% < }< =" % %% { A="%< B&"‚ %" x="& =" ={ % A="%< ="B€ <B&%B€ |BB x= % &"€~
< x % A=<<}B %= =xAy% " AA=zx%=" ={ % yBB~ =|‚ A="%<
"=% %yBB€ x=‚ " BB A="%< %% <=yB AA =" % ="z yBB
|BB } &y"% %= AA " % AA=zx%=" | =xAy%~ >xA<="< |BB
=y ="B€ {= A="%< %% =" % <&x"% }%|" %|= B&%x% %< ={
% ="z yBB~ E= %< A="%<‚ %< x%= x€ = x€ "=% "By %x "
% <yB%"& ="z yBB~
 <=By%=" < %= ="< %% BB A="%< x="& " ="%"y=y< x""
" %% % ="Ž&y%=" %% < }"& <%y < % <"A<=% % % ~
 %x""%< y< %= =xAy% % ="%%=" A% B<= ="%"y=y<
{y"%="< " ‚ %% x€ % By |" ~  ="%%=" A%
< ="%"y=y< {= BB y"B&" %AB<~ =|‚ { % A%y}%=" {y"%=" "
} | < A=B€"=xB {y"%=" " % < A=<<}B %= "<y %%  <
% A=<% = "&%~ >{ % A="%< "=% B&"‚ % Bx% < % <x <
% By " ‚ { % B&" A="%<‚ %"& By ={ %% < <xBB "=y&
|BB B|€< %y" % <x <&"‚ <= %% | = "=% " %= A% % By
={ ƒ % <&" " } A% {=x % <&"< ={ % A=B€"=xB =‡"%~
 y< {y"%=" %" {=x ! %= "% =| BB A="%< x=~  ==#
"%< ={ % A="% 7 %yBB€ &" }€ % {=xyB … @ …‹ Œ~
 ="%%=" A% {= A="%< ‚ ‚ %" }=x< % {=BB=|"& %x ƒ
… … ‹ Œ … … ‹ Œ … … @
…
…
‹
Œ
| ‚ ‚ " % %x""%< Ž" < {=BB=|<ƒ
@ A  A=={ %% BB % %x""%< ""=% } = < {=xB y<"& %
<% A= " ! " B< € xy =" "& yB%< " "&‚ ABy<
B=% ={ A"{yB <=""& =" yB%<~ =|‚ | |= =" A=B€"=xB< "
BB =y A=={< =" " " = x" ŽBƒ % ŽB ={ %="B
"yx}< <y‡< <= %% =y x=B < y% {= %x% "yx}< < %€
xABx"% " =xAy%<~
>{ % Ž<% x""% < ‚ %" % % A="%< B&"~  z<%<
% "yx}< ‚ ‚ " <y %% … … < % y%="
={ % B" ="%""& % % A="%<~ @< %< A="%< <%"%‚ " ""=% }=% } "yBB~  %|= <<‚ A""& =" |% ~
>{ ‚ %" ‚ % <=" %x""% < yB %= %
{=BB=|"& %x""%ƒ
‹
Œ‹ Œ‹ Œ A
!
< By " ="B€ } = { =" ={ % {%=< < ‚ " | < %|= ={ %
A="%< }=% =="%< yBƒ %€ % <x~
>{ ‚ { " ="B€ { … ~
…
‹
Œ
‹
Œ‹
Œ‹ Œ‹ Œ
&"‚ % B<% %|= ={ % A="%< xy<% % <x %B =="% {=
% %x""% %= } ~
 <x <=""& AAB< %= % % %x""%‚ | < <€xx%
|% % <=" ="‚ AB"& =="%< |% =="%<~
=| {= € %AB ={ A="%<‚ % By< ‚ ‚ " ""=% } %
% <x %x~  " %" <=| %% {= € %AB 7 @ 8 @ 9 " % "Ay% %‚
% z<%< "yx} <y %% % A%y} %x""% " }=x<
" % "%B @ ~ $ % ‹ Œ } % }<=By% By ={ ~ >{ < "=" "yBB‚
%" | " ==< %= } % {=BB=|"& Byƒ
„‹ @ ‹ … Œ @ ‹ … ŒŒ
>{ = ‚ y<% &"= % =<A=""& %x " % x"xB =xAy#
%%="~
>{ " ‚ %" | " ==< %= } % {=BB=|"& Byƒ
„‹ @ ‹ Œ A
>{ " | " % "€ A=<% By {= ~
< ="By< % A=={ ={ z<%" ={ 7 89 ~ < A=={ |< B<= x ="B€
y<"& z=x< %% {yBŽBB }€ % ŽB ={ %="B "yx}<~
 =yB "=| AB % ="%%=" A% y< " % A=y< <%="
}€ "| ="%%=" A%‚ "=% 7 89 " Ž" " % {=BB=|"& x""ƒ
7 89
=% %% % " =xAy%‚ | ="B€ <=| % z<%" %= <=| %%
% =xAy%%=" ={ %< %|= %x""%< < "=y& %= A% % ="%%="<
{= &"B A=<%=" %% < }%B€ B=< %= % "Ay% %~ >% < "=% "<<€
%= %y" ="z yBB =xA=< ={ A%y} A="%<ƒ % A="%< {=x % "Ay%
% =%‚ <" %€ " } <=|" %= } }%B€ B=< %= B&%x%
="z yBB | "=% =" %< A=={ €% ~
>% < B<= "%<%"& %% % ="z yBB =xAy%%=" =" " %< x""
%y"< z%B€ % <x <yB% < % =xAy%%=" <} " A=y< <%="
{ % "Ay% % < "=% &"%~ >{ % "Ay% % < &"% " %
="z yBB< y %= ="%" "= B&" A="%<‚ %B %<B ={ % B<%
={ A="%< x€ } " %= x= % y<B<< A="%<~  =<% ={ %< %<B
<=yB } A=A=%="B %= % %=%B =<%~
>% < x}B %% %<%"& % <&" ={ % " } =" }€ <xAB€ =x#
}""& % <&"< ={ % %x< ‹ Œ‚ ‹ Œ‚ ‹ Œ‚ ="& %= y%="<
! " ~ >" {%‚ < <%%B€ A=<% { " ="B€ { % B" €"& % %
A="%< < "=% = ="%B‚
% A="% 9 < =y%< % <&x"% 7 8 ‚ " % A="%<
7 " 8 = " % <=" =="%‚ <xBB€ {= ~ @< <yB%‚
%<%"& % <&" ={ " < yB"% %= %<%"& |% 9 < =y%< %
<&x"% 7 8 " |% 7 " 8 = Bz=&ABB€ y<"& % <="
=="% Ž<% ~ y<‚ | A=&x %% =xAy%< ‹7 89 Œ |%=y% =x#
Ay%"& % B& %x""%< }=~ < B&} <=""& }"&< " B&"%
y<%Ž%=" %= % y< ={ <&x"% A%< " BzB ="& " =x}"%="
|% %%="B ="%%="~
VSY 5 X , ZVS
 B=Ax"% ={ %Ž B&=%x< < |BB <y% %= =x"< | % < <€
%= x%x%B {=xyB%=" ={ % % " % <AŽ%="<~ !=xAy#
%%="B &=x%€ < =" ={ %< =x"<~ yB" &=x%€ x< % <€
%= =""% % =y< "=%="< "=y"% " =xAy%%="B &=x%€ %= B
"B€<< " B&}~ >" =y zAx"%‚ % A<" ={ <=" A=y {=
"& yB%< < }" "<%yx"%B‚ B%=y& % < B<= }" y% ""=€"&
%% %< <=" A=y |< "=% =xAB%‚ % B<% {= % <=" | y<~
< <=" A=y < % *87 %%‚ %% }< =" % AA=
~
 A=}Bx ={ "yx =xAy%%=" B<= << <=x %=y&%<~  A{=x =y A=={< |% " C z=x% D <% ={ "yx}< {= % =="%<~
 z=x< | %" | {yBB€ =<" %= x %x y% < A<"%%=" ={ =xAy% "yx}< y< " z% =xAy%%="~ < "yx}<
B " " x" ŽB~  x=B {= % ŽB %% < " %= zA<<
% =%=" ={ % B&=%x < % ŽB ={ %="B "yx}<~ =|‚ %
B&=%x =< "=% %yBB€ y< "yx}< " % |=B ŽB~ >% ="B€ =xAy%<
A=B€"=xB zA<<=" ={ & %|=‚ <= %% { % "yx}< <}"& "Ay%
% }=y"‚ % <% ={ "yx}< " {= % B&=%x %= |= < xy
<xBB~ >% =yB } y<{yB %= zA<< % " }%|" % C ="% D %#
x% y< " % B&=%x ‚ " % C }<%% D %x% y< " % A=={~
< < %yBB€ % <A% ={ % |= ={ $ y"% % € " < =BB&y< " A= % %= <%y€ =xAy% %x%<~
%y}%=" x%=< y< " =% A%< ={ =xAy%%="B &=x%€‚
{= "<%" {= By"€ %"&yB%="‚ | &"% A=<%="< =y |"
{=y A="%< =€B~ € <x € |BB A% < x%= %= x
B&=%x< =}y<% %= &"€ |%=y% "&"& % <%y%y~ %BB‚ % <x<
" By€ =y" %% A%y}%="< y< " %< AA %= y<%{€
" B&=%x %% %yBB€ =< "=% y< "€ A%y}%="‚ <" % ="B€ }=B<
=|" %= " z%"<=" ={ % ="%%=" A% |% <&x"% A% "
BzB ="&~
 %yBB€ }=y% % A%y}%=" x%= {% "& =" x=<% ={
% A=={< {= % B&=%x }< =" % z%" z=x< =x}""& % %#
%="B ="%%=" " <&x"% A%<~ %BB }=% B=Ax"%< y<{yB "
% =|" &%‚ <" % Ž<% B=Ax"% " } %y" %= "By = zBy =#
B" A="%< {=x % ="z yBB % |BB~ E= % <=" x%=‚ | " A%
%% =B" A="%< =" &< ={ % ="z yBB %% &=| Bz=&ABB€ |BB
} "By " % ="z yBB‚ |B =B" A="%< =" &< %% < Bz#
=&ABB€ |BB "=% } "By~ < "{=x%=" %% | "=% {=xBB€
A= % % %x ={ |%"& %< %B‚ x€ } y< |" |%"& <="
A<< %% x=< =B" A="%<‚ }y% % |=" % } <€ %= = =B" A="%<
%% B€ }" < }€ % ="z yBB =xAy%%="~
 |=yB B %= "=|B& % BA ={ <B << {=x % =x#
Ay%%="B &=x%€ &=yA % >?>@ =A @"%A=B<~ >" A%yB‚ %%
;" A="% y< %= "y% < |= =" z=x< " B BB< <} y<
% A%y}%=" x%=~
424 U 4 SY 4,
o LNkkN wggLN gLPLNk NPLggNkJ lId l nr IGNeLIro NiGPLIm dNmNINkl n LNJ te
hNkKMktLIm KfN hkGtgNi Gk KfN qGkgdo o hN n Llg
HJJMN GI GihMKlKLGIlg ONGiNKkeo
o kMIG lkklJ liMNg GMKLI kLJKLIl GkINJ MdLn lNg GMklIK lII GJ nGe lPLd NglfleN NlIs fkLJKGhfN LggLlKkN lILNg dN lMmglMdkN dMlkdG
OLiNIN ! MmG ! NktNgLI ONklkd ! MNK NJlk " MIG fNKlI " MkKfe lKfNkLIN
lkNIK fkLJKLIN lMgLIs " GfkLIm wiGrklIN lLtL lId NI liLI cNkINko #$
% &'( )*** +*
' ,* -.
/ 0
'* 1/2/3o HF Hw N n NitNk o
4 o NlIs lILNg GLJJGIIlK lId " lkLNKKN PLIN n o )'$5 '6 o litkLdmN
ILPNkJLKe kNJJ o
o liMNg GMKLIo JLIm kN 7 N n KLGI KG tMLgd N 8 n LNIK lId n NkKLvNd dN n LJLGI hkG n NdMkNJo
HI #$
'
5 )*
5* ( ' 95
5
IMitNk : LI ; N n KMkN FGKNJ LI
GihMKNk n LNI n No hkLImNks < Nkglm o
o o o fGM = o o OlG lId o> o > flImo ? 5$
&'(* -
'6 o cGkgd n LNIs
KLv n LImlhGkN o
o pfGilJ ! o GkiNI flkgNJ o ; NLJNkJGI lId GIlgd ; o LPNJKo @'.5 '$* o " Hps kNJJ o
o OLggNJ A lfIo gNiNIKJ Gj n GIJKkM nKLPN mNGiNKke mkGMh KfNGke lId dGilLI
KfNGke o lPlLgltgN lJ l G B n GIKkLtMKLGI lK CDDE FGGHIJ KLMNLO KPNQ
GHIMDNLRSQTMU KCDVW o
: o GIlgd A IMKfo )X* . Y* o FMitNk LI ; N nKMkN FGKNJ LI GihMKNk
n LNI nNo hkLImNks <Nkglm o
o klI ZGLJ MLKm lId NlIs klI ZGLJ MjGMkdo Gkilg JhN n Lv n lKLGI lId KfNGkNi
hkGPLIm tkNlrKfkGMmfJ LI mNGiNKkL n iGdNgLImo HI #$
'
&'[ Y$
'\
]'.
' ^5* PGgMiN Gj ^
5'
_
* ' 95
5
hlmNJ o
hkLImNks <Nkglm : o
o GtNkK NdmNqLnro )'$* o wddLJGIscNJgNe :: o
o lI PGI glKGo w n GIJKkM nKLPN KfNGke Gj GkdNkNd l 8 IN mNGiNKkeo @.
*
? $
5
: o