"""Exact rational certificates for disjoint-defect DD construction, 24 ratio bins. No NumPy/SciPy dependency. Combinatorial proof is separate. """ from fractions import Fraction as F from pathlib import Path import json n=6 def add(*terms):return[[sum(c*a[i][j] for c,a in terms) for j in range(n)] for i in range(n)] def outer(a,b):return[[x*y for y in b] for x in a] def sym(a,b):return add((F(1,2),outer(a,b)),(F(1,2),outer(b,a))) def diag(v):return[[F(v[i]) if i==j else F(0) for j in range(n)] for i in range(n)] def sub(a,b):return[x-y for x,y in zip(a,b)] def scale(c,a):return[c*x for x in a] def ldlt(A): L=[[F(int(i==j)) for j in range(n)] for i in range(n)];D=[] for j in range(n): pivot=A[j][j]-sum(L[j][k]**2*D[k] for k in range(j)) assert pivot>0,(j,pivot) D.append(pivot) for i in range(j+1,n):L[i][j]=(A[i][j]-sum(L[i][k]*L[j][k]*D[k] for k in range(j)))/pivot assert all(A[i][j]==sum(L[i][k]*D[k]*L[j][k] for k in range(n)) for i in range(n) for j in range(n)) return D ell=list(map(F,[1,1,1,1,0,0]));d=[F(1,2),0,0,0,F(-1),0];q=[F(1,2),0,0,0,F(1),0];h=sub(q,d);r=list(map(F,[0,0,0,0,0,1]));v=list(map(F,[1,-3,1,0,0,0])) base=diag([F(1,4),1,F(1,2),1,1,0]);K=add((F(1,2),outer(d,d)),(F(-1,2),outer(r,r)));J=add((F(1,2),sym(q,sub(d,r)))) fR=add((1,sym(r,v)),(-3,outer(r,r))) import runpy,sys ROOT=Path(__file__).resolve().parent ns=runpy.run_path(str(ROOT/'previous_certificate.py')) e=[[F(int(i==j)) for j in range(n)] for i in range(n)] x,y,z,w,bb,rr=e;m=d vectors={ 'r_ge_2w':sub(rr,scale(2,w)), 'y_ge_3z8':sub(y,scale(F(3,8),z)), 'h_le_3m10':sub(scale(F(3,10),m),h), 'y_ge_13m20':sub(y,scale(F(13,20),m)), 'd_ge_2w':sub(m,scale(2,w)), 'y_ge_z':sub(y,z)} data=json.loads(Path(__file__).with_name('exclusion-certificate.json').read_text()) for case in data['cases']: if case['name'] in {'r_ge_2w','d_ge_2w','h_le_3m10'}:continue # Superseded by oriented top-capacity comparisons. b,sigma,kg,km,kr,ky=map(F,case['parameters']);G=F(case['gamma']) assert 0<=b<=F(1,4) and min(sigma,kg,km,kr,ky)>=0 assert case['name'] in vectors and case['branch'] in ['y','z'] branch=case['branch'];HR=ns['hy'] if branch=='y' else ns['hz'] sign=sub(z,y) if branch=='y' else sub(y,z) H=add((1-b,ns['h0']),(b,HR),(-sigma,ns['n']),(-kg,sym(ell,vectors[case['name']])),(-km,sym(ell,sub(m,rr))),(-kr,sym(ell,sub(rr,scale(F(4,5),m)))),(-ky,sym(ell,sign))) ldlt(add((1,H),(-(1-2*G),outer(ell,ell)))) print('PASS exclusion',case['name'],G,float(G))