"""Exact finite constructions, no neural benchmark and no source-proof replication.""" import json,math,itertools,hashlib from pathlib import Path SLUG='unlearning-verification-boundaries' ROOT=Path(__file__).resolve().parent.parent checks=[]; cases=0; figures=[] def check(v,name): global cases assert v,name cases+=1 if name not in checks:checks.append(name) def close(a,b):return math.isclose(a,b,rel_tol=1e-9,abs_tol=1e-9) def fig(fid,title,xlabel,ylabel,series,caption): figures.append(dict(id=SLUG+'-'+fid,kind='line_chart',title=title,x_label=xlabel,y_label=ylabel,series=[dict(name=n,x=x,y=y)for n,x,y in series],caption=caption)) if SLUG=='deduplication-training-measure': z=[-1,0,2];xx=list(range(1,17));means=[];risk=[];ne=[] for m in xx: weights=[m,1,1];mu=sum(w*v for w,v in zip(weights,z))/sum(weights) r=lambda t:sum((t-v)**2/2 for v in z)/3 means.append(mu);risk.append(r(mu)-r(1/3));ne.append((m+2)**2/(m*m+2)) check(close(risk[-1],.5*(mu-1/3)**2),'quadratic excess risk equals direct loss') check(close(mu,(2-m)/(m+2)),'weighted optimum') check(close(sum(7*w*v for w,v in zip(weights,z))/sum(7*w for w in weights),mu),'common multiplicity scaling invariant') check(close(means[0],1/3),'equal weights recover target optimum') for a,b in itertools.product(range(-3,4),repeat=2): r=lambda t:((t-a)**2+(t-b)**2)/4 check(close(r(a)-r((a+b)/2),(a-b)**2/8),'false merge excess risk') fig('1','Multiplicity changes a fixed-target optimum','Multiplicity of z=-1 (copies)','Scalar parameter / half squared-loss units',[('Weighted optimum',xx,means),('Fixed target optimum',xx,[1/3]*len(xx)),('Excess target risk',xx,risk)],'Constructed values (-1,0,2), multiplicities (m,1,1), uniform unique target. Parameter and half squared-loss curves use their separately named dimensionless units; no corpus measurement.') fig('2','Rows, unique classes, and weight concentration','Multiplicity of z=-1 (copies)','Count or weight-concentration equivalent',[('Stored rows',xx,[m+2 for m in xx]),('Unique classes',xx,[3]*len(xx)),('Weight effective count',xx,ne)],'Exact concentration statistic (m+2)^2/(m^2+2); it is not a claim about independent sample size.') elif SLUG=='recursive-synthetic-support': n=20;pstar=.1;steps=20 def transition(alpha): rows=[] for k in range(n+1): p=(1-alpha)*k/n+alpha*pstar row=[math.comb(n,j)*p**j*(1-p)**(n-j)for j in range(n+1)] check(close(sum(row),1),'transition rows sum to one');rows.append(row) return rows def run(alpha): T=transition(alpha);d=[0.]*(n+1);d[2]=1.;lost=[];mean=[] for t in range(steps+1): lost.append(d[0]);mean.append(sum(k/n*v for k,v in enumerate(d))) d=[sum(d[k]*T[k][j]for k in range(n+1))for j in range(n+1)] return lost,mean,T lost,means,T=run(0) check(all(close(m,.1)for m in means),'replacement mean is a martingale') check(all(b>=a-1e-12 for a,b in zip(lost,lost[1:])),'zero absorption probability grows') l2,m2,T2=run(.2);check(T[0][0]==1 and T2[0][1]>0,'independent anchor permits escape from zero') xs=list(range(steps+1)) fig('1','An unchanged mean can conceal extinction','Generation (count)','Probability',[('Zero-state probability, replacement',xs,lost),('Mean category frequency, replacement',xs,means),('Zero-state probability, anchor alpha=0.2',xs,l2)],'Exact n=20 binomial transition matrix, initial category frequency 0.1. Anchoring mixes independent target probability 0.1 before each draw; its zero state is not absorbing.') ss=[] for alpha in [0,.1,.3,1]: r=.8;c=(1-alpha)*r;fixed=alpha*.1/(1-c);p=.1;ys=[] for t in xs: ys.append(p);check(close(p,fixed+c**t*(.1-fixed)),'deterministic recurrence closed form');p=c*p+alpha*.1 ss.append(('alpha='+str(alpha),xs,ys)) for beta in [.01,.5,1]: check(all(0<(k+beta)/(n+2*beta)<1 for k in range(n+1)),'positive smoothing excludes endpoints') check(close((2+1e-10)/(n+2e-10),.1),'smoothing zero limit') for alpha in [0,.1,.3,1]: p=.03 for t in range(21): check(close(p,.1+(.03-.1)*(1-alpha)**t),'r equals one anchor contraction or alpha zero constancy') p=(1-alpha)*p+alpha*.1 fig('2','Anchoring does not automatically remove selection bias','Generation (count)','Rare-category mass',ss,'Separate deterministic model p_next=(1-alpha)*0.8*p+alpha*0.1, initial p=0.1. No stochastic training curve or fitted collapse forecast.') elif SLUG=='private-gradient-clipping': xs=[i/4 for i in range(1,49)];means=[];bias=[];var=[];noise=[];mse=[] for c in xs: u=min(1,c);v=-min(10,c);mu=.9*u+.1*v;vv=.9*(u-mu)**2+.1*(v-mu)**2 means.append(mu);bias.append((mu+.1)**2);var.append(vv/32);noise.append((c/32)**2);mse.append(bias[-1]+var[-1]+noise[-1]) analytic=.8*c if c<=1 else .9-.1*c if c<10 else -.1 check(close(mu,analytic),'piecewise clipped mean') check(close(vv,.9*u*u+.1*v*v-mu*mu),'independent variance expansion') check(close(mse[-1],(.9*u*u+.1*v*v)/32+31*mu*mu/32+.2*mu+.01+(c/32)**2),'MSE second moment') check(close(.9*min(3,3*c)-.1*min(30,3*c),3*mu),'common loss-threshold scaling') check(means[3]>0 and close(means[39],-.1),'direction reversal and no-clipping limit') clip=lambda g,c:max(-c,min(c,g)) check(sum(clip(g,1)for g in [1,-10])!=clip(sum([1,-10]),1),'aggregate clipping differs from per-example clipping') for c in [1,10]: u=min(1,c);v=-min(10,c);mu=.9*u+.1*v;n=32 exact_no_noise=sum(math.comb(n,k)*.9**k*.1**(n-k)*((k*u+(n-k)*v)/n+.1)**2 for k in range(n+1)) moment_no_noise=(mu+.1)**2+(.9*(u-mu)**2+.1*(v-mu)**2)/n check(close(exact_no_noise,moment_no_noise),'sigma zero binomial MSE enumeration') check(close(moment_no_noise+(c/n)**2-exact_no_noise,(c/n)**2),'noise removal changes only variance') check((mu+.1)**2>0 if c==1 else close((mu+.1)**2,0),'sigma zero leaves clipping bias unless threshold is sufficient') fig('1','Clipping can reverse the expected direction','Clipping threshold C (gradient units)','Expected scalar gradient',[('Clipped mean',xs,means),('Unclipped mean',xs,[-.1]*len(xs))],'Constructed P(g=1)=0.9 and P(g=-10)=0.1. Gradient descent subtracts these means; no Gaussian noise is needed for reversal.') fig('2','One-step error decomposes into bias and variance','Clipping threshold C (gradient units)','Mean squared gradient error',[('Squared bias',xs,bias),('Sampling variance / 32',xs,var),('Gaussian variance',xs,noise),('Total MSE',xs,mse)],'Independent batch n=32, Gaussian standard deviation C on the sum before division, sigma=1. This optimization calculation does not compute epsilon or provide a privacy guarantee.') elif SLUG=='unlearning-verification-boundaries': data=[(1,1),(2,2),(3,2),(4,5)];sxx=sum(x*x for x,y in data);sxy=sum(x*y for x,y in data);exact=[];naive=[] for mask in range(1,16): keep=[v for i,v in enumerate(data)if mask>>i&1];removed=[v for i,v in enumerate(data)if not mask>>i&1] xx=sum(x*x for x,y in keep);xy=sum(x*y for x,y in keep) t=xy/(xx+1);inc=(sxy-sum(x*y for x,y in removed))/(sxx-sum(x*x for x,y in removed)+1) check(close(t,inc),'all retained subsets equal exact retraining') check(close((xx+1)*t-xy,0),'sum-loss first order condition') tm=xy/(xx+len(keep));check(close((xx+len(keep))*tm-xy,0),'mean-loss first order condition') for j,(x,y)in enumerate(data): exact.append((sxy-x*y)/(sxx-x*x+1));naive.append((sxy-x*y)/(sxx+1)) check(any(not close(a,b)for a,b in zip(exact,naive)),'naive denominator negative control fails') check(not close(sxy/(sxx+1),sxy/(sxx+len(data))),'sum and mean objective normalization differ') for order in itertools.permutations(range(4)): xx=sxx;xy=sxy for count,j in enumerate(order[:-1]): x,y=data[j];xx-=x*x;xy-=x*y remain=[v for i,v in enumerate(data)if i not in order[:count+1]] check(close(xy/(xx+1),sum(x*y for x,y in remain)/(sum(x*x for x,y in remain)+1)),'sequential deletion order correctness') xs=list(range(1,5)) fig('1','Deletion must update curvature as well as cross-products','Removed record index','Scalar coefficient',[('Exact retained-data optimum',xs,exact),('Naive unchanged denominator',xs,naive)],'Constructed data x=(1,2,3,4), y=(1,2,2,5), summed squared loss and lambda=1. Naive update is an author-created negative control, not a named published method.') grid=[i/40 for i in range(41)];series=[] for a in [-4,0,4]: check(a*0*(0-1)==0 and a*1*(1-1)==0,'all candidates agree at probes') check(close(a*.5*(.5-1),-a/4),'midpoint disagreement') series.append(('a='+str(a),grid,[a*x*(x-1)for x in grid])) fig('2','Finite probe agreement does not imply functional equality','Input x','Prediction',series,'Constructed family f_a(x)=a*x*(x-1), reference f_0=0. All agree at tested endpoints 0 and 1, but nonzero a disagrees inside.') elif SLUG=='label-noise-identifiability': q=.3;a=.02;bs=[i/100 for i in range(0,71,5)];ps=[] for b in bs: p=(q-a)/(1-a-b);ps.append(p);check(0<=p<=1 and close(a+(1-a-b)*p,q),'compatible worlds share observed q') check(close(0+1*.3,.02+.4*.7),'opposite Bayes decisions observationally identical') rates=[i/20 for i in range(19)];amp=[1/(1-r)for r in rates] for r,f in zip(rates,amp): aa=r/2;bb=r/2;p=.4;qq=aa+(1-r)*p check(close(((qq+1e-5-aa)/(1-r)-(qq-aa)/(1-r))/1e-5,f),'finite perturbation amplification') n=8;vals=[(k/n-aa)/(1-r)for k in range(n+1)];probs=[math.comb(n,k)*qq**k*(1-qq)**(n-k)for k in range(n+1)] mean=sum(pv*v for pv,v in zip(probs,vals));variance=sum(pv*(v-mean)**2 for pv,v in zip(probs,vals)) check(close(variance,qq*(1-qq)/(n*(1-r)**2)),'binomial inversion variance exact enumeration') for p in [0,.1,.5,1]:check(close(.3+(1-.3-.7)*p,.3),'singular observation loses dependence on clean p') fig('1','Several clean probabilities explain the same observed labels','False-negative probability b','Clean positive probability p',[('p=(0.3-0.02)/(1-0.02-b)',bs,ps)],'Fixed observed q=0.3 and false-positive rate a=0.02. Every displayed pair is probability-valid; the curve is not an estimated noise rate.') fig('2','Transition inversion becomes ill-conditioned','Total class-conditional noise a+b','Amplification of observed-probability error',[('1/(1-a-b)',rates,amp)],'Exact derivative for known noise parameters below the singular boundary; not an empirical learning curve.') elif SLUG=='mixup-vicinal-risk': n=10000;grid=[(i+.5)/n for i in range(n)] err=sum((x-(1 if x>=.5 else 0))**2 for x in grid)/n check(abs(err-1/12)<1e-8,'midpoint quadrature matches exact target discrepancy') predicted=[int(x>=.5)for x in grid]; truth=[0 if x<.5 else 1 for x in grid] check(predicted==truth and err>0,'class agreement does not imply zero probability error') alphas=[.1,.2,.5,1,2,4,8,16];leverage=[a/(2*(2*a+1))for a in alphas];variance=[1/(4*(2*a+1))for a in alphas] for a in [1,2,3,4]: vals=[x**(a-1)*(1-x)**(a-1)for x in grid];den=sum(vals) m=sum(w*x*(1-x)for x,w in zip(grid,vals))/den check(abs(m-a/(2*(2*a+1)))<2e-8,'independent beta numerical moment') for ri,rj,l in itertools.product([-2,-1,0,1,2],[-2,-1,0,1,2],[0,.1,.5,.9,1]): check(close((l*ri+(1-l)*rj)**2,l*l*ri*ri+(1-l)**2*rj*rj+2*l*(1-l)*ri*rj),'quadratic mixed-residual expansion') xs=[i/100 for i in range(101)] fig('1','Endpoint agreement leaves the interior target unspecified','Input x','Target probability / prediction',[('Linear mixed target',xs,xs),('Hard threshold target',xs,[int(x>=.5)for x in xs])],'Constructed endpoints (0,0),(1,1). Uniform squared probability discrepancy is 1/12, although thresholded class decisions agree except for boundary convention.') fig('2','The same mean mixing weight can imply different constraints','Symmetric beta shape alpha','Moment (dimensionless)',[('E[lambda*(1-lambda)]',alphas,leverage),('Var(lambda)',alphas,variance)],'Exact Beta(alpha,alpha) moments; mean lambda is 0.5 for every point. Not a universal neural regularization coefficient.') elif SLUG=='curriculum-sampling-objectives': qs=[i/20 for i in range(1,20)];opt=[];risk=[];variance=[];bias=[] for q in qs: t=2*(1-q);opt.append(t);risk.append(.5*(t-1)**2) for theta in [-1,0,1,2,3]: gs=[theta,theta-2];corr=[gs[0]/(2*q),gs[1]/(2*(1-q))] check(close(q*corr[0]+(1-q)*corr[1],theta-1),'importance expectation enumeration') vals=[0,-1/(1-q)];mean=q*vals[0]+(1-q)*vals[1] vv=q*(vals[0]-mean)**2+(1-q)*(vals[1]-mean)**2;variance.append(vv);bias.append((2*q-1)**2) check(close(vv,q/(1-q)),'corrected variance at theta zero') loss=lambda t:(t*t+(t-2)**2)/4 check(close(loss(t)-loss(1),risk[-1]),'excess target risk direct evaluation') for T in range(1,6): unseen=sum(math.prod(q if bit else 1-q for bit in seq)for seq in itertools.product([0,1],repeat=T)if not any(seq)) check(close(unseen,(1-q)**T),'finite unseen-event enumeration') for eta in [.01,.1,.25,.5,1]: one_then_two=2*eta;two_then_one=2*eta*(1-eta) check(close(one_then_two-two_then_one,2*eta*eta),'sequential order identity') check(close(1/(2*.5),1),'uniform importance weights') def correction(q): if not 0