import json,math for beta in [0.,.5,.9,.99]: seq=[.2,-1.,.7,.4,2.,-3.];q0=.3;q=q0 for t,s in enumerate(seq,1): q=beta*q+(1-beta)*s unrolled=beta**t*q0+(1-beta)*sum(beta**k*seq[t-1-k]for k in range(t)) assert abs(q-unrolled)<1e-12 if beta<1: N=20000 weights=[(1-beta)*beta**k for k in range(N)] assert abs(sum(weights)-1)<1e-12 assert abs(sum(w*w for w in weights)-(1-beta)/(1+beta))<1e-12 assert abs(sum(k*w for k,w in enumerate(weights))-beta/(1-beta))<1e-9 assert ((-1+1)/2)**2==0 and ((-1)**2+1**2)/2==1 assert sum((1.-1.)**2 for _ in range(10))==0 # Perfectly shared Rademacher noise remains shared after stationary averaging. for beta in [0.,.5,.9,.99]: mass=sum((1-beta)*beta**k for k in range(20000)) shared_outputs=[-mass,mass] assert abs(sum(v*v for v in shared_outputs)/2-1)<1e-12 bs=[0,.5,.8,.9,.95,.99];ts=[0,1,2,5,10,20,50,100] figures=[{"id":"teacher-step","kind":"analytical_curve","caption":"Exact author-constructed scalar step response q_t=1−beta^t with q0=0; no neural training convergence claim.","x":{"name":"Update steps t","values":ts},"series":[{"name":"beta="+str(b),"values":[1-b**t for t in ts]}for b in [.5,.9,.99]]},{"id":"variance-lag","kind":"analytical_curve","caption":"Exact author-constructed stationary scalar noise variance factors. Independent temporal noise is reduced by (1−beta)/(1+beta); perfectly shared noise is not reduced. Mean delays beta/(1−beta) are printed in the verification output, not mixed into this variance axis.","x":{"name":"Averaging beta","values":bs},"series":[{"name":"Independent-noise variance factor","values":[(1-b)/(1+b)for b in bs]},{"name":"Perfectly correlated-noise variance factor","values":[1.]*len(bs)}]}] print(json.dumps({"status":"PASS","checks":["Finite recurrence and initialization mass","Geometric variance and mean-delay sums","Nonlinear weight/output averaging counterexample","Constant-map zero consistency","Correlated-noise negative control"],"mean_delays":[{"beta":b,"steps":b/(1-b)}for b in bs],"empirical_benchmark":False,"source_proofs_verified":False,"figures":figures}))