From fcb56032775c854c3f0fde7e289d9ce13ab6357f Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Thu, 4 Jun 2026 10:09:36 -0500 Subject: [PATCH 1/2] Audit paper against Lean quotient stack --- docs/paper/ordvec_formalization_paper.pdf | Bin 371299 -> 375746 bytes docs/paper/ordvec_formalization_paper.tex | 95 +++++++++++++++-- docs/paper/ordvec_formalization_paper.txt | 124 +++++++++++++++------- docs/rag-pipeline-guide.md | 14 ++- docs/reviewer-brief.md | 16 +++ docs/theorem-map.md | 14 +++ 6 files changed, 215 insertions(+), 48 deletions(-) diff --git a/docs/paper/ordvec_formalization_paper.pdf b/docs/paper/ordvec_formalization_paper.pdf index f8f80d7c051a3efea8d4a4e239c7bae7e11e7ada..81bbb356ec0d84e0bb725ff4cc6c0e3456847267 100644 GIT binary patch delta 65116 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 DjkBO> delta 60580 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Πpb$6o?)WAdK71FHV*8oJ=MF!`{0+~S!|iF7V}3Ga<- z=6W$k_VqK7AipS2zj*NkE40-RD>z)04G40B!Fcd(`w55s%sE zym+>S1UC1To7_5|fTtbT6ouA*mU~78w=`r$P-2HX^f=_aNOS`$VNCLfCE#n_E2i88 z@f&#^8s|gn7!gq;-#lPEvV1S%cnW;QGfc5$k+`BGm`byPAU{1&D)+TUJLFcghsG)S zNA^3-k-dRB3jyg5Ko&3B8^&i6+FN$3DOR%c`Y~G8y0TNgEE~o+e&7%b9S>4mVlsb3 z@uU{D7deeO6<8Ie5Ufc|t`nZ8N|@E)C|UaW%O2cew>mb8ThFoH9nNK~UTmjrr{{jn znARsO_ri+v`mI*newl5hr}=yMhm}NSiPQTUezl~lEYFV{fH*0e`}|9|(>WYG%;e^! z>mrTI3Dxt4{_?;nDZcMP$JVs;g5v(0jaH{HOe(f++r+tVl(AHAsywNX^uF-QQq%VH|P?rgt^hWZMF%Q0(+Wh`er3TZ>lb6?D zXGm=$GmYx90LSyKEYrVcfk%Po6a;?L7mQC3(o@CMtDurKy^=JJyXlhoLV7RE`dNj)J zyh=~J0zh;feH@xNm5rAKlM3`Y{OL_6zdAOZlMWlc$hV%11towXMPB4Oo?O=*N&50wD5dAXD z2Z6d$hRE=1`ZAvh^IZM)tlvh0yTHjGc(!o#448IwIV-L@|D0KL_qzdBv}^z+u(j%S zja}h^5+WlK00504o*T#y3qqvl8>RdW{-OObe5-8kIY4V^e80QH_d_>v3ruQR8=(DT zm_+0ki!6co2o)8BD%79y?AEZpvUFzy5b@pri@@^vt6Yzk=#71lh?u6TZw0iK3dx}V zUmn~sC%QvN*6dq_T@$kZ6f6@ZKF%n0UA}0Nwb$;O+#|S7CFTz05^`Z#qoF38*4wf^ z*;Rn05r@B+SoL2vDysmY*=`^h$+c@r3haU}t^yiL8+IM;m;7FVU|f@}dk5c!E=gWg za$jD!vZD+`lMcr=pYbxKdTrSZ)B1%vGk}*6N8iY9i;~Jk&fPuayIPxO)O1|GOvM3O z5k&%NBDVC2`RW3ZMTTA#l)}MIsn9Y-G zV@63oLxp!qDQy-U*&yU2o>PB(-aUn2{=2df2!yD^yUYtIHSp7QS_A6UIV-`^6|nBD z=8)c#!CgPnX`Zpc@v_To2>y!K=%{7XvUKgTaHCS<{|y;C6a*0bOer^SxVqp#05II4 z{Fpk(;YNVXMiYDxG1uXc=W^j!nS)|5=cQERSoLaY;f*lmj7{pdij0@z3gO{>&28Z?tS2hy%RG_3UIcJS#xQV zuoj_!i1imf;;pM*2G%H6bGyd@I1&3vk z7?LARFNkr-;EbB5|9xQu2s;ipbNEBPfp?0gmM4lK=Ui#$?cJg<0Z2X=m_!&A9Y$_K z`X&j>Y#D;g$?)e@P1oi$VQ!c9;?$%QzIoWzBewX>x2ps*^P`!8e93%)X@Jx741c4= z*}&Y=_SUjo)t-T5S8>hbuDAkq+?-)F7C*mjKG&WS&eaE48O*eJQ2<|RLTdGEZd|H= zCblwz_&+a*J8qv!00=?&CA{Ymm@LlK=Vob#f!y9hXs)F?e;Nm25*3cepABy}<6AQh z_LP+k(gfpPs@q(4I~KrTB!3Gfy1U5qd{_wo&85l{+@pSAUdq=Dc`V^vyg5f^DIL09 zoPzFmdtCMyBfpKo&B(y!^ktGa>wLp6IwT&6WK%&Fq6q>E)m|zuf>j{W-jmYF*F7t zQTvfFtv=d69n;J47rp#15-R0R85|Xik@?Sm$9Om5Ge)1b^zy`%SuEJRf!FCusQ!A! zZ#6Y!Otn7u$(F?~G7VIN{pCMU==Pa8TOicuug^M^n0;*9iFv(r88!uY4ny{&tjuKV zg)w9YWn$U%uRTrC%t=dfM6?-b_l=o6|9K@5Bclk^#MBT8T@J8PP%WL2Ftjozt&J!KUIIL8g3K`PL9@5W?>2)KBj$evDH zbo&-~q-=X;zMQQGthk!XU^axyGKO3jR38x1GR36vUOhz7;wsd;6Nc=lX zzqW7zD*6x3e)SNtpTs~E9wWyvv~ITnkY$QSxAH72ih%5`M&HNU`{&-1k9u{0^;NYo zDmdsrcbF7)$J0DQep-TB)60Lx^=t5 ziA%;&OBIV^%t3c!5-q`K-zVG8F0Oud>2Cg4YztWgsJ}qMoPp}o?w%^t_^CS_bS0P> ze?sqtwWi7%Ih_izP#i++?uZzmL!(lO9NjG%fvEEccbjAKfg1F#B2_ugE{|PH+-)IU zkS#H{T;9wMcM#`d_lnq!oTvLakF4(tqh|_^9by=(dp>AlxcK%n=F3G2?4xeSewEz_ zDaMpj;UAs!pjKQhRX;>DJYdSllDZ$%>Iu=ECQlj@;X^$X$;i)|*3Ju%j_{j=$zWd0 z-afuGHdEvdbB^HNx!KRRPESaKYD%~?BrywQ-per_97`%R)F?7!MgLm`%DrK=Z03w zalEV!eo<4099P6&l@f>m3BCt&yatB5P95VIpgx&e`!PVs7}dxKbmKl63}XyOqAccl zXUO$bDm)iWpu*&$FF3OiCO9G=7NV_^*r-68C*lOylZ0p>7>pQbAs-7NPs!^q1uH_x zUo7Ew#DR(qst|sR{BhW5L_4vZO7Xr9*<5#NpNS-l{`dG}yvH*D)73cpNg@uQ_xL5( z0&FvJO8k2DRNlp#15I;vxAMu;U&ykxCH=({hWQU4<=dN`VQxE}7{EXG2gvfFD*Ya<3G-u5@X{J0qL0p|~et z82aH(S0uqxvQs<=T!C1mnhe<@B^G5ZmSDVjOkyJG)WADH!HLrj_PSuemk>u9c@TTe za?Lz2tmI^u48>sUZafdm9*q%r+0 z9YiJGg|kDY3Xd)-A}V2}VYnyOjOgLd@W%iO8S9SiKAFHNioK#7|BfuPW@my=9mL@9 z$xcTj_9QZZ&XnNV9Ffx2dXH?V=_T>wcpzW4L00T=%NV?bV@d=%c)R!~q|B;kqfdST zRuavrbSA<(s;B#+f5KIyxjBiN*8X<7*k{o9>~eKoWxyd{KNayxe|gYtsa7-5S<20b zIj*~okdc~A(6z^q`YMyY!a&<+Zi5Q91!lEMAXWrG;yFMeOxHnVSw^GO!^7pL$8lTJ? zS!vGrggLlGP&)vn)4SF^Dz$f*c(s`H@@`3B)s9sklh2#B86k1b#~rYA@=NBERzBJU z^w9}`h%9Y(b#Do#AW1vgGNbQ5BCoP2?Jxw}cpF7r@Io!pQGkr&#wNbGkL!0=oUQ}0 zDWRsKGoK1OA{XN0`ojJTSlIZ>nC+{#ua1If$|QOi2Ji z>NWq2{d3ao%Rg~(5xfOh^Ek_xcxSt$yqEw~4|IAHiUbTqT4SJRBPNo9(&ANNChGm^ z3^96gvbB?`D4mNR7qB=Bk6Ik4HWXW3*EZRjA&_OuU>)OJ%)&pYEM`8aJ2xNa?dPo5 zd@uLrfXz9QNe-Z;UkIr3nJVW?*6IkvZRxy#n78AyAoBpM#-9EPnFusTX~IFK50V7% zr@?kH;wr6(ok-=h9uuU)3t>7sDBEFR-wd3PJ!A~0+|6DfF|aww^uX8qdF5d;6!!w% z9Al${l#uI#XW@q!t||2b_<#{!&)~JFh9_qW{(Ufh)EsFy zi-GRNJ<`c4Q|uw|mS#v4;3l3Chi3u!iy$kg2+dnvqGA}ZaRP90xnASu!GJCH3Gl8= zB_txKzguFW1F44!w<%?D9mWv8emF~Fy<$hC9p(o(urpbnw_Ii@ho0iCvoqFRG^H<% z_XI6xDbMV%pL=y`AsCZsB`f$6kILH;4~>eFC<4t`r=4{%1+b1>wdcdn?Un$@mCinh zpRB)a_}62z$qerSJO(ofkD9FTo^>0U#f;a+7{{mKcB|WiDon@h9t|-sZe^o>DU-i@ zC*!Rx-?cZHXUq7`Cb@JZApyQYvsnEP^XxeL9%doJvKfSs=cgrLU|0881^i!NCn1VC zPM@}m0kr^U=%cpy~6k;Oeb{f;cq_D=i|LHD}CW3=j*KmVvK!E*b)fzHdDM;mHXTi~)n$IL;XeMl_0RI&snqN2 zjNadjP*<;`x?kq1kshe0>hxFnE#)`wq4&wI{Z;pU)_W}SJHlYFbF^ZdLFWG88Mrwk zx(47+BKP@4;i3q~z6Q;-h!Q>G-2)vyd1KGHsCgiMeQVjizAL^0D#6s0`}G+e(?}B< z$F~@DMqp}VXs#dor>8AQ?yyDt5}#b^aQu6_70zK-G;G)ciW84{0-C<2o}tQ6*@{m_ z6?$8*xXgx}C%9wd(Oov;0t#_(9z4-!(^Yu3H%Jn>e=fZsKm~~A z+`NseXcuF211Y6wvI`HW?`vKj1bGEsxCK~jk1Aw%Fz2+jo=qx2yuvRDxr7E0J=ZfL z5Q|>l7YI1p;ML+jrqZmZCpK#CY!HNnU-t%>%RH2+Htp4@3Z$ESXROJ>A%?61C?*Z! z(RLp-{9Rgagm1u@IC-kQhR(cOknGySH{&M`Zn`UC)X4z_H= zAJGNAHM*k_FQ4uEiCtt6e_ZGM`xqQ*l0V;Zl_KD4clG-zq~%5cx=`X)7}u*)ixkNp z(W_Sq{ zfE@i;7Ig-`XY}^`0a0o8`YoWo0hZ9VZQnXK%b+-bV0U}D-al4X7L)*?w^u;&Itx#q zdsG3NV?N8%{z4rj1d&1$PeAfFVMHLb5FNt+&dCC~)c?f0iue1x>@``V!XU0r86S7g=kmp}QYQ8G#c$i2G<)hH>3>i~3u z0`}ArXOKKD&X6VTFixh{A?B_3C%p0^6A!~g*Ik*9)~9AeX{>HFwJ&W`5qW!O;ErnQG7RyhpX!h2ssYpkw9 zdZ7DJ5mI70mCzO;omlh{XfZB2 zax16>X^iQ78oHvGZz3q1O8~)MDf7!M-)LoMb(i6Q9mcP@-McMBxv%Sv zjPkU6D+2l5>NwzrlUONn(KBLfk@eL6Tn_#`Ca2xp2c=xj6ylXr{V~cZWp{#0w_s?x zOb;(0Vth1E?%tY!PoCT~|A(6!&r)h7=^kj?ralegKwAe~ZD-oU&wAso$0gXt9~ag@+OTeXO~mPPS+|zR8P(4lPd5zW2sP=0FWJ4Q z53?5>vtt6R)scxpN}4^P9t|(3PF_`}EM=!IJk7b5JgwwcvY4nMc^4)3ppmxW667D} zea~$5&rOmBV+-i{n)5Fk!=mazt`#$#>L$BgD#3x7Dk;RRt1{4xOiv$+`cC?R@FsMT zs2k~d;`>zeU(nsx(LJ$W0__S#m>^;rLv=kPl&S%C+ij5{(_wO6&OwlyG})h%Ec5)C zsJ3A2lUP2@rx<9?7wSW;ADhp&-9?avg%%z$U#YZNFc1Ckp^aDl5NEihzO5c4;3${C z`U-bj+q3U9>mr%{K-?cv6w!M(@rx!}5WR_SeR#pr(Vkr~ltbOjvEe0cB=j z{!bHAm&TUu;eP;Ndj!1~Ky%g?{j%4gI{i}&>ICQ1Rf zFD+pV4=jSBwFE}0ap>tr-;_vq7Axts(FeCXLv2L(5+3MVQ=59@cnn`yKXD|`ba1+- z^ZG+=RM_b^Vw@WeJGJ*|(mH6_!vQ^*?Kers>VB0T^}f)eo#?RbC5f1U|IZ z6RZ{0uWt5CT6%~Dd|3wNKOA5+Q}(pD^9!gpr=A-I_0Ux1p5*~7q)OiF z<|yb-L45IsMweekZRJZILdR^Erj`<8&uW?Gq4CBU$%*LA%+(8{ zBvvybJ9@*Vz$whHqw_Xe7@+{CH_BvlsDz^jI;Fgh?6x)&jl>D&S;jErJ`7LSa*sk- z`^Hl@yULA^{NlSdAd|fu+AnFPB(zs*+-n}0l#4EJ7-%x!H9F&ecfVx|lq@=Jq|Kzn_a<%R!^sw@V!wwn3L znC6l2iD!>8jp84~J5^p|bjlL{Fuy}MFB^hK;8%>YJ3I3!lKmpK`ZDQ6ld&7+lFs2`pR$q1 zap#`mj|#&xHcLG*PPCtl=bB<$-&bh(QPL4XCu+M(azRF35=6kZRDW^N2{+;8#PjDb zg_G?drdRg8?m+KUo#+!Xhr?@3fu>)4+b_JP04N)fuZH68w4_HHB z$Jik@yyXuS$@V~WD| z_0q|VD|G2x*gJhJ&T^p?+J>qo5FGk8r{?j+>y)rWLtnySclTZ1RF2e+mucBgo*y| zI*K=(B9((FI#7)pT1;ukP@xbuX0b3_HH5}=m%jaWTeXk5_6V_RJtk4MU@HRI;E#My z#)P7M#%daUH*-RBMm01Iz)NQ{Sei+ofWmsUV8mS609K7^c!_@jkWhL!-nyO&`g^-) zF~jj1-4O257xappZ@HbUJ=S^CZ}S|nvXlF}$f>c03ga6vVvwj_w` z1tvR_qpzZ589zwkeEifWBv+YfFd( zXJh0@Es5IE*WY98b)blHP7smX)ciQ{iX|#|uMxARu`680Y_1L@#N;Q-^movoIUNBx zdOGaA-n7lXkZw7n`B(d&Jl#AGm|eYY^trPZ42|tIj@xjF*E_sc1H%el^0kx6o!I~( zQ%pc(lZJJ^uen#Rux@gz*BIB3xGJ`Ke`ym5q+`lo+}&HKHAm>4(*-u>x3Gy0>;{!S z>WUh~>s5ua-Cb!fDwDSq#m=v$_Ta$Xh89W=Hi;TeC~pQ|MyNu9w2BoKHc1K<dRG!u+f{qxGzgVed1&8xEWHrU8z0ZrLGUyx#XLZO)KC??jkG$D7dM-VVv(Y7kCZ7c+VX*XGQsfsP=a<&88w zp2U=wk|LhN@0zUH)x%W%n3t_pO~r$E1hscdM3a2f+i?0uY-LzXg$O(`+$m_5#=tN6 z)%5Pflss_L*vH_?UB@+jTLQ=n4~^HcGE(5vtK9O8ybzSt!$>-{?SI8`ebzDr!y0u8z1tq8GxpNNn5Sww_6v;HS1 z0uTNJQJkgbE>!g*Ply$A;eu>EL@|6<>`Pi&MT!}c$>sc>zXNh3RksP@A&kCwcn(1D zQ@30x?&6*#QZFf9fsoL=V%J#iI@0Hotp?k9s)fJ<{pUQzUbW%TqJJIGFh_uwP?qgu zgWap&s2SCs=Vz!WLSXu?G~v_(8!VeP^C*pd)g&80KqDvJ#MXk-9vSjz zo{L85M~vkgFxg;EMu1;C4y+n4G_Q{vYI8)o`4|B)5dVsV|NX3^a%qTF#3;u=KS(ES z0G7|qN+_s(IlwMkzw2o?tfytnDb~@vh6)|axfKLuHRVQKgeVU1&nwn^xY)-?9MIBO zfGk$o(AAhoY0tv0Z-m_>gVA4$aygYV62$a#(%)6MImlf=RiD0SI{e;nmC&|gr6;6|7hU=hd2 zq?-HaEIkEd2Xec-*Sl}Rsx=zo?6}w_o#?wXxvlxyFg1J+)J}Q1T}ivYn)txXDfbF zp=n`PvpUvN*PRd!CIS~WrX0!p+rS@gmuaGu|{4hfi@Ib8)M8VkNVfTK zQgn&ne{L`OqmBQxDBB5uLYi`PQi{Tzf%z$Ndp0toXUbuIrLuG` z)?V-TU+-5-V431Kzb04NvD3Kj0EU(|=0H&hz_|SE=7#zC2is7zJ(7H&D63Zksp&-E zE`|5hi#{Oqy9Vc8O4B>xwFT35+7$7rsR7Er5sClepMwH6#~V^XhQ$DzU5-4|Y>frD zZ!CUbqk0B%w6^!%?KutETe-CezCD$f^^pY`CD|wz_3F>C_17_3L&|Iu zyQV+T2)4?|r@4Lf#cl8`6^j*k`54?>7?ZtR#6ZomFYYqDQ%4MwDq9&#;trWXCZyPF zfOqTh2s3v_+3H`SW{%kzr3G?MbYTbL!l1>SVBH#EPSDfg1aZUT^8_W8fXZypQ9q0uy(djy@%(;%J!VrE$$I}EBiz`=$kxyTnvsDep_h~# zftBU|)>!{xW&Ur7mW(Yf8*JB1&1_wl*`t6WvOd@-jb_2MOFDA7)MfkpFA_ZrwS>_!nwgXwKk>Gqa8dCNu^I9mc_Dq%4kmY|+a z8pUw(Mlm2e`^ z^2XruGJ)iyq|BJa0&Jt_`n^dgK4|p({HSHXxU=#`B6wRebitg;a|Vzx z{T!EIE(bAPj>V{-=hfhPUePj$rmc=myGn~=w}=3g$a{U924tas?+_%N2ysDNEP;clx`5};cUk*@;_+T`*7uBBtG$0l6 zyx@qSS_h!oenA;uN8wrxf<}eJRD3IWru=!qsb0qUKA=^S3anZ#4rg5Lw9e~@MEFWL zFi1duIR~f3I@|FghG1qF+f_}^mkn~HVZH2NrEN|1bUFq-XWPNl`!FtE+A}8a?XN+b zVS9z~4|+Ud#M7*6k7}5R5BxlgYtL9|r=0-w+@1>qV+7r6&dMyVs9r1srx$P^U;1vZ zxz+9lN^|XG&kTP17A*`d^Brq84Dt#bM+?BZt8KK*hr!d^@aE0^0N|(ccJDJrWubdG zTJ0jkQu=1uYW=0+V(RMI(0L1wWNVhbLN4W`hBarZteUQuHOVg6c)BGug6CfL`pBcp zuYBS9Q&H>jbAG39K1+Kcd()@$?43`q`p05jE#sGD;?`M`6zL6`?Me1qkKeIe2z&2oWr`yA3xQNmb{&7Cu|maHr!>57d| zWF~&AG^In_M4a%dLf%&fDWB%`pdMg~Vv4n(9-N*SXir?xJ@K%s<%jFl^*uD=)-A#M zNW#zHk*I#UeFm>QTrReP)B+3zk{(pmKD%K({+u3svW*+gni@Ii@o=(FoP*l;pdc7= zLuO;V?>p}tQic=D#p#_>LO=8u#4m6MR*|PCMv#bePY}(lP#PV*x!1I0*Feg(Q3XSc z=)%3OJUac+{%g2kXt*#*4qdcXf>k7NjaW6qO&KEAO*^n~$st#Uy$<+pV;2AYf@>mm zcW_7SKcM*Oc1-Ml-~>H(pqve*_9JvN?AJ}P$dg-g$ZZ-Sx!ph(&vd~U(2hWb<9E~+ z{)cgz-^c`lh>>F04C)Rlf`KA^y)a1%l?z$Bh`dra8&w`Ux3lN{ZsG0u+~Mo{`QT_B zBiZ0i$mCdJza)+FKpPNFn&-w`Mki{!P)pM)Mykt0@iGeH052KpSoVI%EOoF_b|^Mi zd6Sn`qm*{Xi8m^|xORW5?k+2*7Pq6)w7}-!@%gXqyR2kk()2HOCnTtb$7vj2?7)*@ zTJfRFpIt|O{NV)7yB~6?4{8u^48G!5pVG~3v6l9Z9PY?^f&hS4vVX=Fw;gpGj{$S6 z0Z46sg2Sj%)gb6hk`IV8;dVCR+ZdyRb@5R3QCjs8R`rp90p4fyLOT(c7QUnxghT5! z?f0MOsxUb`HOPxy&zu-Jd1mSZPcr&$)B8zJvK7}*M4O8cs(Db3Pq7t;9*bu_;cc9Z z|2Lu%Iu4*f82_NUbvMyId;p&5^4i(CM6<*T8%gkq>OR z*wD!S5J{Y_&%F)6B&k@7a_v$ueV_>EezNvt#b_%T*R2vK=`mLV99Uk`8kbOQ+3i?Y zWH6mh@Z@3jxGb(F46k+wP+O}4R59`<-LsgDiEwyZyg_B=x_Yh!XfNeKOx@6HAAEn?F7-;lV@ACzm zeNDqoogb>&bkZXLD2}S+x=`N*F#TZyG)}pbi{l8y-Y(mD-Dn;)LE$I37ZysY$NY+o zf!DkCyX!UPCS252+Y4V7;Gw&cE?G@;-6h_QC;mzWDB_C{*}04;Eh;{|uCE4F21`1N zEw~Q2NNH+aRHkj1lbM)nzq(I%RFVjcPm5r#32pF<;RWdd3W-D}hJ4aP8r)Og&4qp4 z%W$?TFm{@2Cp1~~QyG9l;xM<01zP3nY1uXp181Zco@lMgZe-y-lqQ;npev2=gMH#i zn2RoMGc0gavd#sqGa|%S9=ukbIuqd` zyi4A+EwtzYrgbrqINEgffo{HxSD>+A|eSIDUwx*FN?K{P#E z%_VE;ru}Xpg9Tq0X4}-IZoqRoMd7H4!KIiz6$9ciE>!;QfPZ5!c%+}*9nh*V%c^lE zVUGK*mt;$TrcoWh4B5{$A53}!=FuW>Mvm{X>x8EieQra=xVkRFR^pl&kz zKJ^ozbLA`8Gw%_f1sgfBcw2RRic)Kuqv@P8bYz-5;9Z25be0|F6HFq%xz)Dg8yCV~ z(>p>grE&M@EY!8#y@G1hJRaDuO-7KQX@tUO3;R$IX~Vn!1)0!h1^mWAj=o4q$ICIy^Q8|y@ zky;7GD>X(hCHeDMS3Rkyx)j|FI}`(8jY$~w8~|mX8xY3 zw7e8MW^aRolp8qyow}7B?$%g>8K1M;sBg!X=|?zt+yxg*A=xQgg9CdU7KeF#NUjk5YYZz6&%`p6nz#0+EZ~wYWLS71UmSQyQhJZSM*9FP5-H(iL%yJYZG8 zj%W{}YHaC;S7g0Zog`3QfK61dq_hYS*dmI~hi9}WfnHw}Oe)s!>)U58mN=l`N~I98 zECBOZqlbn3g^av!cn3v^#dt7_%&cLU&O*o}rF0W@m2D`V93Db=#cuXDHm*BZoyxD& z8p(5h9|$S$5*fv|>V@QZQT^HB7akWqV)ug%xh0DpJTbKng zo5|82D!)BKt7PRiV{r$|`8W^t@KtO6KL2*M#UpudQ>97op6JB^3)d}nh@v7RcsBi+ zD3Mif*U7@#847wYq@YHHC%DePP(;$5A5j))UD0Ov-MzS4|(YRf=c7npG?S#ug;`>~+_ol(*Iws@C9v=DLyPs*eUXXJa0H@Dn$n zf5wqVv;3dMX-*wb1>~GVNQ{HM*Oj^~a$7YVl`-M#(Ka-89EvT_C?k1B36*<6Y3pS< z9*cvolF@hEFW*Y)xfWp*E)NX)i%lt>dSBr{e6&djOrQ1B7j66L6Ryz#3kR=LCJL!< z{iIXWIlB*mIrPquye-k@mk#Y8gh)&RcvOks2~N|{KH+>{IhS@ zlS#5O+U!RoQPt9>%{YYlV7>kU3%wn@6O6wc5}C7TPRP&w7{W~y5Z}rs5|}O<@9d%>@Jp|9doz@s6k#C6kaf9nV zuyPeH-F~*VL)pu;{Hs{)ZcSFMw1x?%nN~G9QABn_=&X4+#2KM+uQ!yOccNTnUr`0U z;NuA?_h}Fi307 zvk&W+*L_3dM%(o#a3^0OfDiCc+GCXug?$8p;d?O1A<({i>gv=CIO?MPusnvCe26rf zbRL~zugLV|GZL{XJnjqF=cp%b#d<5dv&M5g&d$AKA6N?iRGsQFf82{vM-cJLDahcP zdyYp936SZxu2w$ac-?rU>F%jj{(4GbzPYNyTXDRkLvj}v@lQ&d1O{lVq2{^58hn3F zXj>oxh{QFI01b=0O&(9Yzf*u$q#|+vZ42*9=_b_D+X41JGi5d0(Q`lPu)zL)l+Sn$+ z-Q5BNcXxO9jZ1KM+qk=J+$BJQhm8k^;1=B7CAc4+_d9jIs`KYmO-)_hv#RG;PuFy> zb>9L9>$JRQ7uIiycTb1iJI!egOy-}LA|O_MN+nnC+3GlF+_Ep!2W!ltY;I$I9xBZ5 zBs>nwwFjusa+e&Q3BMuNoWi}t4Wb~$YvGFFzvzpU;pQd-wCeomn%;Lkp$oAh@ZXWJ z=t{mK7s9~Gmdc)~{`%F{Xe9<60VizSVyEQ?EycAUF%et%cQBLAERJo|Y47{2o40#5&l1SSQ9)nA}Q zfew2$6c-GTBp}Ve)_8Yn`1yIgSFP*PsJc0Wv7=X`AL>)!7wRs0jD(Cc0SuN!JJ56J zOrpP^K~;J+{hAg`lkg|wW?#P39mT1#&jpPk)@=xMpD0XczpQ5s-VCnI8H-cI+W?du z)7LM<*=X>=z9tEgOOm`ZlL@jQ5%ZZz<&?lXw^A0t0#bW1Z%Cf#V%ZzQG1O+a z3IRgofqi&NjOcE}fYIuKrp zGXTS^z1CV)W&bmt-7cJ$v5wGffrn5fcky#iOX;Y6gDW$7fvl_7-FZEst&~v76fGCh z3yOU_o<3c3C8BZQP<@(sm9w`lHvPI%*p>*hb_3ZQeYY*1RL11helOBhvbPH%A|@QG zP$$jr2vg{V8M%x_Ka1x+WMk??fzFn|8{_!RZcYl zb@HDvKho7kKiG4ymi=f`^rPf+H;5ajCf{&CIK4@$nP}NyAL~yQut5NOL_!D5q$hlO zUukqOQcp5Ts}0}093Rch;EMR8F#hj3o06iIM7dN9{tMdMR7!#}>FJ6lx6+zp{jUOn zhMr5x@AV}OYj=CiA?k5hr!bRVG2_chZGWXxnis)q_g|C6KLtA*4Hy)0(St_23@+^E zsx^L;nEWk2H{;JW!`3Fu$js;TC&INNbXl3auZ z{3QHFG>&%=HtM$ekv;u+&sP*k5np-#cr4I%csVS2oL0d`dnlX;a-#+C-25OhsIhA~ zsxm|yKiawzihb@P;1Knr$OWamKrQfDHIA6a2p!Lq%x19agqIS}X3gBuxX^ZTuK61yhBc1g`R8#-VgEFDA z$veu)9D%?j>(wKmQ2h8~4MQlf%RW%CAi7DnN0Q#Ll!R~pJ<+`RV+&P41%O4AYaSG{ z*40G?*qP|q@ofSw0ID>)le_nY)@ z5Q3oOs42HG;iGm?5(fPA+lzuW^`O$+WtT_@;DaV>^PwJBJ&N3|er@XmZ2f#(x>|A# zC5YXkvWVEdaF!F&53<3Da*TxK|^r(bNz zMSE(l*q-J84H1(jWp>4V*^Iz%DS8hgVpaM1o(kWd-AHvfYzD)@3ptaA*7QuJJj8}*^*|pWfluY3 zaUg2r(06oTv7QeE-a+Rfg9XMv5ET}tpBOBC_kjmwFf$3@Cm0x9$Yc$SzX5ob348BR$bTwMi=4S6<$i^m2>e1^k@ z&?22cRM z=>m`;pDh5wu;4sh050UCGaVKz0|emy_xvN??!WjeV*oa!&Jl0|4bCzDz*=WO1`Jr{ z8vqNU>jp^s7|`|u-#q~7FyK7L53KM8Xu^VXoj(xOAD{sXmU8<*cMt#s3qJMuK=@Dq zDjYb~`(rS=NB}Y%_{r}BWn=$C6VL}*C;o^3LOw7m74QU;8azyk#>dI~e>Ri3S$R_n z9X=e}fd)=Qd<}v3wNpFHxY|4yr=cd$euB#EsVlsHb|W@L>je@f7E`GHaQu0Ddaa6C zE1qjx?#TxO>|@5i#16DIX0P!N8ZB{HE>-)h=#*D5y)mpb%I_@P0yQ6QJ2ww`ZodAU zGQ8K+OBV{4E<=W9{T}vDG<;D*e@pwjs>^qfi2Otv zMKHYSgG}*(^Wm@(3Jp+JP3HuWK5^VaSd~+SVOQ>>_dq$fqbaw11G7mx73Zq_#IUcR zdE6-koWHSUE}sUi(HT`^kFek%2J2U|O^RX_`mNY|K#%_6pV z$2oI{!1vSOl?bttQgy%p;{JV~9*L&}y}_XYv9))p1_|Qpi>T#Ay)_Ge5#j>yGIRR* zMSB{ey!yAgL&RMr8l|KdZVoY``Lg>N^*?o86t!cfo@{f$U{jB%o6 z33D$t&X?Uc}cAnG3c0o=sHt*woQZzR3S84g&#tFpYFfo z2FDg*;QWNuTxjFG+w2Jq-F6quz9khr#Hr}vAQ)XIV2)BQtN~hM`fM`k$Rm*)9T&U{ z(itfZ9)Y#=P8KUOu(M4I42mT~Xm?{AO{=dBu1n~0Vr!o*0+B_VYyFMv z5&aE@6j%l62@)i{(It=yZW6?lTrW8bel^0aog|%o-{=~%;+cJ?kBPmi6UhhSR-N`e z44AR!p*&U1v>A)1y`eH*L|7xg##l^-b$tt94`8QX)(*HheZ35W!VSH;Z3<#SfVNsc zY^Oq8m_oB~>bOYtsOy5E0m&Xz3nOnO_G7(*i1?$;H zMiEl7QeB;B_k5JEVbZd+j#g8CvDw>v$APO^XYgT_sapoQgB3*L0YQF}AqNzE=*I`H z-=uFO6sTwFuuNOVmuZ)^#&@PrSsBJoEa3WZ*{*95|e z0mQ{gsDg5Wc;}d_K@N**4t*is@RGPIPu{gp+)rzgyr}~L+p%b@IRP!PXw1B6>&L=p z9OzPD)>%5(kwOxAJ43Qyh&o*-%QLx$oCmLoMBZjFOf)?dH7hjvXU>QqbD9ng3Tq5x zUd-!2*)m$5SlRq@s=1RPqd3H~`ViE6i%FjL7ks&Sw!-n_Y0nIz1cFjX8t)Gg6M;<$$!f1`X?R$Dc@eD2NLZ}U3Xdc@J5{RC zepO5VZ0Pg3FNEa;rL$`o$xd*eOhdCZmj^cuS1U!T1&UMSf zjn%a!?dV}I)hc(Be$jJe`b47~^osa@VxoEti0D2r26IPJ^)CGPpf9%QTj2gbhbtB)u^z7a2TjM6Nml8;2_F~qS+Pv- zScoq;U1ZVtPU|bl3*-^n5|x9}6H+NuE1*-4$gfV!%QE^#7ywiKWsLqKGf`N4x(F&* zv2l+}0AvrxNMM>l>FSqFw5Tn;D8y^uyfvK!iM!Oau3xR8T=GmyK1rTY7E~aIl}T3E zjq2{DI|+A9cAQU&{x*B4t0t(l%}6Awng=AM*jrRhV&P8HD{gNyyH;jR4up;Ws)513 zNkrfyf%>V4Uz-SD_%1ofnBG$+BCpAuiZseL4iq1%LD46BhFg=($>7~~p*2w6M4jy> z2c4!=cKP{8Fx!VpC0awvT&*;G>p)P-8j%+m#`92Cr)hswM+_^EO(zS1k6+(H!w+ch&g(qt^!xFJIeTMsAPAOf36)2C-Fo* z3__;(OEuu!OPxhCK1yRI@M~%_8G#L{bR3~kyq3Uu+eF)VQy9V`3$O!HCe|ri(4Vjb z{Ad{KuCk=s2&dj>1b#y+?NZ3XWUt>8vRt&MBLzlj(9C!=@(%a zwXnE@PMEB22vxc4&F8yZrdiiRT^O+#D@k=`^2gurz{f$=+}FKV+_+)jme}=M^;rhr z>wH8efw`+jZ^J#CL%lC%P1#RqnDf15W|~#$KN5FD&9JJ>+7RyRaf615>k~m#1JIJz zC$Mh~f`ncdHTi+M@1;6T{%CPq_+m{l3Qc_$jJrw$)-Xh&PT3JpmE12ga&OV)Xf{G= z7M3cbrojS9uR*FTb3=#N>p{7 z0rwnuN?tzi?o>Rf3B385k>-=j2r`RILth(jS(3-Nqt_m0r*&t@)~d|<6T?%JMXZ4E zs4{zLm22lyOKby1fY}(GG6-L61FiK?a<()PW?6(an--5YFs>{6${%v)oXaW}2V&FE zCxm8usMoZa&2tdj?9?N)*&|u@Fyi(wocfjt6(Qy&?Qb&>T>fEotiG%gR@xw{rJKAz$KhKEwTM+h$ z@{=Jju&mFc=i_8p@(O+*0l8kv`N2~o@Lg71GD=Po>D?hmLH;zn}SA2Dn- z>C5iqy{%~ZIXY3Adr!VB(4Cj!-#LwIHae?rBG6_r$!EQQ&i3BI50vT%*e|orb!DW9 zp$RP!pKMn+Bt9Wgh)GK@$27OG%sBCBpQEQRO*>5zH;_+!6q=piod_6#OIDE6a5a;} z%!rtuSRlR+tJ*H5xxdBcNR3m)?zQQ(ZsnOJKA<>El8MXpN5Kqvp7JFBr0t?TRp$Fq zNJgn2)lqhn@jTrx59(=`ptrF!+S!-EaGeQ&d){Gb)?3PrUp1PZ3tI>p@x#Z?bgk+YXFeYIbFh zCz%f3W3f)8E!z3mKxnl40?K0-=l%Ogvap7&yZ!$A|6L&edGlaBhCJPMzoqEbvFJyV z+(q`l5s0LV!j+}62?Y*TOTE$$Tc2VcDhuU_4q#A0{MjyZy)Q1eX{jp9M5w5q3b=Xn z#6GMsROu)+lP7KLFbmu|e6Yh&<>@lrddXbYdksSP8cxWUcdbr0#S|_;u(sf6%g&@5 z4p+}sRtQ?4uQXXSbTINPnYNTOfX)&$%s8y|erKRDutfYr^*HF0GuQunbB=hD3|}Cj zK!1bk9+^m_a<n9AlYkKZ`84ivK2?pVyTMv z;#lt=U1z_5*P@}ReQAPv;x_+GV^Ru zSp!?~ap8=|VN-9&CN1OjCee zT5*=2Dy1ivTtD-hJ!wv;j@?hoa0B}9L0QTrQ|z`8#M7_mb5_LlH%MvRA}n!&3a z^}8t&{xy>q2n|45T+Q6K?G)6!X%V5|TYuJsgpGgdu$EP2hR4vy>RbW2O074|DuED9 z2gCFA3T$5WFWi^F=-Y_Y+*NUVo{s3!4v^BOd*Q(>e~XMVO|YH9#sr1O?(#6s zw*X9~(mW=cVl=m}@#Chh1rc@)zaZE7n3z|-r4xHYr%-4lntYWN2dP`*_JYZw44_H) zg_i4^J(k4vuIHiDif=n7J+kSMLp#+-?k$8sWj}3S((9fI3H~=%*$OqBEFJ!Y_-jF# zSvP*DaJLCwIj$BTO*EF@r3%?e=Ok5#L8O!LI(^qA(|cNL3@)hF+Q#q7pZZW^AU5c^ zye9qxiihrF8!;u@aI|qo*tIcYSD;E>mgA6ioPx-Q=SF7XojC2QGJM>Hf$#VzG9GNq zgLFf+NRj#T zv!~NbIXknB8CJen<1o|6GTzRJ1va>@*-KK{OKaBJ+CFw-7Mn%~uWST3JS^{}0ZPLKOPvkE8^^f|w$M)~FR-wgRS*W$npD$h2(Lh$WlDj|imGyQ9 z7jE}Vm>qbGBjWoFQOb>Fm*F8vEriZ*lzax%73-0?XdA);d_sEU6&teS?9(Ym84qkt z{Q?9h)(A=lz?`*j4kBbi{QQ0$bfDKn?FWU?EQ3LYQAST?Eg#?fQnCO(M*TKz7RftJ z9;!V%yi>EeTsGap6chJ=S`M%}~7nYXsF zf7`avc)0s6LuJftE9uDB{qqVgr0uW>9Xx>+%62e=@73{EdqssFcAcI(XBNqaV#jeWKqQ;axo2Q(71Hzg@X{whA{OMlb>t z;%q+_{tTQ#3^i^SXG;m4@A^v+x&-%=UDVhh?-0|91yt+m@9OFAn(c!l1|l&vbNzag za2)VC^-=f0>xMZo)z~MwL#~8eL7Czne*05I`zZ={=40*2_=A0WrKexku}rOTr*~j( zZ$5aVRwTZ*+~6Kr>mmt)?Cl)MBr%9BDdvUbfBJ;}*n+S4W#=~`XaV@ykY)9T>nOt%`F@A?&6O>Zi{$(z=Ohj&biTdBSKiu0?;IPK$=f zCUma$UQIvi(C*^qC&=vlgr;3L6e$Idh8BeaK_ip&TUCJBZZH!~)4T}fDKK5wyE93Y z+`~|o{FD&SafE~s;AD^FDC2!=?<<@?mopZ!F$(JRzJD&M_|5fW5x3j4!b5gLt=k8| zOzKNoes7{8-H|Jv_K(C3Iun~>Nb62^&=(N1gV&2u!qHZv%%pL_%g)j0PK7ru$b&ir zB-%eC1Aq98m_EVnKfm&8!g`JQThFdfYVDPtOLI#K&X?DNX})IE5(P!hmluMsyu}c9 z5xU=|enFEk)GFb~)h%C3o9JgGtb|sGEziHD7l_+3@pV%V$mvS)%KckrmETP(%ik-o z%q-KJ3$g54Dx#+Sbnditz*I?`Z;yTPA@D)IF|%bq)LVl}f2yeFoK1gJX%EB9HpiL6Fbv`OmyvDU@f5 zFDncs*do+9Gh1DP8fut;VkJ}kGyPInDm{vE_(HBTCN7T;-3U7?#2G$n5kRK-0*Y~y z9B>mHxA6|65;IZL!o6^L(X>{s;EtJepKryVVZaz5OKYPU(MaN{5DMroeTWrCm6+Q| z&pnOsZM)rW+Fte80nCl<9FWFEu_n?*J)B6O3Eo*-}-OTQ&p)TXb20-{B^Tr?MBiEfo!NGoO4FAEi6BITfxTf-!CIYx|I zEjOK_@93eI5BI=VV=%q^I#Ap=Ho(Kr!eSFevS9BoKka|Ie0RrmOv=;iMvPX@^*gTP z&SxS-VUy+L^7*(z!vANeJv;VZp*OoMUX%}73{PL|5}3Xd^=kl;=A#|YD(Ii>i!Yp; zC-e!)e1BMuv*A6lCBcF%N6oH@0dUmNS?hVHjY6#@tmdpxq2GS`FE{Pa4->vlkv5_f z4TVGgUvV{trH)xec3xr&r-|nga5L;}RY*`PYxt2Jo~=4#q&!+*Cj#s8>S)t zK}GT^)S3EN_m0rDwSV2t1Um^M)6Kr|y6!H`hPltIo_cok zt@r$P@L6t-bCb!B*Hf@+L>lpOb~E6x9F=cT%f{HZ4_?fL(ecjTdC zX@97>G`$h3rw>p)%>bo@TqlNV**w(tAuTT>lpGo4|6B1tU<+`OufBPexq2tNV2_+f zD7R-lB#QaRAY*!&Q$v&6wL&c1gKHOVVUVo>qzRn$V%VAYIP`GiBuh~+-dX-!Vvj&P z)6Y-wg>Pn`%0WRie`BI1sUYXe)*+24&GhDE%D;5QqAJfr^d%7VsxtTa=f7cI?FrP9 zEMIO5UesoR`WEg~Y4~}lKYtMAIr~Z*BWft96k##)M3(XN%plci@09859yuGqR+BK* zWhg6+91coNS+~118FiNe0d~s98jc}kS$zMI zlNrDkk&}%RJW>M){>s75#`%$U&cw<^%gRbikI16rWFcwlZb?oj$M5E9d4!(D1n816y!*tnupN4}x%WcfH%dPu|=a|d>)L+8=^l#ei7fc+e z0av3?ph4+HRpEZFeGTFgIbs*gDb%!e=w+LJ=rhi3#Irap#iBf|5V^JNfjp}OxvjsbnQ7AOdpN1`CQ76jOn|p3Mg6hzI_jgOi6T?V-r2oK zWkM-iiZ)U|reMU-pLmr8B%;i-&FK$&nv$YE zCt!w=h1d+JLH!VAP>3=kRm6#aP7+>UqkseM0jIws zEKzhWo_;s8>NOEDfslwGZo9lFKQmN*PH7m(8X z@P8de9V)%gOlyW}q)x-Q*uCJ~$QYVH7#XUo?<0f=qG8kB}VKYHG;Wy^KfhLP9_lHDvn)l+O+} z;M&cQ`|xu&E&dkT{rLGc5sP!7eX5dISgSI%DkTqX(p7E$l1=ACk)JGm>IS(#n|9~X zWR)M!E!@%vWYX|Ny|K(R={Ghn(!o1Q^xoYMA)!7;Zrx} zMY5hwf7C|YO9D5?^G2bfgETNeErf$_e-fY1k1s$^uSVWKr-aU*XLm>6POdJ0z8|e@ zJuF=AZ|yr1hTX%P_xE|Q`*GzuK9^i#mc(YBV~ucs*x?K~n!Z;u)8N0Xo?W0;psg*O zmk$xCs+b03TzYt|qTOGR38UT1<~-o%D7{ag)nXiIqE23(yq#@rEe5QDE)x6xGOd3> zLbPX(ZFlTgLo0BJ$vwlqL7E|_ms*XwUe-RGV2=Gqnb1QcN}7v{=$|kpZ<9wAbF9e+ z)6_vJ!%0zYmDTX28pn*YFmQf*kfED=_<*65Mw2J)=(k;HgiW|DRYWaP7>_~{d?ta!pOc?v^k2HY8YhQ z@Ivf$9el2Z-gM2~X1OGN#zuoAMYqyibS;yX&y#I5-w}TJ6vc?occ{wwOa2s<*$lCt zpn@3ED!zLdVn|ciM~5}YN9h++hSO-pN;(w1ejNpBH!5QS>a>82pbf1hw#)*lzz6>f z&Qt1{W-IG~bn9`|9{E}f2%f?-&2w*%FL|_EzFKge<7U5u4cb+d&8GDR9pHP4GzAxA z`CB!i60y3(KCdg(N_TQ7E($T$iRGE;K%DI+{>EawK1}1XWp!HJls2b21y_6NK3#Al z3UTFl&W-m9S%NzUsJqW>oaZw_{=9Q_Qg`)@ZW`NU1a3-)JSm~r7`X4&ck%7tT^9WJftJ@rezT)yaCD>wO@#=78c4?lBQ+EBZIlaE= zEhrZ5WySw*jtkRG!?My3|Wx1Ny#ZxZ?j_c>Y^=xWG-#016Nrw;>{nhK;W!`G@8$B8v{W0UJ37 zIon64x|7q#!otQu&PuM1$Rg)x<@C|w{NF7}asxqb9$qoY53>O=PCj04HZf@)2`+I7 zX)#`2c3y5tF?KOw^8a@T%EyZoEgiqPTa&Y~{(ly*H0cWV=~DO+2hWpys)fx>O``M* zoFW?&r`8=GTP^u$Pb z^kAL%nykBN97EoL<@N6KdKTy{%V|B!Wuo;R^8oYPgovx;HJdUT7J+PctaW4*J2}$) z6e=cYubaCrL0hGXBrW*F`csr=P#%VRoXJq`CO7Nl7#M3AfyDB)W2ii9ys4&m!$P7nAI>v(v_q*J@l=3vsBn{lwW}OP z+SD$^QUw`up`lc2-$amDlbzc2f?Q-b>oVpt{E?nBssn*To;zHwjDeT|6$!xHn#dYd zUAkiegYy1}GlLXl>C>?fmSYK#yM)Pv0e4%nqSOQtIRDM9p2M{2AufpvWh+dU>82~3 z2*ezN8riK3t_AQ;n>+nRN`ocXCDdirSuZ4GnsFvLbjmLHG7$q~fU#IoXvUIN{j6W` zb0*91cGd*fy0R+ixHs!QeZT85p9Ka~gB0ER;v~-|(MG4o>qkFmubqXGUJIp84V;Sl0Q_$p|xVji~*$4U;Jnhj{qL()1l z&8+7wJuqQ+`c^B}t6sO#VPrQ5+8KT>RLmKj7-lsg|76O}t`+W;)fy_kJ9K9gZd3UN z81jZ~4bQY6_~S27e>^4;XK$R;lfjnbxvKEH$z5sb_qEen5o`}#^($Gm3Yr{ay5ol3 z4Kb;;3_YL1??deO=M2Zc#zZdY_#Kvx3b1eW?)L7nahRUxiDKk4USBytQm+{&)8#``RnY|T^YHOkZ3>Kk;mMgjbY85J@f_U%ig(%1< z<+?+RH;8h(Pv?fpFj*m^{XLEIZ>&VLMkj|RPgxuNU!_V%c@K?FUSG5C|ADf~GUC5N u6zrh6MoL8*@qYmk{4x&! diff --git a/docs/paper/ordvec_formalization_paper.tex b/docs/paper/ordvec_formalization_paper.tex index e98f07d..fd0b029 100644 --- a/docs/paper/ordvec_formalization_paper.tex +++ b/docs/paper/ordvec_formalization_paper.tex @@ -103,6 +103,16 @@ \section{Purpose and Scope} question is whether a specific admission decision can be made with no loss after passing from \(\Omega\) to \(Z\). +In applications, the chosen ``full'' observation space is already relative. +A neural embedding, sparse lexical vector, chunked document view, or bitmap +signature can itself be treated as an observation map out of a richer source. +The formalization does not require this chain to end in an ontologically +complete \(\Omega\). It fixes the finite observation layer being audited and +asks whether the target under discussion is invariant on the fibers of the next +quotient. The recursion stops at the target: once the decision, score, +comparison, or multi-target signature is fixed, the theorem asks whether the +proposed quotient preserves exactly that behavior. + The Lean repository answers this question in a finite setting. It proves that under exact factorization assumptions, quotient-form rules are sufficient for Bayes-optimal admission. It also proves the converse kind of structural @@ -414,7 +424,12 @@ \subsection{Cardinality reduction} \card{A^Z}=\card{A}^{\card{Z}}. \] These are \lean{card_fullTargets}, \lean{card_quotientRules}, and -\lean{quotientCompatible_search_space_bound}. Lean also defines +\lean{quotientCompatible_search_space_bound}. On a reachable image, the +generic count +\[ + \card{A^{\im(Q)}}=\card{A}^{\card{\im(Q)}} +\] +is checked by \lean{card_quotientImageRules}. Lean also defines \lean{UnobservedReachableQuotients} for the reachable image buckets not yet seen in the sample. The induced full-target unobserved-bucket freedom has the corresponding count @@ -434,7 +449,7 @@ \subsection{Cardinality reduction} full-target uncertainty is exactly the finite set of assignments on reachable unobserved image buckets. -\subsection{Refinement and products} +\subsection{Refinement and paired targets over one quotient} If a fine quotient \(Q_f\) determines a coarse quotient \(Q_c\), Lean writes this as \lean{QuotientRefines}. Theorems @@ -446,10 +461,12 @@ \subsection{Refinement and products} factor through the fine quotient rules out factorization through any coarser one. -The product theorem \lean{RuleFactorsThrough.prod_iff} proves that a paired -target factors through a quotient exactly when both components factor through -it. The sample-level analogue \lean{SampleConsistent.prod_iff} gives the same -componentwise criterion for finite samples. +The paired-target theorem \lean{RuleFactorsThrough.prod_iff} proves that a +paired target factors through a single quotient exactly when both components +factor through it. The sample-level analogue \lean{SampleConsistent.prod_iff} +gives the same componentwise criterion for finite samples. This is distinct +from the later product-map quotient \(C_q\times C_d\), which handles +query/document-style product domains. \begin{interpretation} These theorems are useful for probe design. A refined quotient gives more @@ -604,6 +621,7 @@ \subsection{Product quotients, ranking, and kernel refinements} \begin{leanblock} \lean{productMap}\quad \lean{ProductFiberInvariant}\quad +\lean{kernelContainedInTarget_productMap_iff_productFiberInvariant}\\ \lean{ruleFactorsThrough_product_fiberInvariant}\\ \lean{productFiberInvariant_ruleFactorsThrough_of_surjective}\\ \lean{ruleFactorsThrough_productMap_image_iff_productFiberInvariant} @@ -612,6 +630,13 @@ \subsection{Product quotients, ranking, and kernel refinements} constant on product fibers. The surjective and image-restricted converses are the clean formal versions of working on the actually reached product image rather than pretending that the full ambient code space is populated. +The finite product-search vocabulary names both observed and reachable +unobserved product buckets: +\begin{leanblock} +\lean{ObservedProductQuotients}\quad +\lean{UnobservedReachableProductQuotients}\quad +\lean{card_productQuotientRules} +\end{leanblock} The finite search space is then exactly controlled by the component images: \begin{leanblock} \lean{productMap_image_subset_product_images}\\ @@ -635,10 +660,16 @@ \subsection{Product quotients, ranking, and kernel refinements} \card{A}^{\card{\im(C_q)}\card{\im(C_d)}} \] for finite label type \(A\). +This exact product-image equality is a theorem about the full formal product +domain \(\Omega_q\times\Omega_d\). A logged candidate graph, prefiltered +trace, or finite benchmark subset need not realize every independent +query/document pair; such restricted empirical surfaces should be treated as +their own finite observed images. Finite pair samples get the corresponding falsifier: \begin{leanblock} \lean{ProductSampleConsistent}\quad +\lean{productSampleConsistent_iff_sampleConsistent_productMap}\\ \lean{productSampleConsistent_of_ruleFactorsThrough}\\ \lean{productSampleConsistent_iff_exists_productRuleFitsSample}\\ \lean{no_productQuotientTarget_of_sample_collision} @@ -667,8 +698,11 @@ \subsection{Product quotients, ranking, and kernel refinements} Ranking comparisons are handled by a three-field comparison observation: \begin{leanblock} \lean{ComparisonObs}\quad +\lean{comparisonObsEquivProd}\quad \lean{comparisonMap}\quad -\lean{ComparisonFiberInvariant}\\ +\lean{comparisonMap_eq_iff}\\ +\lean{ComparisonFiberInvariant}\quad +\lean{ruleFactorsThrough_comparison_fiberInvariant}\\ \lean{rankByScore}\quad \lean{rankByScore_factorsThrough_of_score_factorsThrough} \end{leanblock} @@ -699,6 +733,7 @@ \subsection{Product quotients, ranking, and kernel refinements} \lean{FinitePairQuotient.lean} remains as a retrieval-facing wrapper around the generic product API: \begin{leanblock} +\lean{pairQuotient}\quad \lean{pairQuotient_eq_iff}\quad \lean{pairRuleFactorsThrough_same_on_quotient_fibers}\quad \lean{no_pair_compatible_target_of_sample_collision} @@ -1216,6 +1251,26 @@ \subsection{What gets reduced} unobserved, Boolean extrapolations have size \(2^m\). This is exactly the ``smaller finite set of extrapolations'' established by the Lean search layer. +For pairwise retrieval targets, the haystack is not a document-only bucket +space. It is the reachable product image of compressed query and document +codes. On the full formal product domain this has size +\(\card{\im(C_q)}\card{\im(C_d)}\), and comparison/ranking targets live over +the one-query/two-document image box of size +\(\card{\im(C_q)}\card{\im(C_d)}^2\). On a finite logged sample or prefiltered +trace, the observed image may be smaller, and the same finite-bucket logic +applies to that restricted surface. + +For probe families, the reduction is by the realized joint-code image. The +point is not that each bitmap, ordinal, lexical, query-transform, or +context-window probe is injective by itself. The finite question is whether +agreement on the whole joint code preserves the target behavior being audited. + +For score-threshold decisions, the margin/profile layer gives a different +kind of reduction: supplied finite error and margin certificates can turn an +approximate quotient score into an exact threshold-decision certificate. Near +the decision boundary, this requires explicit margin evidence; absent that +evidence, the theorem intentionally does not certify equality. + \subsection{How bitmap probes fit} For small bitmap probes, the constant-weight theorem gives an idealized target @@ -1260,6 +1315,16 @@ \section{Non-Claims} \item It does not prove that any concrete family of production probes is globally target-sufficient. The window layer proves the finite kernel calculus for such probe families once the observations and target are fixed. +\item It does not prove top-\(k\) list equality, tie-policy preservation, or + nDCG preservation from the ranking-comparison theorem alone. Those require + additional ordering, tie, or margin assumptions. +\item It does not let product-image equalities for the full formal product + domain be read as claims about arbitrary logged candidate graphs or + prefiltered empirical traces. +\item It does not certify near-threshold score decisions unless the supplied + score-error and margin hypotheses exclude those near ties. +\item It does not prove a continuous Takens-style embedding theorem. The + observation-window layer is a finite-domain target-separation calculus. \item It does not include randomized tests, Neyman--Pearson optimality, uniformly most powerful tests, Karlin--Rubin theory, asymptotics, or measure-theoretic probability. @@ -1288,8 +1353,8 @@ \section{Lean Verification Surface} [\texttt{propext},\ \texttt{Classical.choice},\ \texttt{Quot.sound}]. \] -The root import file and public verification dashboard cover these main -modules and support layers: +The root import file covers the main modules directly, and the public +verification dashboard also checks their lower support layers: \begin{leanblock} \lean{FiniteExperiment}\quad \lean{FiniteQuotientSearch}\quad @@ -1323,7 +1388,7 @@ \section{Lean Verification Surface} \section{Conclusion} -The Lean development proves a finite theorem stack with two complementary +The Lean development proves a finite theorem stack with three complementary messages. First, if the Bayes-relevant evidence for a binary admission task factors @@ -1338,6 +1403,16 @@ \section{Conclusion} leave unobserved extrapolation freedom. It narrows the field of possible global structures without pretending to identify real encoders automatically. +Third, the same contract composes into retrieval-facing structures. Product +quotients express pairwise query/document targets and multi-target signatures; +comparison quotients express score-induced ranking decisions; observation +windows express finite bundles of lossy probes; and margin/profile theorems +turn supplied finite score certificates into exact threshold-decision +consequences. These layers do not remove the empirical burden. They specify +what must be tested: which compressed buckets, product codes, joint probe +codes, and near-boundary margins would falsify or support the claimed quotient +contract. + \begin{thebibliography}{9} \bibitem{Fisher1922} diff --git a/docs/paper/ordvec_formalization_paper.txt b/docs/paper/ordvec_formalization_paper.txt index 87740db..7eb0cdb 100644 --- a/docs/paper/ordvec_formalization_paper.txt +++ b/docs/paper/ordvec_formalization_paper.txt @@ -44,6 +44,13 @@ Q:Ω→Z throws away all distinctions inside each fiber Q−1 (z). The central question is not whether Q preserves the whole representation. The central question is whether a specific admission decision can be made with no loss after passing from Ω to Z. +In applications, the chosen “full” observation space is already relative. A neural embedding, +sparse lexical vector, chunked document view, or bitmap signature can itself be treated as an +observation map out of a richer source. The formalization does not require this chain to end in an +ontologically complete Ω. It fixes the finite observation layer being audited and asks whether the +target under discussion is invariant on the fibers of the next quotient. The recursion stops at the +target: once the decision, score, comparison, or multi-target signature is fixed, the theorem asks +whether the proposed quotient preserves exactly that behavior. The Lean repository answers this question in a finite setting. It proves that under exact factorization assumptions, quotient-form rules are sufficient for Bayes-optimal admission. It also proves the converse kind of structural pressure: if a rule, target, evidence statistic, or likelihood @@ -79,6 +86,7 @@ map is treated as surjective onto its reachable image; factorization through tha to containment of the compression kernel inside the target kernel. Sample fibers are counted as observed clumps; product quotients handle query/document decisions, multi-target signatures, and score-induced ranking comparisons; refinement is characterized by kernel inclusion; and score + approximation plus margin separation gives a sufficient condition for threshold decisions to remain quotient-factorized. Between refinement and score margins, the observation-window layer proves that a finite family of lossy probes is target-sufficient exactly when agreement on the whole joint @@ -86,7 +94,6 @@ code preserves the target. The profile-stability layer packages supplied finite composes their errors. The final band specializes the quotient machinery. Ordered quotient evidence and monotone likelihood ratios give threshold-form Bayes rules. A supplied calibration equality can be attached to - the same cutoff. Canonical finite overlap tilts instantiate the ordered-evidence assumptions. Bitmap symmetry explains why literal overlap is the canonical invariant under query-preserving coordinate relabelings, and the constant-weight bitmap null supplies the exact hypergeometric tail for the @@ -135,11 +142,11 @@ Quotient pullbacks A quotient-level rule is a set RZ ⊆ Z. Its pullback is Q−1 (RZ ) = {ω ∈ Ω : Q(ω) ∈ RZ }. Lean calls this quotientPullback. + Definition 3.2 (Factorization through a quotient). A rule or target δ : Ω → A factors through Q : Ω → Z if there exists a function δZ : Z → A such that δ(ω) = δZ (Q(ω)) for every ω ∈ Ω. - This is the formal predicate RuleFactorsThrough. Theorem 3.3 (Quotient-form Bayes optimality). If the pointwise Bayes admission predicate is constant on every quotient fiber, then there is a quotient-level set RZ ⊆ Z whose pullback has @@ -185,6 +192,7 @@ bucket, anything claimed to factor through that quotient must give them the same encoder-derived quotient is proposed as sufficient for a target decision, then two probes with the same quotient value but different required decisions falsify the exact global contract. + 4.2 Recovering factorization from fiber invariance @@ -198,7 +206,6 @@ fiber invariant + surjective Q factors through Q. This is fiberInvariant_ruleFactorsThrough_of_surjective. Thus, in the surjective finite setting, factorization and fiber invariance are the same structural condition. - The important qualification is the codomain. For an ambient compression C : Ω → Z, Lean does not require surjectivity onto all of Z. The right codomain is the reachable image im(C), where surjectivity holds by construction. This is the bridge from global quotient algebra to finite empirical @@ -241,6 +248,8 @@ be a labeling function. A sample is quotient-consistent when labels are constant fibers: ω1 , ω2 ∈ S, Q(ω1 ) = Q(ω2 ) =⇒ y(ω1 ) = y(ω2 ). This is SampleConsistent. + + Theorem 5.1 (Sample consistency equals quotient-rule fit). Assuming A is inhabited, a finite sample is quotient-consistent if and only if there exists a quotient-level rule rZ : Z → A fitting the sample: @@ -280,11 +289,15 @@ Lean proves the exact cardinality of the full target space and the quotient-rule |AZ | = |A||Z| . These are card_fullTargets, card_quotientRules, and quotientCompatible_search_space_ -bound. Lean also defines UnobservedReachableQuotients for the reachable image buckets not yet -seen in the sample. The induced full-target unobserved-bucket freedom has the corresponding count +bound. On a reachable image, the generic count +|Aim(Q) | = |A||im(Q)| +is checked by card_quotientImageRules. Lean also defines UnobservedReachableQuotients for +the reachable image buckets not yet seen in the sample. The induced full-target unobserved-bucket +freedom has the corresponding count |A||{z∈im(Q):z /∈Q(S)}| , checked by card_unobserved_assignments. For Boolean labels this specializes to 2|{z∈im(Q):z /∈Q(S)}| , + checked by card_unobserved_bool_assignments. This is the formal search-space result. A quotient hypothesis replaces an arbitrary function on Ω by a function on quotient buckets. Observed consistent labels then pin down the observed @@ -293,7 +306,7 @@ unobserved image buckets. 5.4 -Refinement and products +Refinement and paired targets over one quotient If a fine quotient Qf determines a coarse quotient Qc , Lean writes this as QuotientRefines. Theorems QuotientRefines.refl and QuotientRefines.trans prove that refinement behaves as @@ -301,10 +314,11 @@ expected. The factorization transfer theorem RuleFactorsThrough.of_refines says factoring through a coarse quotient also factors through a finer quotient. The contrapositive form not_ruleFactorsThrough_coarse_of_not_fine says that failure to factor through the fine quotient rules out factorization through any coarser one. -The product theorem RuleFactorsThrough.prod_iff proves that a paired target factors -through a quotient exactly when both components factor through it. The sample-level analogue -SampleConsistent.prod_iff gives the same componentwise criterion for finite samples. - +The paired-target theorem RuleFactorsThrough.prod_iff proves that a paired target factors +through a single quotient exactly when both components factor through it. The sample-level +analogue SampleConsistent.prod_iff gives the same componentwise criterion for finite samples. +This is distinct from the later product-map quotient Cq × Cd , which handles query/document-style +product domains. Interpretation 5.3. These theorems are useful for probe design. A refined quotient gives more buckets and can only make factorization easier. Pairing multiple labels or probe tasks makes the quotient contract stricter: the pair factors only if each component does. @@ -338,6 +352,7 @@ Interpretation 6.1. This is the formal version of working on the observed encode rather than pretending that every code in the full ambient quotient codomain is reachable. It is exactly the move from “globally surjective onto all possible codes” to “surjective onto the actual finite image being studied.” + The same file gives the finite vocabulary for image reasoning: QuotientImage @@ -373,8 +388,6 @@ y(ω1 ) = y(ω2 ). KernelContainedInTarget(C, y), meaning that every compression collision is also a target indistinguishability. - - Theorem 6.2 (Image quotient factorization equals kernel containment). For finite Ω, a target y : Ω → A factors through the reachable image quotient of C if and only if Kernel(C) ⊆ TargetKernel(y). @@ -435,20 +448,26 @@ Cq (q1 ) = Cq (q2 ), Cd (d1 ) = Cd (d2 ) -Lean exposes this through - =⇒ y(q1 , d1 ) = y(q2 , d2 ). -productMap ProductFiberInvariant ruleFactorsThrough_product_fiberInvariant +Lean exposes this through +productMap ProductFiberInvariant +kernelContainedInTarget_productMap_iff_productFiberInvariant +ruleFactorsThrough_product_fiberInvariant productFiberInvariant_ruleFactorsThrough_of_surjective ruleFactorsThrough_productMap_image_iff_productFiberInvariant The first direction is the retrieval contract: any product-factorized target is constant on product fibers. The surjective and image-restricted converses are the clean formal versions of working on the actually reached product image rather than pretending that the full ambient code space is -populated. The finite search space is then exactly controlled by the component images: +populated. The finite product-search vocabulary names both observed and reachable unobserved +product buckets: +ObservedProductQuotients UnobservedReachableProductQuotients +card_productQuotientRules + +The finite search space is then exactly controlled by the component images: productMap_image_subset_product_images productMap_image_eq_product_images productMap_image_card_eq_product_images_card @@ -462,9 +481,14 @@ lets the two components vary independently, Lean proves equality: |im(Cq , Cd )| = |im(Cq )||im(Cd )|. Image-level pair rules therefore have size |A||im(Cq )||im(Cd )| -for finite label type A. +for finite label type A. This exact product-image equality is a theorem about the full formal product +domain Ωq × Ωd . A logged candidate graph, prefiltered trace, or finite benchmark subset need not +realize every independent query/document pair; such restricted empirical surfaces should be treated +as their own finite observed images. Finite pair samples get the corresponding falsifier: -ProductSampleConsistent productSampleConsistent_of_ruleFactorsThrough + +ProductSampleConsistent productSampleConsistent_iff_sampleConsistent_productMap +productSampleConsistent_of_ruleFactorsThrough productSampleConsistent_iff_exists_productRuleFitsSample no_productQuotientTarget_of_sample_collision @@ -486,7 +510,8 @@ ProductSampleConsistent.prod_iff Thus a combined pipeline target factors through the product quotient exactly when each component target does. Ranking comparisons are handled by a three-field comparison observation: -ComparisonObs comparisonMap ComparisonFiberInvariant +ComparisonObs comparisonObsEquivProd comparisonMap comparisonMap_eq_iff +ComparisonFiberInvariant ruleFactorsThrough_comparison_fiberInvariant rankByScore rankByScore_factorsThrough_of_score_factorsThrough If a pairwise score factors through the query/document product quotient, then the score-induced @@ -495,7 +520,6 @@ corresponding query/document/document comparison quotient. This proves a conditi from preserved pairwise scores to preserved pairwise ranking decisions; it does not prove top-k equality without separate tie or margin assumptions. The reachable comparison-code haystack is exactly one left image and two right images: - ComparisonImageBox comparisonMap_image_subset_imageBox comparisonMap_image_eq_imageBox comparisonMap_image_card_eq_product_images_card @@ -510,12 +534,14 @@ Thus comparison-level rules have size again for finite A. FinitePairQuotient.lean remains as a retrieval-facing wrapper around the generic product API: -pairQuotient_eq_iff pairRuleFactorsThrough_same_on_quotient_fibers +pairQuotient pairQuotient_eq_iff pairRuleFactorsThrough_same_on_quotient_fibers no_pair_compatible_target_of_sample_collision QuotientRefinementKernel.lean gives the kernel view of refinement. Finer quotients have smaller kernels; coarser quotients have larger fibers. For a surjective fine quotient, refinement is equivalent to kernel inclusion: + + quotientRefines_kernel_subset quotientRefines_of_surjective_of_kernel_subset quotientRefines_iff_kernel_subset_of_surjective @@ -555,13 +581,12 @@ windowMap ObservationFamilyAgreement +WindowAgreement + with kernel characterizations kernel_observationFamilyMap_iff kernel_windowMap_iff - -WindowAgreement - Theorem 7.1 (Window target factorization). For finite Ω, a target y : Ω → A factors through the reachable image quotient of Wk if and only if agreement on every coordinate in the window implies equal target behavior: @@ -583,6 +608,7 @@ by the task target. Longer windows are monotone refinements of shorter windows. If m ≤ n, then Wn refines Wm , so adding observations can split buckets or leave them unchanged, but it cannot merge points already separated by the shorter window: + windowMap_refines_of_le windowMap_kernel_subset_of_le windowTargetInvariant_of_le @@ -613,7 +639,6 @@ Score Margins and Profile Stability The formalization does not try to prove that contrastive training or any particular encoder architecture automatically implies ordinal or bitmap invariance. Instead, ScoreMarginQuotient.lean proves a sufficient condition for threshold decisions to survive quotient approximation. - 8.1 Margin-stable threshold admission @@ -639,6 +664,8 @@ Theorem 8.1 (Margin-stable threshold equality). If s̃ is within ε of s, and ev decision margin around τ exceeds ε, then thresholding s̃ gives exactly the same Boolean decisions as thresholding s. The checked names are: + + threshold_admit_iff_of_scoresWithin_and_margin thresholdAdmitBool_eq_of_scoresWithin_and_margin thresholdAdmitBool_factorsThrough_of_score_factorsThrough @@ -673,7 +700,6 @@ does not define how to estimate those certificates, does not introduce a manifes not claim that any real encoder satisfies them globally. - Ordered Evidence and Threshold Rules The quotient-search, image-kernel, and profile-stability layers are structural. The decision-theoretic @@ -691,6 +717,7 @@ than every deterministic full-space rule. This is checked by: exists_orderedQuotientThreshold_finiteWeightedRisk_le_of_orderedEvidenceFactor + It rests on two lower layers: MLR.lean, which proves that monotone likelihood ratio makes Bayes admission monotone, and FiniteDecision.lean, which proves that a monotone predicate on a finite ordered support is represented by a threshold cut. The use of monotone likelihood ratios as a @@ -738,6 +765,7 @@ OverlapSufficiency.lean specializes ordered threshold sets to actual overlap coo with overlapQuotientThresholdSet_eq_orderedQuotientThresholdSet identifying the overlap threshold set with the ordered threshold set. The Bayes-risk wrappers in OverlapBayesOptimal. lean expose this as + exists_overlapQuotientThreshold_finiteBayesRisk_le_of_canonicalTilt exists_overlapQuotientThreshold_finiteBayesRisk_le_of_canonicalTilt_of_lt exists_overlapQuotientThreshold_finiteCostedBayesRisk_le_of_canonicalTilt @@ -765,7 +793,6 @@ The content is: • Query-stabilizer permutations preserve literal overlap with the query. • Among bitmaps of the same cardinality, equal query overlap is equivalent to being in the same query-stabilizer orbit. - • Any statistic on the constant-weight bitmap space that is invariant under those query-stabilizer symmetries factors through literal overlap. This is a symmetry theorem, not an encoder theorem. It says that if the bitmap problem is @@ -786,6 +813,7 @@ Under the uniform law on BD,K , the event {d : |q ∩ d| ≥ t} has the hypergeometric upper-tail mass obtained by summing inside/outside choices. Lean proves the supporting cardinality and probability identities: + card_bitmapOverlapFiber_of_query_card bitmapHypergeomMass_eq_insideOutsideChoices_card_ratio bitmapHypergeomMass_eq_overlapFiber_card_ratio @@ -811,7 +839,6 @@ the signal law be the finite exponential tilt of that uniform law by literal que 1. the literal overlap-tail rule {d ∈ BD,K : |q ∩ d| ≥ t} has Bayes risk no larger than any deterministic admission rule R ⊆ BD,K ; - 2. the uniform bitmap null mass of that same tail event is exactly the checked hypergeometric upper-tail value. The cost-sensitive version is @@ -836,6 +863,7 @@ exponentialTilt_hasMLR_of_lt FNCH.lean connects actual-overlap FNCH weights to the shifted exponential-tilt implementation after normalization, and exposes threshold optimality statements such as + fnch_bayesAdmit_isActualOverlapThreshold fnch_actualOverlapThreshold_bayesRisk_optimal fnch_costed_actualOverlapThreshold_bayesRisk_optimal @@ -858,7 +886,6 @@ How This Narrows Empirical Search The formalization does not measure real embedding coordinates. It does, however, give a precise checklist for what empirical probes are trying to refute or constrain. - 16.1 What must hold if the contract is true @@ -891,6 +918,7 @@ Observed buckets are then fixed; reachable unobserved image buckets remain free. finite version space is not arbitrary, but it is also not collapsed to a single global truth unless every relevant bucket has been observed or additional structure is imposed. + 16.3 What gets reduced @@ -899,6 +927,16 @@ Without the quotient, a finite target search ranges over |A||Ω| functions. Wit compatible targets are represented by bucket-level functions. If m reachable quotient buckets remain unobserved, Boolean extrapolations have size 2m . This is exactly the “smaller finite set of extrapolations” established by the Lean search layer. +For pairwise retrieval targets, the haystack is not a document-only bucket space. It is the +reachable product image of compressed query and document codes. On the full formal product +domain this has size |im(Cq )||im(Cd )|, and comparison/ranking targets live over the one-query/twodocument image box of size |im(Cq )||im(Cd )|2 . On a finite logged sample or prefiltered trace, the +observed image may be smaller, and the same finite-bucket logic applies to that restricted surface. +For probe families, the reduction is by the realized joint-code image. The point is not that each +bitmap, ordinal, lexical, query-transform, or context-window probe is injective by itself. The finite +question is whether agreement on the whole joint code preserves the target behavior being audited. +For score-threshold decisions, the margin/profile layer gives a different kind of reduction: supplied +finite error and margin certificates can turn an approximate quotient score into an exact thresholddecision certificate. Near the decision boundary, this requires explicit margin evidence; absent that +evidence, the theorem intentionally does not certify equality. 16.4 @@ -913,7 +951,6 @@ then some overlap-tail cutoff is Bayes-optimal and has a hypergeometric null tai work can look for formal violations of the quotient, monotonicity, margin, and calibration contracts, or collect finite sample evidence consistent with them. Lean proves the consequences of the contracts, not that real encoders satisfy them. - The observation-window layer lets these probes be combined. Several bitmap, ordinal, lexical, query-transform, or context-window views can be treated as a single joint code. Production-style falsification then checks whether same-joint-code examples ever disagree on the target, rather than @@ -927,6 +964,7 @@ The formalization intentionally excludes several stronger statements. or overlap quotient. • It does not prove that same quotient value means same full embedding geometry. • It does not prove representation completeness. + • It does not prove empirical calibration or real-corpus null adequacy. • It does not prove that the textbook hypergeometric distribution is the deployment null for real embeddings. @@ -936,6 +974,15 @@ globally satisfy the supplied profile assumptions. • It does not prove that any concrete family of production probes is globally target-sufficient. The window layer proves the finite kernel calculus for such probe families once the observations and target are fixed. +• It does not prove top-k list equality, tie-policy preservation, or nDCG preservation from +the ranking-comparison theorem alone. Those require additional ordering, tie, or margin +assumptions. +• It does not let product-image equalities for the full formal product domain be read as claims +about arbitrary logged candidate graphs or prefiltered empirical traces. +• It does not certify near-threshold score decisions unless the supplied score-error and margin +hypotheses exclude those near ties. +• It does not prove a continuous Takens-style embedding theorem. The observation-window +layer is a finite-domain target-separation calculus. • It does not include randomized tests, Neyman–Pearson optimality, uniformly most powerful tests, Karlin–Rubin theory, asymptotics, or measure-theoretic probability. These exclusions are not weaknesses in the formal theorem. They are the boundary that makes @@ -951,12 +998,11 @@ make verify make check-doc-names make audit make lint - - The expected axiom baseline printed by the verification surface is: [propext, Classical.choice, Quot.sound]. -The root import file and public verification dashboard cover these main modules and support -layers: +The root import file covers the main modules directly, and the public verification dashboard +also checks their lower support layers: + FiniteExperiment FiniteQuotientSearch QuotientConstraints FiniteQuotientImage QuotientKernel FiniteFiberTopology FiniteProductQuotient FinitePairQuotient @@ -970,7 +1016,7 @@ BayesThreshold ExponentialTilt FNCH Conclusion -The Lean development proves a finite theorem stack with two complementary messages. +The Lean development proves a finite theorem stack with three complementary messages. First, if the Bayes-relevant evidence for a binary admission task factors through a quotient, then quotient-form admission can be globally optimal. In the bitmap specialization, under the canonical overlap-tilt signal model and uniform constant-weight bitmap null, this optimal quotient-form rule @@ -979,6 +1025,11 @@ Second, the quotient contract is structurally strong. It forces fiber invariance same-bucket falsifiers, bounds compatible target search by quotient-bucket assignments, and shows exactly where finite samples leave unobserved extrapolation freedom. It narrows the field of possible global structures without pretending to identify real encoders automatically. +Third, the same contract composes into retrieval-facing structures. Product quotients express pairwise query/document targets and multi-target signatures; comparison quotients express +score-induced ranking decisions; observation windows express finite bundles of lossy probes; and +margin/profile theorems turn supplied finite score certificates into exact threshold-decision consequences. These layers do not remove the empirical burden. They specify what must be tested: +which compressed buckets, product codes, joint probe codes, and near-boundary margins would +falsify or support the claimed quotient contract. References [1] R. A. Fisher. On the mathematical foundations of theoretical statistics. Philosophical Transactions of the Royal Society of London. Series A, Containing Papers of a Mathematical or Physical @@ -993,10 +1044,11 @@ Sons, New York, 1950. [5] Samuel Karlin and Herman Rubin. The Theory of Decision Procedures for Distributions with Monotone Likelihood Ratio. The Annals of Mathematical Statistics, 27(2):272–299, June 1956. DOI: https://doi.org/10.1214/aoms/1177728259. + + [6] Luc Devroye, László Györfi, and Gábor Lugosi. A Probabilistic Theory of Pattern Recognition. Stochastic Modelling and Applied Probability, volume 31. Springer New York, 1996. DOI: https://doi.org/10.1007/978-1-4612-0711-5. - [7] Leonardo de Moura and Sebastian Ullrich. The Lean 4 Theorem Prover and Programming Language. In André Platzer and Geoff Sutcliffe, editors, Automated Deduction – CADE 28, Lecture Notes in Computer Science, volume 12699, pages 625–635. Springer, Cham, 2021. DOI: diff --git a/docs/rag-pipeline-guide.md b/docs/rag-pipeline-guide.md index b8a0afe..71b44a7 100644 --- a/docs/rag-pipeline-guide.md +++ b/docs/rag-pipeline-guide.md @@ -22,7 +22,10 @@ admission adds a different kind of gate: represent each item by a fixed-size ordinal or bitmap signature, then admit candidates whose query overlap clears a cutoff. -The proof is about that gate. +The bitmap theorem is about that gate. The broader quotient stack also gives +finite contracts for product query/document behavior, multi-target signatures, +finite bundles of lossy probes, and score-threshold decisions under supplied +margin/profile certificates. ## Worked Example @@ -103,7 +106,10 @@ assumptions. In particular, it does not prove: - ordinal signatures contain all semantic information; - a real corpus has the uniform constant-weight null; - every query type has monotone relevance as overlap increases; -- a popcount gate replaces reranking, hybrid search, or evaluation. +- a popcount gate replaces reranking, hybrid search, or evaluation; +- pairwise ranking-comparison preservation by itself proves top-k list + equality, tie-policy preservation, or nDCG preservation; +- near-threshold score decisions are safe without explicit margin evidence. The formal result is a conditional guarantee. Your benchmark harness still has to test whether the condition is credible for your encoder, corpus, and query @@ -127,6 +133,10 @@ score-induced ordering comparison. A fixed query can look document-only, but the global contract is stronger because queries with the same compressed query code must induce the same quotient-level document behavior. +Product-image equalities in the Lean stack are theorems about the full formal +product domain. A logged candidate graph, prefiltered trace, or benchmark slice +may realize only a smaller observed image; audit that restricted image directly. + ## Why This Matters In A Real RAG System The useful real-world reading is not "Lean proves my retrieval stack works." diff --git a/docs/reviewer-brief.md b/docs/reviewer-brief.md index d849bcd..52d7f90 100644 --- a/docs/reviewer-brief.md +++ b/docs/reviewer-brief.md @@ -7,6 +7,17 @@ finite assumptions hold. For a developer-facing version of the same result in vector DB and RAG terms, see [`rag-pipeline-guide.md`](rag-pipeline-guide.md). +## Full Quotient Stack + +The bitmap theorem is the clearest end-to-end specialization, but the checked +Lean stack is broader. It also formalizes finite quotient search constraints, +reachable-image/kernel containment, fiber topology, product quotients for +query/document targets, score-induced ranking comparisons, componentwise +multi-target signatures, finite observation windows for bundles of lossy +probes, and margin/profile certificates for threshold decisions. These layers +do not assert that a real encoder satisfies the contracts; they state what +follows if finite observations, labels, scores, and margins support them. + ## The Claim The checked theorem is: @@ -179,6 +190,11 @@ The expected axiom baseline is: - Pairwise retrieval, ranking, and multi-target pipeline decisions are not proved preserved unless the corresponding product quotient contract is empirically supported. +- Ranking-comparison preservation alone is not a top-k equality, tie-policy, or + nDCG theorem. +- Product-image equalities are theorems about the full formal product domain, + not arbitrary prefiltered traces or logged candidate graphs. +- Near-threshold score decisions require explicit margin evidence. - Real encoders are not proved to satisfy the query-stabilizer symmetry assumption; the symmetry theorem identifies the canonical invariant when that assumption is appropriate. diff --git a/docs/theorem-map.md b/docs/theorem-map.md index 3f8240a..84e8d30 100644 --- a/docs/theorem-map.md +++ b/docs/theorem-map.md @@ -75,6 +75,8 @@ OrdvecFormalization.invariantOn_constantWeightBitmapSpace_factorsThrough_overlap Finite quotient search layer: ```lean +OrdvecFormalization.quotientPullback +OrdvecFormalization.RuleFactorsThrough OrdvecFormalization.QuotientCompatible OrdvecFormalization.ObservedQuotients OrdvecFormalization.ObservedQuotientsList @@ -248,6 +250,11 @@ OrdvecFormalization.constantWeightBitmapOverlapTailCalibration OrdvecFormalization.exists_constantWeightBitmapOverlapTail_finiteBayesRisk_le_and_hypergeomTail OrdvecFormalization.exists_uniformBitmapOverlapTail_finiteBayesRisk_le_and_hypergeomTail OrdvecFormalization.quotientFiberExample_quotientTarget_factorsThrough_not_fiberTarget +OrdvecFormalization.weightedBayesAdmit_iff_cutoff_le_likelihoodRatio +OrdvecFormalization.exponentialTilt_hasMLR_of_lt +OrdvecFormalization.fnch_bayesAdmit_isActualOverlapThreshold +OrdvecFormalization.fnch_actualOverlapThreshold_bayesRisk_optimal +OrdvecFormalization.fnch_costed_actualOverlapThreshold_bayesRisk_optimal ``` The core overlap-null theorem quantifies over: @@ -305,6 +312,8 @@ names. Public Lean names: - `finiteWeightedBayesAdmitSet_optimal` +- `quotientPullback` +- `RuleFactorsThrough` - `mem_quotientPullback_of_quotient_preserving` - `QuotientCompatible` - `ObservedQuotients` @@ -536,6 +545,7 @@ Public Lean names: - `quotientFiberExample_quotientTarget_factorsThrough_not_fiberTarget` - `mlr_monotone_weightedBayesAdmit` - `mlr_monotone_bayesAdmit` +- `weightedBayesAdmit_iff_cutoff_le_likelihoodRatio` - `bayesAdmit_iff_priorOddsCutoff_le_likelihoodRatio` - `weightedBayesAdmit_isThreshold` - `bayesAdmit_isThreshold` @@ -544,6 +554,10 @@ Public Lean names: - `threshold_bayesRisk_optimal` - `costed_threshold_bayesRisk_optimal` - `exponentialTilt_hasMLR` +- `exponentialTilt_hasMLR_of_lt` +- `fnch_bayesAdmit_isActualOverlapThreshold` +- `fnch_actualOverlapThreshold_bayesRisk_optimal` +- `fnch_costed_actualOverlapThreshold_bayesRisk_optimal` - `fnchActualPMF_mass_eq_fnchPMF_mass` - `overlapNull_threshold_bayesRisk_optimal_of_lt` - `overlapNull_costed_threshold_bayesRisk_optimal_of_lt` From d1be7cb668cdba76920aa623e7f7b38ab7333e2a Mon Sep 17 00:00:00 2001 From: Nelson Spence Date: Thu, 4 Jun 2026 10:51:54 -0500 Subject: [PATCH 2/2] Clarify ranking caveat wording --- docs/rag-pipeline-guide.md | 2 +- docs/reviewer-brief.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/rag-pipeline-guide.md b/docs/rag-pipeline-guide.md index 71b44a7..c84658c 100644 --- a/docs/rag-pipeline-guide.md +++ b/docs/rag-pipeline-guide.md @@ -107,7 +107,7 @@ assumptions. In particular, it does not prove: - a real corpus has the uniform constant-weight null; - every query type has monotone relevance as overlap increases; - a popcount gate replaces reranking, hybrid search, or evaluation; -- pairwise ranking-comparison preservation by itself proves top-k list +- pairwise ranking-comparison preservation by itself guarantees top-k list equality, tie-policy preservation, or nDCG preservation; - near-threshold score decisions are safe without explicit margin evidence. diff --git a/docs/reviewer-brief.md b/docs/reviewer-brief.md index 52d7f90..7bba00e 100644 --- a/docs/reviewer-brief.md +++ b/docs/reviewer-brief.md @@ -190,8 +190,8 @@ The expected axiom baseline is: - Pairwise retrieval, ranking, and multi-target pipeline decisions are not proved preserved unless the corresponding product quotient contract is empirically supported. -- Ranking-comparison preservation alone is not a top-k equality, tie-policy, or - nDCG theorem. +- Ranking-comparison preservation alone does not guarantee top-k equality, + tie-policy preservation, or nDCG preservation. - Product-image equalities are theorems about the full formal product domain, not arbitrary prefiltered traces or logged candidate graphs. - Near-threshold score decisions require explicit margin evidence.